adium 2092:348494de6c9d: Now that I've cleaned up, I can do what...

commits at adium.im commits at adium.im
Tue May 5 08:33:23 UTC 2009


details:	http://hg.adium.im/adium/rev/348494de6c9d
revision:	2092:348494de6c9d
author:		David Smith <catfish.man at gmail.com>
date:		Tue May 05 01:33:18 2009 -0700

Now that I've cleaned up, I can do what I really came here to do, which is make the delegate informal protocol into a formal protocol with @optional methods. Also fix a typo.

diffstat:

 Plugins/Purple Service/AMPurpleJabberNode.h                              |  7 ++++---
 Plugins/Purple Service/AMPurpleJabberNode.m                              |  6 +++---
 Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowserController.h |  7 ++++---
 3 files changed, 11 insertions(+), 9 deletions(-)

diffs (62 lines):

diff -r 5f4ba548d0f6 -r 348494de6c9d Plugins/Purple Service/AMPurpleJabberNode.h
--- a/Plugins/Purple Service/AMPurpleJabberNode.h	Tue May 05 01:27:08 2009 -0700
+++ b/Plugins/Purple Service/AMPurpleJabberNode.h	Tue May 05 01:33:18 2009 -0700
@@ -9,7 +9,8 @@
 
 @class AMPurpleJabberNode;
 
- at interface NSObject (AMPurpleJabberNodeDelegate)
+ at protocol AMPurpleJabberNodeDelegate <NSObject>
+ at optional
 - (void)jabberNodeGotItems:(AMPurpleJabberNode *)node;
 - (void)jabberNodeGotInfo:(AMPurpleJabberNode *)node;
 @end
@@ -43,8 +44,8 @@
 @property (readonly, retain, nonatomic) NSArray *identities;
 @property (readonly, nonatomic) NSArray *commands;
 
-- (void)addDelegate:(id)delegate;
-- (void)removeDelegate:(id)delegate;
+- (void)addDelegate:(id<AMPurpleJabberNodeDelegate>)delegate;
+- (void)removeDelegate:(id<AMPurpleJabberNodeDelegate>)delegate;
 
 @end
 
diff -r 5f4ba548d0f6 -r 348494de6c9d Plugins/Purple Service/AMPurpleJabberNode.m
--- a/Plugins/Purple Service/AMPurpleJabberNode.m	Tue May 05 01:27:08 2009 -0700
+++ b/Plugins/Purple Service/AMPurpleJabberNode.m	Tue May 05 01:33:18 2009 -0700
@@ -289,12 +289,12 @@
 
 @synthesize commandsNode = commands, itemsArray = items, identities, features, node, jid, name, gc, delegates;
 
-- (void)addDelegate:(id)delegate {
+- (void)addDelegate:(id<AMPurpleJabberNodeDelegate>)delegate {
 	[delegates addObject:delegate];
 }
 
-- (void)removeDelegate:(id)delegate {
-	[delegate removeObjectIdenticalTo:delegate];
+- (void)removeDelegate:(id<AMPurpleJabberNodeDelegate>)delegate {
+	[delegates removeObjectIdenticalTo:delegate];
 }
 
 @end
diff -r 5f4ba548d0f6 -r 348494de6c9d Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowserController.h
--- a/Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowserController.h	Tue May 05 01:27:08 2009 -0700
+++ b/Plugins/Purple Service/AMPurpleJabberServiceDiscoveryBrowserController.h	Tue May 05 01:33:18 2009 -0700
@@ -6,11 +6,12 @@
 //
 
 #import <Adium/AIWindowController.h>
-#include <libpurple/libpurple.h>
+#import <libpurple/libpurple.h>
+#import "AMPurpleJabberNode.h"
 
- at class AIAccount, AMPurpleJabberNode;
+ at class AIAccount;
 
- at interface AMPurpleJabberServiceDiscoveryBrowserController : AIWindowController
+ at interface AMPurpleJabberServiceDiscoveryBrowserController : AIWindowController <AMPurpleJabberNodeDelegate>
 {
 	AIAccount *account;
     PurpleConnection *gc;




More information about the commits mailing list