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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somdom.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    IDL interface spec for DSOM Distributed Object Manager.
  12.  * 
  13.  * 
  14.  *    This is a subclass of the abstract ObjectMgr class.
  15.  *    All ObjectMgr methods are implemented with DSOM calls.
  16.  */
  17.  
  18.  
  19. #ifndef SOM_SOMDObjectMgr_h
  20. #define SOM_SOMDObjectMgr_h
  21.  
  22.  
  23. #include <som.h>
  24.  
  25. /*
  26.  * -- This emitter treats Method Tokens as Thunks by default.
  27.  * -- Use the sc modifier "nothunks" to change this default
  28.  */
  29. #undef somresolve_
  30. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  31.  
  32. /*
  33.  * Define the class name as an object type
  34.  */
  35. #ifndef SOMDObjectMgr
  36. #define SOMDObjectMgr SOMObject
  37. #endif
  38. /*
  39.  *  In addition to the basic ObjectMgr interface, the DSOM ObjectMgr
  40.  *  defines the following methods to find remote server objects:
  41.  */
  42. #include <om.h>
  43.  
  44. /*
  45.  * Start of bindings for IDL types
  46.  */
  47.  
  48. #ifndef SOMClass
  49.     #define SOMClass SOMObject
  50. #endif /* SOMClass */
  51. #ifndef Container
  52.     #define Container SOMObject
  53. #endif /* Container */
  54. #ifndef SOMDServer
  55.     #define SOMDServer SOMObject
  56. #endif /* SOMDServer */
  57. #ifndef _IDL_SEQUENCE_SOMDServer_defined
  58. #define _IDL_SEQUENCE_SOMDServer_defined
  59. typedef struct {
  60.     unsigned long _maximum;
  61.     unsigned long _length;
  62.     SOMDServer **_buffer;
  63. } _IDL_SEQUENCE_SOMDServer;
  64. #endif /* _IDL_SEQUENCE_SOMDServer_defined */ 
  65.  
  66. #ifndef SOM_DONT_USE_SHORT_NAMES
  67. #endif /* SOM_DONT_USE_SHORT_NAMES */
  68.  
  69. /*
  70.  * End of bindings for IDL types.
  71.  */
  72.  
  73. /*
  74.  * Passthru lines: File: "C.h", "after"
  75.  */
  76.  
  77. #ifdef SOM_STRICT_IDL
  78. SOMEXTERN SOMDObjectMgr   SOMDLINK SOMD_ObjectMgr;
  79. #else
  80. SOMEXTERN SOMDObjectMgr *  SOMDLINK SOMD_ObjectMgr;
  81. #endif /* SOM_STRICT_IDL */
  82.  
  83. #include <somdserv.h>
  84.  
  85.  
  86. #define SOMDObjectMgr_MajorVersion 2
  87. #define SOMDObjectMgr_MinorVersion 1
  88.  
  89. /*
  90.  * External name shortening if required
  91.  */
  92. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  93. #define SOMDObjectMgrNewClass c
  94. #pragma linkage(c, system)
  95. #define SOMDObjectMgrClassData d
  96. #define SOMDObjectMgrCClassData x
  97. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  98. /*--------------Migration------------*/
  99. #define SOMDObjectMgr_classObj SOMDObjectMgrClassData.classObject
  100. #define _SOMDObjectMgr SOMDObjectMgr_classObj
  101.  
  102. /*
  103.  * Declare the class creation procedure
  104.  */
  105. SOMEXTERN SOMClass * SOMLINK SOMDObjectMgrNewClass(integer4 somtmajorVersion,
  106.         integer4 somtminorVersion);
  107. #pragma linkage(SOMDObjectMgrNewClass, system)
  108.  
  109. /*
  110.  * Declare the class data structure
  111.  */
  112. SOMEXTERN struct SOMDObjectMgrClassDataStructure {
  113.     SOMClass *classObject;
  114.     somMToken somdFindServer;
  115.     somMToken somdFindServerByName;
  116.     somMToken somdFindServersByClass;
  117.     somMToken somdFindAnyServerByClass;
  118.     somMToken _get_somd21somFree;
  119.     somMToken _set_somd21somFree;
  120. } SOMDLINK SOMDObjectMgrClassData;
  121.  
  122. /*
  123.  * Declare the C specific class data structure
  124.  */
  125. SOMEXTERN struct SOMDObjectMgrCClassDataStructure {
  126.     somMethodTabs parentMtab;
  127.     somDToken instanceDataToken;
  128. } SOMDLINK SOMDObjectMgrCClassData;
  129.  
  130. /*
  131.  * New and Renew macros for SOMDObjectMgr
  132.  */
  133. #define SOMDObjectMgrNew() \
  134.    ( _SOMDObjectMgr ? \
  135.     _somNew(_SOMDObjectMgr) \
  136.     : ( SOMDObjectMgrNewClass(\
  137.         SOMDObjectMgr_MajorVersion, \
  138.         SOMDObjectMgr_MinorVersion),\
  139.        _somNew(_SOMDObjectMgr)))
  140. #define SOMDObjectMgrRenew(buf) \
  141.    ( _SOMDObjectMgr ? \
  142.     _somRenew(_SOMDObjectMgr, buf) \
  143.     : ( SOMDObjectMgrNewClass(\
  144.         SOMDObjectMgr_MajorVersion, \
  145.         SOMDObjectMgr_MinorVersion),\
  146.        _somRenew(_SOMDObjectMgr, buf)))
  147.  
  148. /*
  149.  * Override method: somInit
  150.  */
  151. #define SOMDObjectMgr_somInit(somSelf) \
  152.     SOMObject_somInit(somSelf)
  153.  
  154. /*
  155.  * Override method: somdNewObject
  156.  */
  157. #define SOMDObjectMgr_somdNewObject(somSelf,ev,objclass,hints) \
  158.     ObjectMgr_somdNewObject(somSelf,ev,objclass,hints)
  159.  
  160. /*
  161.  * Override method: somdGetIdFromObject
  162.  */
  163. #define SOMDObjectMgr_somdGetIdFromObject(somSelf,ev,obj) \
  164.     ObjectMgr_somdGetIdFromObject(somSelf,ev,obj)
  165.  
  166. /*
  167.  * Override method: somdGetObjectFromId
  168.  */
  169. #define SOMDObjectMgr_somdGetObjectFromId(somSelf,ev,id) \
  170.     ObjectMgr_somdGetObjectFromId(somSelf,ev,id)
  171.  
  172. /*
  173.  * Override method: somdReleaseObject
  174.  */
  175. #define SOMDObjectMgr_somdReleaseObject(somSelf,ev,obj) \
  176.     ObjectMgr_somdReleaseObject(somSelf,ev,obj)
  177.  
  178. /*
  179.  * Override method: somdDestroyObject
  180.  */
  181. #define SOMDObjectMgr_somdDestroyObject(somSelf,ev,obj) \
  182.     ObjectMgr_somdDestroyObject(somSelf,ev,obj)
  183.  
  184. /*
  185.  * New Method: somdFindServer
  186.  */
  187. typedef SOMDServer*   SOMLINK somTP_SOMDObjectMgr_somdFindServer(SOMDObjectMgr *somSelf, Environment *ev, 
  188.         ImplId serverid);
  189. #pragma linkage(somTP_SOMDObjectMgr_somdFindServer, system)
  190. typedef somTP_SOMDObjectMgr_somdFindServer *somTD_SOMDObjectMgr_somdFindServer;
  191. /*
  192.  *  Finds and returns a proxy to the Server object which is identified by the
  193.  *  ImplId.  (ImplId is defined at server registration time, and can be
  194.  *  obtained from the ImplDef.)
  195.  * 
  196.  *  OWNERSHIP of returned SOMDServer object is transferred to the caller.
  197.  */
  198. #define somMD_SOMDObjectMgr_somdFindServer "::SOMDObjectMgr::somdFindServer"
  199. #define SOMDObjectMgr_somdFindServer(somSelf,ev,serverid) \
  200.     (SOM_Resolve(somSelf, SOMDObjectMgr, somdFindServer) \
  201.     (somSelf,ev,serverid))
  202. #ifndef SOMGD_somdFindServer
  203.     #if (defined(_somdFindServer) || defined(__somdFindServer))
  204.         #undef _somdFindServer
  205.         #undef __somdFindServer
  206.         #define SOMGD_somdFindServer 1
  207.     #else
  208.         #define _somdFindServer SOMDObjectMgr_somdFindServer
  209.     #endif /* _somdFindServer */
  210. #endif /* SOMGD_somdFindServer */
  211.  
  212. /*
  213.  * New Method: somdFindServerByName
  214.  */
  215. typedef SOMDServer*   SOMLINK somTP_SOMDObjectMgr_somdFindServerByName(SOMDObjectMgr *somSelf, Environment *ev, 
  216.         string servername);
  217. #pragma linkage(somTP_SOMDObjectMgr_somdFindServerByName, system)
  218. typedef somTP_SOMDObjectMgr_somdFindServerByName *somTD_SOMDObjectMgr_somdFindServerByName;
  219. /*
  220.  *  Finds and returns a proxy to the Server object with the specified name.
  221.  *  (The name is defined at server registration time, and can be obtained
  222.  *  from the ImplDef.)
  223.  * 
  224.  *  OWNERSHIP of returned SOMDServer object is transferred to the caller.
  225.  */
  226. #define somMD_SOMDObjectMgr_somdFindServerByName "::SOMDObjectMgr::somdFindServerByName"
  227. #define SOMDObjectMgr_somdFindServerByName(somSelf,ev,servername) \
  228.     (SOM_Resolve(somSelf, SOMDObjectMgr, somdFindServerByName) \
  229.     (somSelf,ev,servername))
  230. #ifndef SOMGD_somdFindServerByName
  231.     #if (defined(_somdFindServerByName) || defined(__somdFindServerByName))
  232.         #undef _somdFindServerByName
  233.         #undef __somdFindServerByName
  234.         #define SOMGD_somdFindServerByName 1
  235.     #else
  236.         #define _somdFindServerByName SOMDObjectMgr_somdFindServerByName
  237.     #endif /* _somdFindServerByName */
  238. #endif /* SOMGD_somdFindServerByName */
  239.  
  240. /*
  241.  * New Method: somdFindServersByClass
  242.  */
  243. typedef _IDL_SEQUENCE_SOMDServer   SOMLINK somTP_SOMDObjectMgr_somdFindServersByClass(SOMDObjectMgr *somSelf, Environment *ev, 
  244.         Identifier objclass);
  245. #pragma linkage(somTP_SOMDObjectMgr_somdFindServersByClass, system)
  246. typedef somTP_SOMDObjectMgr_somdFindServersByClass *somTD_SOMDObjectMgr_somdFindServersByClass;
  247. /*
  248.  *  Finds all Server objects which can create an object of the named class.
  249.  * 
  250.  *  OWNERSHIP of returned SOMDServer objects is transferred to the caller.
  251.  */
  252. #define somMD_SOMDObjectMgr_somdFindServersByClass "::SOMDObjectMgr::somdFindServersByClass"
  253. #define SOMDObjectMgr_somdFindServersByClass(somSelf,ev,objclass) \
  254.     (SOM_Resolve(somSelf, SOMDObjectMgr, somdFindServersByClass) \
  255.     (somSelf,ev,objclass))
  256. #ifndef SOMGD_somdFindServersByClass
  257.     #if (defined(_somdFindServersByClass) || defined(__somdFindServersByClass))
  258.         #undef _somdFindServersByClass
  259.         #undef __somdFindServersByClass
  260.         #define SOMGD_somdFindServersByClass 1
  261.     #else
  262.         #define _somdFindServersByClass SOMDObjectMgr_somdFindServersByClass
  263.     #endif /* _somdFindServersByClass */
  264. #endif /* SOMGD_somdFindServersByClass */
  265.  
  266. /*
  267.  * New Method: somdFindAnyServerByClass
  268.  */
  269. typedef SOMDServer*   SOMLINK somTP_SOMDObjectMgr_somdFindAnyServerByClass(SOMDObjectMgr *somSelf, Environment *ev, 
  270.         Identifier objclass);
  271. #pragma linkage(somTP_SOMDObjectMgr_somdFindAnyServerByClass, system)
  272. typedef somTP_SOMDObjectMgr_somdFindAnyServerByClass *somTD_SOMDObjectMgr_somdFindAnyServerByClass;
  273. /*
  274.  *  Finds (any) Server object which can create an object of the named class.
  275.  *  (This is a specialization of the somdFindServerByClass method.)
  276.  * 
  277.  *  OWNERSHIP of returned SOMDServer object is transferred to the caller.
  278.  */
  279. #define somMD_SOMDObjectMgr_somdFindAnyServerByClass "::SOMDObjectMgr::somdFindAnyServerByClass"
  280. #define SOMDObjectMgr_somdFindAnyServerByClass(somSelf,ev,objclass) \
  281.     (SOM_Resolve(somSelf, SOMDObjectMgr, somdFindAnyServerByClass) \
  282.     (somSelf,ev,objclass))
  283. #ifndef SOMGD_somdFindAnyServerByClass
  284.     #if (defined(_somdFindAnyServerByClass) || defined(__somdFindAnyServerByClass))
  285.         #undef _somdFindAnyServerByClass
  286.         #undef __somdFindAnyServerByClass
  287.         #define SOMGD_somdFindAnyServerByClass 1
  288.     #else
  289.         #define _somdFindAnyServerByClass SOMDObjectMgr_somdFindAnyServerByClass
  290.     #endif /* _somdFindAnyServerByClass */
  291. #endif /* SOMGD_somdFindAnyServerByClass */
  292.  
  293. /*
  294.  * New Method: _get_somd21somFree
  295.  */
  296. typedef boolean   SOMLINK somTP_SOMDObjectMgr__get_somd21somFree(SOMDObjectMgr *somSelf, Environment *ev);
  297. #pragma linkage(somTP_SOMDObjectMgr__get_somd21somFree, system)
  298. typedef somTP_SOMDObjectMgr__get_somd21somFree *somTD_SOMDObjectMgr__get_somd21somFree;
  299. /*
  300.  * Method from the IDL attribute statement:
  301.  * "attribute boolean somd21somFree"
  302.  */
  303. #define somMD_SOMDObjectMgr__get_somd21somFree "::SOMDObjectMgr::_get_somd21somFree"
  304. #define SOMDObjectMgr__get_somd21somFree(somSelf,ev) \
  305.     (SOM_Resolve(somSelf, SOMDObjectMgr, _get_somd21somFree) \
  306.     (somSelf,ev))
  307. #ifndef SOMGD_get_somd21somFree
  308.     #if (defined(_get_somd21somFree) || defined(__get_somd21somFree))
  309.         #undef _get_somd21somFree
  310.         #undef __get_somd21somFree
  311.         #define SOMGD_get_somd21somFree 1
  312.     #else
  313.         #define __get_somd21somFree SOMDObjectMgr__get_somd21somFree
  314.     #endif /* __get_somd21somFree */
  315. #endif /* SOMGD_get_somd21somFree */
  316.  
  317. /*
  318.  * New Method: _set_somd21somFree
  319.  */
  320. typedef void   SOMLINK somTP_SOMDObjectMgr__set_somd21somFree(SOMDObjectMgr *somSelf, Environment *ev, 
  321.         boolean somd21somFree);
  322. #pragma linkage(somTP_SOMDObjectMgr__set_somd21somFree, system)
  323. typedef somTP_SOMDObjectMgr__set_somd21somFree *somTD_SOMDObjectMgr__set_somd21somFree;
  324. /*
  325.  * Method from the IDL attribute statement:
  326.  * "attribute boolean somd21somFree"
  327.  */
  328. #define somMD_SOMDObjectMgr__set_somd21somFree "::SOMDObjectMgr::_set_somd21somFree"
  329. #define SOMDObjectMgr__set_somd21somFree(somSelf,ev,somd21somFree) \
  330.     (SOM_Resolve(somSelf, SOMDObjectMgr, _set_somd21somFree) \
  331.     (somSelf,ev,somd21somFree))
  332. #ifndef SOMGD_set_somd21somFree
  333.     #if (defined(_set_somd21somFree) || defined(__set_somd21somFree))
  334.         #undef _set_somd21somFree
  335.         #undef __set_somd21somFree
  336.         #define SOMGD_set_somd21somFree 1
  337.     #else
  338.         #define __set_somd21somFree SOMDObjectMgr__set_somd21somFree
  339.     #endif /* __set_somd21somFree */
  340. #endif /* SOMGD_set_somd21somFree */
  341. #ifndef SOM_DONT_USE_INHERITED_MACROS
  342. #define SOMDObjectMgr_somDefaultInit SOMObject_somDefaultInit
  343. #define SOMDObjectMgr_somDestruct SOMObject_somDestruct
  344. #define SOMDObjectMgr_somDefaultCopyInit SOMObject_somDefaultCopyInit
  345. #define SOMDObjectMgr_somDefaultAssign SOMObject_somDefaultAssign
  346. #define SOMDObjectMgr_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  347. #define SOMDObjectMgr_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  348. #define SOMDObjectMgr_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  349. #define SOMDObjectMgr_somDefaultConstAssign SOMObject_somDefaultConstAssign
  350. #define SOMDObjectMgr_somDefaultVAssign SOMObject_somDefaultVAssign
  351. #define SOMDObjectMgr_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  352. #define SOMDObjectMgr_somFree SOMObject_somFree
  353. #define SOMDObjectMgr_somUninit SOMObject_somUninit
  354. #define SOMDObjectMgr_somGetClass SOMObject_somGetClass
  355. #define SOMDObjectMgr_somGetClassName SOMObject_somGetClassName
  356. #define SOMDObjectMgr_somGetSize SOMObject_somGetSize
  357. #define SOMDObjectMgr_somIsA SOMObject_somIsA
  358. #define SOMDObjectMgr_somIsInstanceOf SOMObject_somIsInstanceOf
  359. #define SOMDObjectMgr_somRespondsTo SOMObject_somRespondsTo
  360. #define SOMDObjectMgr_somDispatch SOMObject_somDispatch
  361. #define SOMDObjectMgr_somClassDispatch SOMObject_somClassDispatch
  362. #define SOMDObjectMgr_somCastObj SOMObject_somCastObj
  363. #define SOMDObjectMgr_somResetObj SOMObject_somResetObj
  364. #define SOMDObjectMgr_somDispatchV SOMObject_somDispatchV
  365. #define SOMDObjectMgr_somDispatchL SOMObject_somDispatchL
  366. #define SOMDObjectMgr_somDispatchA SOMObject_somDispatchA
  367. #define SOMDObjectMgr_somDispatchD SOMObject_somDispatchD
  368. #define SOMDObjectMgr_somPrintSelf SOMObject_somPrintSelf
  369. #define SOMDObjectMgr_somDumpSelf SOMObject_somDumpSelf
  370. #define SOMDObjectMgr_somDumpSelfInt SOMObject_somDumpSelfInt
  371. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  372.  
  373. #endif       /* SOM_SOMDObjectMgr_h */
  374.