home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / sinkev.h < prev    next >
C/C++ Source or Header  |  1999-02-22  |  8KB  |  219 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: sinkev.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somu
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMESinkEvent_h
  26. #define SOM_SOMESinkEvent_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMESinkEvent
  42. #define SOMESinkEvent SOMObject
  43. #endif
  44. /*
  45.  *  SOMESinkEvent is the class for generic sink events within the Event Manager.
  46.  *  This class should be queried for events of the following type(s):
  47.  *       EMSinkEvent (for files, pipes, and sockets)
  48.  *       EMMsgQEvent (for AIX message queues)
  49.  * 
  50.  *  On AIX, an instance of this class is created, initialized and passed to the
  51.  *  callback routine  for events (input/output/exception) associated with files,
  52.  *  sockets, pipes and Message Queues. On OS/2, the same is done for sockets only.
  53.  */
  54. #include <event.h>
  55.  
  56. /*
  57.  * Start of bindings for IDL types
  58.  */
  59.  
  60. #ifndef SOMClass
  61.     #define SOMClass SOMObject
  62. #endif /* SOMClass */
  63.  
  64. /*
  65.  * End of bindings for IDL types.
  66.  */
  67.  
  68. #define SOMESinkEvent_MajorVersion 2
  69. #define SOMESinkEvent_MinorVersion 1
  70.  
  71. /*
  72.  * External name shortening if required
  73.  */
  74. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  75. #define SOMESinkEventNewClass c
  76. #pragma linkage(c, system)
  77. #define SOMESinkEventClassData d
  78. #define SOMESinkEventCClassData x
  79. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  80. /*--------------Migration------------*/
  81. #define SOMESinkEvent_classObj SOMESinkEventClassData.classObject
  82. #define _SOMESinkEvent SOMESinkEvent_classObj
  83.  
  84. /*
  85.  * Declare the class creation procedure
  86.  */
  87. SOMEXTERN SOMClass * SOMLINK SOMESinkEventNewClass(integer4 somtmajorVersion,
  88.         integer4 somtminorVersion);
  89. #pragma linkage(SOMESinkEventNewClass, system)
  90.  
  91. /*
  92.  * Declare the class data structure
  93.  */
  94. SOMEXTERN struct SOMESinkEventClassDataStructure {
  95.     SOMClass *classObject;
  96.     somMToken somevGetEventSink;
  97.     somMToken somevSetEventSink;
  98. } SOMDLINK SOMESinkEventClassData;
  99.  
  100. /*
  101.  * Declare the C specific class data structure
  102.  */
  103. SOMEXTERN struct SOMESinkEventCClassDataStructure {
  104.     somMethodTabs parentMtab;
  105.     somDToken instanceDataToken;
  106. } SOMDLINK SOMESinkEventCClassData;
  107.  
  108. /*
  109.  * New and Renew macros for SOMESinkEvent
  110.  */
  111. #define SOMESinkEventNew() \
  112.    ( _SOMESinkEvent ? \
  113.     _somNew(_SOMESinkEvent) \
  114.     : ( SOMESinkEventNewClass(\
  115.         SOMESinkEvent_MajorVersion, \
  116.         SOMESinkEvent_MinorVersion),\
  117.        _somNew(_SOMESinkEvent)))
  118. #define SOMESinkEventRenew(buf) \
  119.    ( _SOMESinkEvent ? \
  120.     _somRenew(_SOMESinkEvent, buf) \
  121.     : ( SOMESinkEventNewClass(\
  122.         SOMESinkEvent_MajorVersion, \
  123.         SOMESinkEvent_MinorVersion),\
  124.        _somRenew(_SOMESinkEvent, buf)))
  125.  
  126. /*
  127.  * Override method: somInit
  128.  */
  129. #define SOMESinkEvent_somInit(somSelf) \
  130.     SOMObject_somInit(somSelf)
  131.  
  132. /*
  133.  * New Method: somevGetEventSink
  134.  */
  135. typedef long   SOMLINK somTP_SOMESinkEvent_somevGetEventSink(SOMESinkEvent *somSelf, Environment *ev);
  136. #pragma linkage(somTP_SOMESinkEvent_somevGetEventSink, system)
  137. typedef somTP_SOMESinkEvent_somevGetEventSink *somTD_SOMESinkEvent_somevGetEventSink;
  138. /*
  139.  *  Returns the sink, or source of file i/o, of the generic sink event.
  140.  *  For message queues it is the queue id, for files it is the file descriptor,
  141.  *  for sockets it is the socket id and for pipes it is the pipe descriptor.
  142.  */
  143. #define somMD_SOMESinkEvent_somevGetEventSink "::SOMESinkEvent::somevGetEventSink"
  144. #define SOMESinkEvent_somevGetEventSink(somSelf,ev) \
  145.     (SOM_Resolve(somSelf, SOMESinkEvent, somevGetEventSink) \
  146.     (somSelf,ev))
  147. #ifndef SOMGD_somevGetEventSink
  148.     #if (defined(_somevGetEventSink) || defined(__somevGetEventSink))
  149.         #undef _somevGetEventSink
  150.         #undef __somevGetEventSink
  151.         #define SOMGD_somevGetEventSink 1
  152.     #else
  153.         #define _somevGetEventSink SOMESinkEvent_somevGetEventSink
  154.     #endif /* _somevGetEventSink */
  155. #endif /* SOMGD_somevGetEventSink */
  156.  
  157. /*
  158.  * New Method: somevSetEventSink
  159.  */
  160. typedef void   SOMLINK somTP_SOMESinkEvent_somevSetEventSink(SOMESinkEvent *somSelf, Environment *ev, 
  161.         long sink);
  162. #pragma linkage(somTP_SOMESinkEvent_somevSetEventSink, system)
  163. typedef somTP_SOMESinkEvent_somevSetEventSink *somTD_SOMESinkEvent_somevSetEventSink;
  164. /*
  165.  *  Sets the sink, or source of file i/o, of the generic sink event.
  166.  *  For message queues it is the queue id, for files it is the file descriptor,
  167.  *  for sockets it is the socket id and for pipes it is the pipe descriptor.
  168.  */
  169. #define somMD_SOMESinkEvent_somevSetEventSink "::SOMESinkEvent::somevSetEventSink"
  170. #define SOMESinkEvent_somevSetEventSink(somSelf,ev,sink) \
  171.     (SOM_Resolve(somSelf, SOMESinkEvent, somevSetEventSink) \
  172.     (somSelf,ev,sink))
  173. #ifndef SOMGD_somevSetEventSink
  174.     #if (defined(_somevSetEventSink) || defined(__somevSetEventSink))
  175.         #undef _somevSetEventSink
  176.         #undef __somevSetEventSink
  177.         #define SOMGD_somevSetEventSink 1
  178.     #else
  179.         #define _somevSetEventSink SOMESinkEvent_somevSetEventSink
  180.     #endif /* _somevSetEventSink */
  181. #endif /* SOMGD_somevSetEventSink */
  182. #ifndef SOM_DONT_USE_INHERITED_MACROS
  183. #define SOMESinkEvent_somevGetEventTime SOMEEvent_somevGetEventTime
  184. #define SOMESinkEvent_somevGetEventType SOMEEvent_somevGetEventType
  185. #define SOMESinkEvent_somevSetEventTime SOMEEvent_somevSetEventTime
  186. #define SOMESinkEvent_somevSetEventType SOMEEvent_somevSetEventType
  187. #define SOMESinkEvent_somDefaultInit SOMObject_somDefaultInit
  188. #define SOMESinkEvent_somDestruct SOMObject_somDestruct
  189. #define SOMESinkEvent_somDefaultCopyInit SOMObject_somDefaultCopyInit
  190. #define SOMESinkEvent_somDefaultAssign SOMObject_somDefaultAssign
  191. #define SOMESinkEvent_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  192. #define SOMESinkEvent_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  193. #define SOMESinkEvent_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  194. #define SOMESinkEvent_somDefaultConstAssign SOMObject_somDefaultConstAssign
  195. #define SOMESinkEvent_somDefaultVAssign SOMObject_somDefaultVAssign
  196. #define SOMESinkEvent_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  197. #define SOMESinkEvent_somFree SOMObject_somFree
  198. #define SOMESinkEvent_somUninit SOMObject_somUninit
  199. #define SOMESinkEvent_somGetClass SOMObject_somGetClass
  200. #define SOMESinkEvent_somGetClassName SOMObject_somGetClassName
  201. #define SOMESinkEvent_somGetSize SOMObject_somGetSize
  202. #define SOMESinkEvent_somIsA SOMObject_somIsA
  203. #define SOMESinkEvent_somIsInstanceOf SOMObject_somIsInstanceOf
  204. #define SOMESinkEvent_somRespondsTo SOMObject_somRespondsTo
  205. #define SOMESinkEvent_somDispatch SOMObject_somDispatch
  206. #define SOMESinkEvent_somClassDispatch SOMObject_somClassDispatch
  207. #define SOMESinkEvent_somCastObj SOMObject_somCastObj
  208. #define SOMESinkEvent_somResetObj SOMObject_somResetObj
  209. #define SOMESinkEvent_somDispatchV SOMObject_somDispatchV
  210. #define SOMESinkEvent_somDispatchL SOMObject_somDispatchL
  211. #define SOMESinkEvent_somDispatchA SOMObject_somDispatchA
  212. #define SOMESinkEvent_somDispatchD SOMObject_somDispatchD
  213. #define SOMESinkEvent_somPrintSelf SOMObject_somPrintSelf
  214. #define SOMESinkEvent_somDumpSelf SOMObject_somDumpSelf
  215. #define SOMESinkEvent_somDumpSelfInt SOMObject_somDumpSelfInt
  216. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  217.  
  218. #endif       /* SOM_SOMESinkEvent_h */
  219.