Revision: 28597
          http://sourceforge.net/p/bibdesk/svn/28597
Author:   hofman
Date:     2024-01-11 18:43:48 +0000 (Thu, 11 Jan 2024)
Log Message:
-----------
declare protocol for soap binding element classes

Modified Paths:
--------------
    trunk/bibdesk/BDSKSoapBinding.h
    trunk/bibdesk/BDSKSoapBinding.m

Modified: trunk/bibdesk/BDSKSoapBinding.h
===================================================================
--- trunk/bibdesk/BDSKSoapBinding.h     2024-01-11 18:30:08 UTC (rev 28596)
+++ trunk/bibdesk/BDSKSoapBinding.h     2024-01-11 18:43:48 UTC (rev 28597)
@@ -58,11 +58,14 @@
 - (void)cancel;
 @end
 
-@interface BDSKSoapBindingElement : NSObject {
+@protocol BDSKSoapBindingElement <NSObject>
+- (NSXMLElement *)XMLNodeWithName:(NSString *)elName prefix:(NSString 
*)elNSPrefix;
++ (instancetype)deserializeNode:(NSXMLElement *)node;
+@end
+
+@interface BDSKSoapBindingElement : NSObject <BDSKSoapBindingElement> {
 }
-- (NSXMLElement *)XMLNodeWithName:(NSString *)elName prefix:(NSString 
*)elNSPrefix;
 - (void)addElementsToNode:(NSXMLElement *)node;
-+ (id)deserializeNode:(NSXMLElement *)node;
 - (void)deserializeChildNode:(NSXMLElement *)node;
 @end
 
@@ -76,12 +79,8 @@
 @property (nonatomic, strong) NSString *faultactor;
 @end
 
-@interface NSString (BDSKSoapBindingElement)
-- (NSXMLElement *)XMLNodeWithName:(NSString *)elName prefix:(NSString 
*)elNSPrefix;
-+ (NSString *)deserializeNode:(NSXMLElement *)node;
+@interface NSString (BDSKSoapBindingElement) <BDSKSoapBindingElement>
 @end
 
-@interface NSNumber (BDSKSoapBindingElement)
-- (NSXMLElement *)XMLNodeWithName:(NSString *)elName prefix:(NSString 
*)elNSPrefix;
-+ (NSNumber *)deserializeNode:(NSXMLElement *)node;
+@interface NSNumber (BDSKSoapBindingElement) <BDSKSoapBindingElement>
 @end

Modified: trunk/bibdesk/BDSKSoapBinding.m
===================================================================
--- trunk/bibdesk/BDSKSoapBinding.m     2024-01-11 18:30:08 UTC (rev 28596)
+++ trunk/bibdesk/BDSKSoapBinding.m     2024-01-11 18:43:48 UTC (rev 28597)
@@ -78,7 +78,7 @@
                [root addChild:headerNode];
                
                for(NSString *key in [headerElements allKeys]) {
-                       id header = [headerElements objectForKey:key];
+                       id<BDSKSoapBindingElement> header = [headerElements 
objectForKey:key];
                        [headerNode addChild:[header XMLNodeWithName:key 
prefix:[ns name]]];
                }
        }
@@ -88,7 +88,7 @@
                [root addChild:bodyNode];
                
                for(NSString *key in [bodyElements allKeys]) {
-                       id body = [bodyElements objectForKey:key];
+                       id<BDSKSoapBindingElement> body = [bodyElements 
objectForKey:key];
                        [bodyNode addChild:[body XMLNodeWithName:key prefix:[ns 
name]]];
                }
        }
@@ -287,7 +287,7 @@
                                                
                                                for(NSXMLElement *bodyNode in 
[node children]) {
                                                        if([bodyNode kind] == 
NSXMLElementKind) {
-                                                               Class 
responseClass = [self.responseClasses objectForKey:[bodyNode localName]];
+                                                               
Class<BDSKSoapBindingElement> responseClass = [self.responseClasses 
objectForKey:[bodyNode localName]];
                                                                
if(responseClass != nil) {
                                                                        id 
bodyObject = [responseClass deserializeNode:bodyNode];
                                                                        
//NSAssert1(bodyObject != nil, @"Errors while parsing body %s", [bodyNode 
name]);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to