home *** CD-ROM | disk | FTP | other *** search
/ OpenStep (Enterprise) / OpenStepENTCD.toast / OEDEV / DEV.Z / nxorb.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-08  |  1.3 KB  |  64 lines

  1.  
  2.  
  3. #import <foundation/NSObject.h>
  4. #import <foundation/NSValue.h>
  5. #import <foundation/NSString.h>
  6. #import <remote/NXProxy.h>
  7.  
  8. #ifdef WIN32
  9. #import <foundation/NSDistantObject.h>
  10. #endif
  11.  
  12. #define NSVal(x) ({ typeof(x) __y = x; \
  13.     [NSValue value:(void*)&__y withObjCType:@encode(typeof(x))]; })
  14.  
  15. @protocol OLEObject <NXReference>
  16. - retain;
  17. - (void)release;
  18. - setProtocolForProxy:(Protocol*)proto;
  19. - (void)setOLEPropertyNamed:(NSString*)name to:(NSValue*)val;
  20. - (NSValue*)getOLEPropertyNamed:(NSString*)name ;
  21. @end
  22.  
  23. @protocol NEXTORB <NXReference>
  24. - retain;
  25. - (void)release;
  26. - (id)objectWithRegisteredName:(NSString*)name 
  27.                      protocol:(NSString*)proto 
  28.                          host:(NSString*)host;
  29. - setProtocolForProxy:(Protocol*)proto;
  30. @end
  31.  
  32. @protocol OLEEnumerator <OLEObject>
  33. - (NSValue*)nextValue;
  34. - (id <OLEObject>)nextObject;
  35. @end
  36.  
  37. @protocol OLECollection <OLEObject>
  38. - (id <OLEEnumerator>)objectEnumerator;
  39. @end
  40.  
  41. // 
  42. // "value" returns NSValue with char*
  43. //
  44. @interface NSString (OLEValueProperty)
  45. - (NSValue*) getOLEPropertyNamed:(NSString*)name;@end
  46.  
  47. //
  48. // "value" return self
  49. //
  50. @interface NSValue (OLEValueProperty)- (NSValue*) getOLEPropertyNamed:(NSString*)name;
  51. @end
  52.  
  53.  
  54. #ifdef WIN32
  55. //
  56. // We need a special OLE object proxy to boost performance
  57. // with Distributed OLE.
  58. //
  59. @interface NSDistantIDispatchProxy : NSDistantObject
  60. { BOOL hasProtocol; }
  61. @end
  62. #endif
  63.  
  64.