home *** CD-ROM | disk | FTP | other *** search
/ OpenStep (Enterprise) / OpenStepENTCD.toast / OEDEV / DEV.Z / obsoleteListener.h < prev    next >
Text File  |  1996-09-09  |  5KB  |  165 lines

  1. /*
  2.     obsoleteListener.h
  3.     Application Kit
  4.     Copyright (c) 1994-1996, NeXT Software, Inc.
  5.     All rights reserved.
  6. */
  7.  
  8. #import <Foundation/Foundation.h>
  9. #import <mach/port.h>
  10. #import <mach/message.h>
  11. #import <AppKit/NSApplication.h>
  12. #import <AppKit/NSPasteboard.h>
  13. #import <AppKit/AppKitDefines.h>
  14.  
  15. /*
  16.  * Names of workspace ports for requests and for acknowledging machlaunch
  17.  * from the Workspace Manager.
  18.  */
  19.  
  20. APPKIT_EXTERN NSString *NXWorkspaceName;
  21. APPKIT_EXTERN NSString *NXWorkspaceReplyName;
  22.  
  23.  
  24. enum {
  25.     NSSelectorPMessage            = 35555,
  26.     NSSelectorFMessage            = 35556,
  27.     NSResponseMessage            = 35557,
  28.     NSAcknowledge            = 35558
  29. };
  30.  
  31. enum {
  32.     NSIncorrectMessage            = -20000,
  33.     NSMaxRemoteMethodParameters        = 20,
  34.     NSDefaultSendAndReceiveTimeout    = 10000,
  35.     NSMaxMessage            = (2048-sizeof(msg_header_t) - sizeof(msg_type_t)-sizeof(int) - sizeof(msg_type_t)-8)
  36. };
  37.  
  38. typedef struct _NXMessage {    /* a message via mach */
  39.     msg_header_t header;    /* every message has one of these */
  40.     msg_type_t sequenceType;    /* sequence number type */
  41.     int sequence;        /* sequence number */
  42.     msg_type_t actionType;    /* selector string */
  43.     char action[NSMaxMessage];
  44. } NXMessage;
  45.  
  46. typedef struct _NXResponse {    /* a message via mach */
  47.     msg_header_t header;    /* every message has one of these */
  48.     msg_type_t sequenceType;    /* sequence number type */
  49.     int sequence;        /* sequence number */
  50. } NXResponse;
  51.  
  52. typedef struct _NXAcknowledge {    /* a message via mach */
  53.     msg_header_t header;    /* every message has one of these */
  54.     msg_type_t sequenceType;    /* sequence number type */
  55.     int sequence;        /* sequence number */
  56.     msg_type_t errorType;    /* error number type */
  57.     int error;            /* error number, 0 is ok */
  58. } NXAcknowledge;
  59.  
  60. typedef struct _NXRemoteMethod {/* defines method understood by Listener */
  61.     SEL key;            /* obj-c selector */
  62.     char *types;        /* defines types of parameters */
  63. } NXRemoteMethod;
  64.  
  65. typedef union {            /* used to pass parameters to method */
  66.     int ival;
  67.     double dval;
  68.     port_t pval;
  69.     struct _bval {
  70.         char *p;
  71.         int len;
  72.     } bval;
  73. } NXParamValue;
  74.  
  75. APPKIT_EXTERN char *NXCopyInputData(int parameter);
  76. APPKIT_EXTERN char *NXCopyOutputData(int parameter);
  77. APPKIT_EXTERN port_t NXPortFromName(NSString * portName, NSString * hostName);
  78. APPKIT_EXTERN port_t NXPortNameLookup(NSString * portName, NSString * hostName);
  79. APPKIT_EXTERN NXRemoteMethod *NXRemoteMethodFromSel(SEL s, NXRemoteMethod *pt);
  80. APPKIT_EXTERN id NXResponsibleDelegate(id self, SEL selector);
  81.  
  82. /*
  83.  * permissible values of posType for setPosition:posType:andSelect:
  84.  * and postion:posType:
  85.  */
  86.  
  87. typedef enum _NSMsgPositionType {
  88.     NSMsgTextPosition            = 0,
  89.     NSMsgRegularExpressionPosition    = 1,
  90.     NSMsgLineNumberPosition        = 2,
  91.     NSMsgCharacterNumberPosition    = 3,
  92.     NSMsgApplicationPosition        = 4
  93. } NSMsgPositionType;
  94.  
  95.  
  96. /* Old 3.X thresholds to be passed to setPriority: */
  97. enum {
  98.     NSBaseThreshhold            = 1,
  99.     NSRunModalThreshold            = 5,
  100.     NSModalResponseThreshold        = 10
  101. };
  102.  
  103.  
  104. @interface Listener : NSObject <NSCoding>
  105. {
  106.     NSString *portName;
  107.     port_t              _listenPort;
  108.     port_t              _signaturePort;
  109.     id                  _delegate;
  110.     int                 _timeout;
  111.     int                 _priority;
  112.     id                  _delegate2;
  113.     id                  _requestDelegate;
  114.     NSPort             *_listenPortObj;
  115. }
  116.  
  117. + run;
  118.  
  119. - (int)timeout;
  120. - (void)setTimeout:(int)ms;
  121. - (int)priority;
  122. - (void)setPriority:(int)level;
  123. - (port_t)listenPort;
  124. - (port_t)signaturePort;
  125. - (id)delegate;
  126. - (void)setDelegate:(id)anObject;
  127. - (void)setServicesDelegate:(id)anObject;
  128. - (id)servicesDelegate;
  129. - (NSString *)portName;
  130. - (int)checkInAs:(NSString *)name;
  131. - (int)usePrivatePort;
  132. - (int)checkOut;
  133. - (void)addPort;
  134. - (void)removePort;
  135. - (NXRemoteMethod *)remoteMethodFor:(SEL)aSelector;
  136. - (void)messageReceived:(NXMessage *)msg;
  137.  
  138.  
  139. - (int)msgQuit:(int *)flag;
  140. - (int)msgCalc:(int *)flag;
  141. - (int)msgDirectory:(char * const *)fullPath ok:(int *)flag;
  142. - (int)msgVersion:(char * const *)aString ok:(int *)flag;
  143. - (int)msgFile:(char * const *)fullPath ok:(int *)flag;
  144. - (int)msgPrint:(const char *)fullPath ok:(int *)flag;
  145. - (int)msgSelection:(char * const *)bytes length:(int *)len asType:(const char *)aType ok:(int *)flag;
  146. - (int)msgSetPosition:(const char *)aString posType:(NSMsgPositionType)aPosition andSelect:(int)sflag ok:(int *)flag;
  147. - (int)msgPosition:(char * const *)aString posType:(int *)anInt ok:(int *)flag;
  148. - (int)msgCopyAsType:(const char *)aType ok:(int *)flag;
  149. - (int)msgCutAsType:(const char *)aType ok:(int *)flag;
  150. - (int)msgPaste:(int *)flag;
  151. - (int)performRemoteMethod:(NXRemoteMethod *)method paramList:(NXParamValue *)params;
  152.  
  153. @end
  154.  
  155. @class Speaker;
  156.  
  157. @interface NSApplication(NSSpeakerListener)
  158. - (port_t)replyPort;
  159. - (void)setAppListener:(Listener *)aListener;
  160. - (Listener *)appListener;
  161. - (void)setAppSpeaker:(Speaker *)aSpeaker;
  162. - (Speaker *)appSpeaker;
  163. - (NSString *)appListenerPortName;
  164. @end
  165.