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