adium 2094:cf0d5eb5ea7f: Protocol-ize another delegate. Sadly, t...

commits at adium.im commits at adium.im
Tue May 5 08:45:58 UTC 2009


details:	http://hg.adium.im/adium/rev/cf0d5eb5ea7f
revision:	2094:cf0d5eb5ea7f
author:		David Smith <catfish.man at gmail.com>
date:		Tue May 05 01:45:54 2009 -0700

Protocol-ize another delegate. Sadly, this results in a cast in the one place it's used, since it passes a Class as the delegate. Still safer for future users though

diffstat:

 Plugins/Purple Service/AMPurpleJabberAdHocServer.h |  6 ++++--
 Plugins/Purple Service/AMPurpleJabberAdHocServer.m |  2 +-
 Plugins/Purple Service/ESPurpleJabberAccount.m     |  2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

diffs (51 lines):

diff -r d470a05e220b -r cf0d5eb5ea7f Plugins/Purple Service/AMPurpleJabberAdHocServer.h
--- a/Plugins/Purple Service/AMPurpleJabberAdHocServer.h	Tue May 05 01:40:16 2009 -0700
+++ b/Plugins/Purple Service/AMPurpleJabberAdHocServer.h	Tue May 05 01:45:54 2009 -0700
@@ -1,6 +1,7 @@
 #import "ESPurpleJabberAccount.h"
 
 @class AMPurpleJabberAdHocCommand;
+ at protocol AMPurpleJabberAdHocServerDelegate;
 
 @interface AMPurpleJabberAdHocServer : NSObject {
 	ESPurpleJabberAccount *account;
@@ -8,12 +9,13 @@
 }
 
 - (id)initWithAccount:(ESPurpleJabberAccount *)_account;
-- (void)addCommand:(NSString *)node delegate:(id)delegate name:(NSString *)name;
+- (void)addCommand:(NSString *)node delegate:(id<AMPurpleJabberAdHocServerDelegate>)delegate name:(NSString *)name;
 - (ESPurpleJabberAccount *)account;
 
 @end
 
- at interface NSObject (AMPurpleJabberAdHocServerDelegate)
+ at protocol AMPurpleJabberAdHocServerDelegate <NSObject>
+ at optional
 - (void)adHocServer:(AMPurpleJabberAdHocServer *)server executeCommand:(AMPurpleJabberAdHocCommand *)command;
 @end
 
diff -r d470a05e220b -r cf0d5eb5ea7f Plugins/Purple Service/AMPurpleJabberAdHocServer.m
--- a/Plugins/Purple Service/AMPurpleJabberAdHocServer.m	Tue May 05 01:40:16 2009 -0700
+++ b/Plugins/Purple Service/AMPurpleJabberAdHocServer.m	Tue May 05 01:45:54 2009 -0700
@@ -95,7 +95,7 @@
 	[super dealloc];
 }
 
-- (void)addCommand:(NSString*)node delegate:(id)delegate name:(NSString*)name {
+- (void)addCommand:(NSString*)node delegate:(id<AMPurpleJabberAdHocServerDelegate>)delegate name:(NSString*)name {
 	[commands setObject:[NSDictionary dictionaryWithObjectsAndKeys:
 				[NSValue valueWithNonretainedObject:delegate],@"delegate",
 				name, @"name",
diff -r d470a05e220b -r cf0d5eb5ea7f Plugins/Purple Service/ESPurpleJabberAccount.m
--- a/Plugins/Purple Service/ESPurpleJabberAccount.m	Tue May 05 01:40:16 2009 -0700
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.m	Tue May 05 01:45:54 2009 -0700
@@ -744,7 +744,7 @@
 
 	[adhocServer release];
 	adhocServer = [[AMPurpleJabberAdHocServer alloc] initWithAccount:self];
-	[adhocServer addCommand:@"ping" delegate:[AMPurpleJabberAdHocPing class] name:@"Ping"];
+	[adhocServer addCommand:@"ping" delegate:(id<AMPurpleJabberAdHocServerDelegate>)[AMPurpleJabberAdHocPing class] name:@"Ping"];
 	
     [super didConnect];
 	




More information about the commits mailing list