home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / SOMDOBJ.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  14KB  |  400 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\u\otp\include\somdobj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.2
  7.  *     SOM Emitter emith: 2.41
  8.  */
  9.  
  10. /*
  11.  *    Interface for CORBA Object Reference.
  12.  * 
  13.  *    This is the class that implements the behavior of CORBA object references,
  14.  *    e.g., get_implementation, get_interface, duplicate, release, etc.
  15.  * 
  16.  *    In addition, there are some private methods, which are exposed only to
  17.  *    the ORB classes, to implement the ORB functions related to object
  18.  *    references (e.g., ORB_object_to_string).
  19.  * 
  20.  *    In DSOM, there is also another derivation of this class:  SOMDClientProxy.
  21.  *    This subclass inherits the implementation of this class, but extends it
  22.  *    by overriding somDispatch with a "remote dispatch" method, and caches the
  23.  *    binding to the server process.  Whenever a remote object is accessed, it
  24.  *    is represented in the client process by a SOMDClientProxy object.
  25.  * 
  26.  * 
  27.  */
  28.  
  29.  
  30. #ifndef SOM_SOMDObject_h
  31. #define SOM_SOMDObject_h
  32.  
  33.  
  34. #include <som.h>
  35.  
  36. /*
  37.  * -- This emitter treats Method Tokens as Thunks by default.
  38.  * -- Use the sc modifier "nothunks" to change this default
  39.  */
  40. #undef somresolve_
  41. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  42.  
  43. /*
  44.  * Define the class name as an object type
  45.  */
  46. #ifndef SOMDObject
  47. #define SOMDObject SOMObject
  48. #endif
  49. #include <somobj.h>
  50.  
  51. /*
  52.  * Start of user-defined types:
  53.  */
  54. #ifndef SOMClass
  55.     #define SOMClass SOMObject
  56. #endif /* SOMClass */
  57. #ifndef Container
  58.     #define Container SOMObject
  59. #endif /* Container */
  60. #ifndef ImplementationDef
  61.     #define ImplementationDef SOMObject
  62. #endif /* ImplementationDef */
  63. #ifndef InterfaceDef
  64.     #define InterfaceDef SOMObject
  65. #endif /* InterfaceDef */
  66. #ifndef NVList
  67.     #define NVList SOMObject
  68. #endif /* NVList */
  69. #ifndef Context
  70.     #define Context SOMObject
  71. #endif /* Context */
  72. #ifndef Request
  73.     #define Request SOMObject
  74. #endif /* Request */
  75.  
  76. /*
  77.  * End of user-defined types.
  78.  */
  79.  
  80. #define SOMDObject_MajorVersion 2
  81. #define SOMDObject_MinorVersion 1
  82.  
  83. /*
  84.  * External name shortening if required
  85.  */
  86. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  87. #define SOMDObjectNewClass c
  88. #pragma linkage(c, system)
  89. #define SOMDObjectClassData d
  90. #define SOMDObjectCClassData x
  91. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  92. /*--------------Migration------------*/
  93. #define SOMDObject_classObj SOMDObjectClassData.classObject
  94. #define _SOMDObject SOMDObject_classObj
  95.  
  96. /*
  97.  * Declare the class creation procedure
  98.  */
  99. SOMEXTERN SOMClass * SOMLINK SOMDObjectNewClass(integer4 somtmajorVersion,
  100.         integer4 somtminorVersion);
  101. #pragma linkage(SOMDObjectNewClass, system)
  102.  
  103. /*
  104.  * Declare the class data structure
  105.  */
  106. SOMEXTERN struct SOMDObjectClassDataStructure {
  107.     SOMAny *classObject;
  108.     somMToken get_implementation;
  109.     somMToken get_interface;
  110.     somMToken set_to_nil;
  111.     somMethodProc *is_nil;
  112.     somMToken is_SOM_ref;
  113.     somMToken is_constant;
  114.     somMToken is_proxy;
  115.     somMToken duplicate;
  116.     somMToken release;
  117.     somMToken create_request;
  118.     somMToken create_request_args;
  119.     somMToken _get_somd_tag;
  120.     somMToken _get_somd_flags;
  121.     somMToken _set_somd_flags;
  122.     somMToken _get_somd_impl;
  123.     somMToken _set_somd_impl;
  124.     somMToken _get_somd_rid;
  125.     somMToken _set_somd_rid;
  126.     somMToken _get_somd_id;
  127.     somMToken _set_somd_id;
  128. } SOMDLINK SOMDObjectClassData;
  129.  
  130. /*
  131.  * Declare the C specific class data structure
  132.  */
  133. SOMEXTERN struct SOMDObjectCClassDataStructure {
  134.     somMethodTabs parentMtab;
  135.     somDToken instanceDataToken;
  136. } SOMDLINK SOMDObjectCClassData;
  137.  
  138. /*
  139.  * New and Renew macros for SOMDObject
  140.  */
  141. #define SOMDObjectNew() \
  142.    (_somNew(_SOMDObject ? _SOMDObject : SOMDObjectNewClass(SOMDObject_MajorVersion, SOMDObject_MinorVersion)))
  143. #define SOMDObjectRenew(buf) \
  144.    (_somRenew(_SOMDObject ? _SOMDObject : SOMDObjectNewClass(SOMDObject_MajorVersion, SOMDObject_MinorVersion), buf))
  145.  
  146. /*
  147.  * Override method: somDefaultInit
  148.  */
  149. #define SOMDObject_somDefaultInit(somSelf,ctrl) \
  150.     SOMObject_somDefaultInit(somSelf,ctrl)
  151.  
  152. /*
  153.  * Override method: somDestruct
  154.  */
  155. #define SOMDObject_somDestruct(somSelf,doFree,ctrl) \
  156.     SOMObject_somDestruct(somSelf,doFree,ctrl)
  157.  
  158. /*
  159.  * Override method: somDumpSelfInt
  160.  */
  161. #define SOMDObject_somDumpSelfInt(somSelf,level) \
  162.     SOMObject_somDumpSelfInt(somSelf,level)
  163.  
  164. /*
  165.  * New Method: get_implementation
  166.  */
  167. typedef ImplementationDef*   SOMLINK somTP_SOMDObject_get_implementation(SOMDObject *somSelf, Environment *ev);
  168. #pragma linkage(somTP_SOMDObject_get_implementation, system)
  169. typedef somTP_SOMDObject_get_implementation *somTD_SOMDObject_get_implementation;
  170. #define somMD_SOMDObject_get_implementation "::SOMDObject::get_implementation"
  171. #define SOMDObject_get_implementation(somSelf,ev) \
  172.     (SOM_Resolve(somSelf, SOMDObject, get_implementation) \
  173.     (somSelf,ev))
  174. #ifndef SOMGD_get_implementation
  175.     #if (defined(_get_implementation) || defined(__get_implementation))
  176.         #undef _get_implementation
  177.         #undef __get_implementation
  178.         #define SOMGD_get_implementation 1
  179.     #else
  180.         #define _get_implementation SOMDObject_get_implementation
  181.     #endif /* _get_implementation */
  182. #endif /* SOMGD_get_implementation */
  183.  
  184. /*
  185.  * New Method: get_interface
  186.  */
  187. typedef InterfaceDef*   SOMLINK somTP_SOMDObject_get_interface(SOMDObject *somSelf, Environment *ev);
  188. #pragma linkage(somTP_SOMDObject_get_interface, system)
  189. typedef somTP_SOMDObject_get_interface *somTD_SOMDObject_get_interface;
  190. #define somMD_SOMDObject_get_interface "::SOMDObject::get_interface"
  191. #define SOMDObject_get_interface(somSelf,ev) \
  192.     (SOM_Resolve(somSelf, SOMDObject, get_interface) \
  193.     (somSelf,ev))
  194. #ifndef SOMGD_get_interface
  195.     #if (defined(_get_interface) || defined(__get_interface))
  196.         #undef _get_interface
  197.         #undef __get_interface
  198.         #define SOMGD_get_interface 1
  199.     #else
  200.         #define _get_interface SOMDObject_get_interface
  201.     #endif /* _get_interface */
  202. #endif /* SOMGD_get_interface */
  203.  
  204. /*
  205.  * Direct call procedure
  206.  */
  207. typedef boolean   SOMLINK somTP_SOMDObject_is_nil(SOMDObject *somSelf, Environment *ev);
  208. #pragma linkage(somTP_SOMDObject_is_nil, system)
  209. typedef somTP_SOMDObject_is_nil *somTD_SOMDObject_is_nil;
  210. #define SOMDObject_is_nil ((somTD_SOMDObject_is_nil) SOMDObjectClassData.is_nil)
  211. #ifndef SOMGD_is_nil
  212.     #if (defined(_is_nil) || defined(__is_nil))
  213.         #undef _is_nil
  214.         #undef __is_nil
  215.         #define SOMGD_is_nil 1
  216.     #else
  217.         #define _is_nil SOMDObject_is_nil
  218.     #endif /* _is_nil */
  219. #endif /* SOMGD_is_nil */
  220.  
  221. /*
  222.  * New Method: is_SOM_ref
  223.  */
  224. typedef boolean   SOMLINK somTP_SOMDObject_is_SOM_ref(SOMDObject *somSelf, Environment *ev);
  225. #pragma linkage(somTP_SOMDObject_is_SOM_ref, system)
  226. typedef somTP_SOMDObject_is_SOM_ref *somTD_SOMDObject_is_SOM_ref;
  227. #define somMD_SOMDObject_is_SOM_ref "::SOMDObject::is_SOM_ref"
  228. #define SOMDObject_is_SOM_ref(somSelf,ev) \
  229.     (SOM_Resolve(somSelf, SOMDObject, is_SOM_ref) \
  230.     (somSelf,ev))
  231. #ifndef SOMGD_is_SOM_ref
  232.     #if (defined(_is_SOM_ref) || defined(__is_SOM_ref))
  233.         #undef _is_SOM_ref
  234.         #undef __is_SOM_ref
  235.         #define SOMGD_is_SOM_ref 1
  236.     #else
  237.         #define _is_SOM_ref SOMDObject_is_SOM_ref
  238.     #endif /* _is_SOM_ref */
  239. #endif /* SOMGD_is_SOM_ref */
  240.  
  241. /*
  242.  * New Method: is_constant
  243.  */
  244. typedef boolean   SOMLINK somTP_SOMDObject_is_constant(SOMDObject *somSelf, Environment *ev);
  245. #pragma linkage(somTP_SOMDObject_is_constant, system)
  246. typedef somTP_SOMDObject_is_constant *somTD_SOMDObject_is_constant;
  247. #define somMD_SOMDObject_is_constant "::SOMDObject::is_constant"
  248. #define SOMDObject_is_constant(somSelf,ev) \
  249.     (SOM_Resolve(somSelf, SOMDObject, is_constant) \
  250.     (somSelf,ev))
  251. #ifndef SOMGD_is_constant
  252.     #if (defined(_is_constant) || defined(__is_constant))
  253.         #undef _is_constant
  254.         #undef __is_constant
  255.         #define SOMGD_is_constant 1
  256.     #else
  257.         #define _is_constant SOMDObject_is_constant
  258.     #endif /* _is_constant */
  259. #endif /* SOMGD_is_constant */
  260.  
  261. /*
  262.  * New Method: is_proxy
  263.  */
  264. typedef boolean   SOMLINK somTP_SOMDObject_is_proxy(SOMDObject *somSelf, Environment *ev);
  265. #pragma linkage(somTP_SOMDObject_is_proxy, system)
  266. typedef somTP_SOMDObject_is_proxy *somTD_SOMDObject_is_proxy;
  267. #define somMD_SOMDObject_is_proxy "::SOMDObject::is_proxy"
  268. #define SOMDObject_is_proxy(somSelf,ev) \
  269.     (SOM_Resolve(somSelf, SOMDObject, is_proxy) \
  270.     (somSelf,ev))
  271. #ifndef SOMGD_is_proxy
  272.     #if (defined(_is_proxy) || defined(__is_proxy))
  273.         #undef _is_proxy
  274.         #undef __is_proxy
  275.         #define SOMGD_is_proxy 1
  276.     #else
  277.         #define _is_proxy SOMDObject_is_proxy
  278.     #endif /* _is_proxy */
  279. #endif /* SOMGD_is_proxy */
  280.  
  281. /*
  282.  * New Method: duplicate
  283.  */
  284. typedef SOMDObject*   SOMLINK somTP_SOMDObject_duplicate(SOMDObject *somSelf, Environment *ev);
  285. #pragma linkage(somTP_SOMDObject_duplicate, system)
  286. typedef somTP_SOMDObject_duplicate *somTD_SOMDObject_duplicate;
  287. #define somMD_SOMDObject_duplicate "::SOMDObject::duplicate"
  288. #define SOMDObject_duplicate(somSelf,ev) \
  289.     (SOM_Resolve(somSelf, SOMDObject, duplicate) \
  290.     (somSelf,ev))
  291. #ifndef SOMGD_duplicate
  292.     #if (defined(_duplicate) || defined(__duplicate))
  293.         #undef _duplicate
  294.         #undef __duplicate
  295.         #define SOMGD_duplicate 1
  296.     #else
  297.         #define _duplicate SOMDObject_duplicate
  298.     #endif /* _duplicate */
  299. #endif /* SOMGD_duplicate */
  300.  
  301. /*
  302.  * New Method: release
  303.  */
  304. typedef void   SOMLINK somTP_SOMDObject_release(SOMDObject *somSelf, Environment *ev);
  305. #pragma linkage(somTP_SOMDObject_release, system)
  306. typedef somTP_SOMDObject_release *somTD_SOMDObject_release;
  307. #define somMD_SOMDObject_release "::SOMDObject::release"
  308. #define SOMDObject_release(somSelf,ev) \
  309.     (SOM_Resolve(somSelf, SOMDObject, release) \
  310.     (somSelf,ev))
  311. #ifndef SOMGD_release
  312.     #if (defined(_release) || defined(__release))
  313.         #undef _release
  314.         #undef __release
  315.         #define SOMGD_release 1
  316.     #else
  317.         #define _release SOMDObject_release
  318.     #endif /* _release */
  319. #endif /* SOMGD_release */
  320.  
  321. /*
  322.  * New Method: create_request
  323.  */
  324. typedef ORBStatus   SOMLINK somTP_SOMDObject_create_request(SOMDObject *somSelf, Environment *ev,
  325.         Context* ctx,
  326.         Identifier operation,
  327.         NVList* arg_list,
  328.         NamedValue* result,
  329.         Request** request,
  330.         Flags req_flags);
  331. #pragma linkage(somTP_SOMDObject_create_request, system)
  332. typedef somTP_SOMDObject_create_request *somTD_SOMDObject_create_request;
  333. #define somMD_SOMDObject_create_request "::SOMDObject::create_request"
  334. #define SOMDObject_create_request(somSelf,ev,ctx,operation,arg_list,result,request,req_flags) \
  335.     (SOM_Resolve(somSelf, SOMDObject, create_request) \
  336.     (somSelf,ev,ctx,operation,arg_list,result,request,req_flags))
  337. #ifndef SOMGD_create_request
  338.     #if (defined(_create_request) || defined(__create_request))
  339.         #undef _create_request
  340.         #undef __create_request
  341.         #define SOMGD_create_request 1
  342.     #else
  343.         #define _create_request SOMDObject_create_request
  344.     #endif /* _create_request */
  345. #endif /* SOMGD_create_request */
  346.  
  347. /*
  348.  * New Method: create_request_args
  349.  */
  350. typedef ORBStatus   SOMLINK somTP_SOMDObject_create_request_args(SOMDObject *somSelf, Environment *ev,
  351.         Identifier operation,
  352.         NVList** arg_list,
  353.         NamedValue* result);
  354. #pragma linkage(somTP_SOMDObject_create_request_args, system)
  355. typedef somTP_SOMDObject_create_request_args *somTD_SOMDObject_create_request_args;
  356. #define somMD_SOMDObject_create_request_args "::SOMDObject::create_request_args"
  357. #define SOMDObject_create_request_args(somSelf,ev,operation,arg_list,result) \
  358.     (SOM_Resolve(somSelf, SOMDObject, create_request_args) \
  359.     (somSelf,ev,operation,arg_list,result))
  360. #ifndef SOMGD_create_request_args
  361.     #if (defined(_create_request_args) || defined(__create_request_args))
  362.         #undef _create_request_args
  363.         #undef __create_request_args
  364.         #define SOMGD_create_request_args 1
  365.     #else
  366.         #define _create_request_args SOMDObject_create_request_args
  367.     #endif /* _create_request_args */
  368. #endif /* SOMGD_create_request_args */
  369. #ifndef SOM_DONT_USE_INHERITED_MACROS
  370. #define SOMDObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
  371. #define SOMDObject_somDefaultAssign SOMObject_somDefaultAssign
  372. #define SOMDObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  373. #define SOMDObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  374. #define SOMDObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  375. #define SOMDObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
  376. #define SOMDObject_somDefaultVAssign SOMObject_somDefaultVAssign
  377. #define SOMDObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  378. #define SOMDObject_somInit SOMObject_somInit
  379. #define SOMDObject_somFree SOMObject_somFree
  380. #define SOMDObject_somUninit SOMObject_somUninit
  381. #define SOMDObject_somGetClass SOMObject_somGetClass
  382. #define SOMDObject_somGetClassName SOMObject_somGetClassName
  383. #define SOMDObject_somGetSize SOMObject_somGetSize
  384. #define SOMDObject_somIsA SOMObject_somIsA
  385. #define SOMDObject_somIsInstanceOf SOMObject_somIsInstanceOf
  386. #define SOMDObject_somRespondsTo SOMObject_somRespondsTo
  387. #define SOMDObject_somDispatch SOMObject_somDispatch
  388. #define SOMDObject_somClassDispatch SOMObject_somClassDispatch
  389. #define SOMDObject_somCastObj SOMObject_somCastObj
  390. #define SOMDObject_somResetObj SOMObject_somResetObj
  391. #define SOMDObject_somDispatchV SOMObject_somDispatchV
  392. #define SOMDObject_somDispatchL SOMObject_somDispatchL
  393. #define SOMDObject_somDispatchA SOMObject_somDispatchA
  394. #define SOMDObject_somDispatchD SOMObject_somDispatchD
  395. #define SOMDObject_somPrintSelf SOMObject_somPrintSelf
  396. #define SOMDObject_somDumpSelf SOMObject_somDumpSelf
  397. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  398.  
  399. #endif       /* SOM_SOMDObject_h */
  400.