ObjXMPP  Diff

Differences From Artifact [2b6add7aa0]:

To Artifact [00c028907e]:


22
23
24
25
26
27
28

29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

#ifdef HAVE_CONFIG_H
# include "config.h"
#endif

#import "XMPPCallback.h"


#ifdef OF_HAVE_BLOCKS
@implementation XMPPBlockCallback
+ callbackWithCallbackBlock: (xmpp_callback_block)callback_
{
	return [[[self alloc] initWithCallbackBlock: callback_] autorelease];
}

- initWithCallbackBlock: (xmpp_callback_block)callback_
{
	self = [super init];

	callback = [callback_ copy];

	return self;
}

- (void)dealloc
{
	[callback release];

	[super dealloc];
}

- (void)runWithIQ: (XMPPIQ*)iq
{
	callback(iq);
}
@end
#endif

@implementation XMPPObjectCallback
+ callbackWithCallbackObject: (id)object_
		    selector: (SEL)selector_
{
	return [[[self alloc] initWithCallbackObject: object_
					    selector: selector_] autorelease];
}








>

<
|

|


|



|



<
<
<
<
<
<
<
<
<
<
<
<
<


<







22
23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
38
39
40
41
42
43













44
45

46
47
48
49
50
51
52

#ifdef HAVE_CONFIG_H
# include "config.h"
#endif

#import "XMPPCallback.h"

@implementation XMPPCallback
#ifdef OF_HAVE_BLOCKS

+ callbackWithCallbackBlock: (xmpp_callback_block)callback
{
	return [[[self alloc] initWithCallbackBlock: callback] autorelease];
}

- initWithCallbackBlock: (xmpp_callback_block)callback
{
	self = [super init];

	object = [callback copy];

	return self;
}













#endif


+ callbackWithCallbackObject: (id)object_
		    selector: (SEL)selector_
{
	return [[[self alloc] initWithCallbackObject: object_
					    selector: selector_] autorelease];
}

81
82
83
84
85
86
87





88
89
90
91
	[object release];

	[super dealloc];
}

- (void)runWithIQ: (XMPPIQ*)iq
{





	[object performSelector: selector
		     withObject: iq];
}
@end







>
>
>
>
>
|
|


67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
	[object release];

	[super dealloc];
}

- (void)runWithIQ: (XMPPIQ*)iq
{
#ifdef OF_HAVE_BLOCKS
	if ([object isKindOfClass: [OFBlock class]])
		((xmpp_callback_block)object)(iq);
	else
#endif
		[object performSelector: selector
			     withObject: iq];
}
@end