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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: orb.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    Interface for ORB pseudo-object, from CORBA document (8.1).
  12.  */
  13.  
  14.  
  15. #ifndef SOM_ORB_h
  16. #define SOM_ORB_h
  17.  
  18.  
  19. #include <som.h>
  20.  
  21. /*
  22.  * -- This emitter treats Method Tokens as Thunks by default.
  23.  * -- Use the sc modifier "nothunks" to change this default
  24.  */
  25. #undef somresolve_
  26. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  27.  
  28. /*
  29.  * Define the class name as an object type
  30.  */
  31. #ifndef ORB
  32. #define ORB SOMObject
  33. #endif
  34. #include <somobj.h>
  35.  
  36. /*
  37.  * Start of bindings for IDL types
  38.  */
  39.  
  40. #ifndef SOMClass
  41.     #define SOMClass SOMObject
  42. #endif /* SOMClass */
  43. #ifndef Container
  44.     #define Container SOMObject
  45. #endif /* Container */
  46. #ifndef OperationDef
  47.     #define OperationDef SOMObject
  48. #endif /* OperationDef */
  49. #ifndef SOMDObject
  50.     #define SOMDObject SOMObject
  51. #endif /* SOMDObject */
  52. #ifndef NVList
  53.     #define NVList SOMObject
  54. #endif /* NVList */
  55. #ifndef Context
  56.     #define Context SOMObject
  57. #endif /* Context */
  58.  
  59. /*
  60.  * End of bindings for IDL types.
  61.  */
  62.  
  63. /*
  64.  * Passthru lines: File: "C.h", "after"
  65.  */
  66.  
  67. #ifdef SOM_STRICT_IDL
  68. SOMEXTERN ORB   SOMD_ORBObject;
  69. #else
  70. SOMEXTERN ORB * SOMD_ORBObject;
  71. #endif /* SOM_STRICT_IDL */
  72.  
  73. #include <somdobj.h>
  74.  
  75.  
  76. #define ORB_MajorVersion 2
  77. #define ORB_MinorVersion 1
  78.  
  79. /*
  80.  * External name shortening if required
  81.  */
  82. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  83. #define ORBNewClass c
  84. #pragma linkage(c, system)
  85. #define ORBClassData d
  86. #define ORBCClassData x
  87. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  88.  
  89. /*
  90.  * Include the metaclass file
  91.  */
  92. #ifndef SOM_SOMMSingleInstance_h
  93. #include <snglicls.h>
  94. #endif
  95. /*--------------Migration------------*/
  96. #define ORB_classObj ORBClassData.classObject
  97. #define _ORB ORB_classObj
  98.  
  99. /*
  100.  * Declare the class creation procedure
  101.  */
  102. SOMEXTERN SOMClass * SOMLINK ORBNewClass(integer4 somtmajorVersion,
  103.         integer4 somtminorVersion);
  104. #pragma linkage(ORBNewClass, system)
  105.  
  106. /*
  107.  * Declare the class data structure
  108.  */
  109. SOMEXTERN struct ORBClassDataStructure {
  110.     SOMClass *classObject;
  111.     somMToken object_to_string;
  112.     somMToken string_to_object;
  113.     somMToken create_list;
  114.     somMToken create_operation_list;
  115.     somMToken get_default_context;
  116.     somMToken object_to_binary;
  117.     somMToken binary_to_object;
  118. } SOMDLINK ORBClassData;
  119.  
  120. /*
  121.  * Declare the C specific class data structure
  122.  */
  123. SOMEXTERN struct ORBCClassDataStructure {
  124.     somMethodTabs parentMtab;
  125.     somDToken instanceDataToken;
  126. } SOMDLINK ORBCClassData;
  127.  
  128. /*
  129.  * New and Renew macros for ORB
  130.  */
  131. #define ORBNew() \
  132.    ( _ORB ? \
  133.     _somNew(_ORB) \
  134.     : ( ORBNewClass(\
  135.         ORB_MajorVersion, \
  136.         ORB_MinorVersion),\
  137.        _somNew(_ORB)))
  138. #define ORBRenew(buf) \
  139.    ( _ORB ? \
  140.     _somRenew(_ORB, buf) \
  141.     : ( ORBNewClass(\
  142.         ORB_MajorVersion, \
  143.         ORB_MinorVersion),\
  144.        _somRenew(_ORB, buf)))
  145.  
  146. /*
  147.  * New Method: object_to_string
  148.  */
  149. typedef string   SOMLINK somTP_ORB_object_to_string(ORB *somSelf, Environment *ev, 
  150.         SOMDObject* obj);
  151. #pragma linkage(somTP_ORB_object_to_string, system)
  152. typedef somTP_ORB_object_to_string *somTD_ORB_object_to_string;
  153. /*
  154.  *  Converts an object reference to its external form.
  155.  *  OWNERSHIP of allocated memory is transferred to the caller.
  156.  *  Use ORBfree to release the allocated memory.
  157.  */
  158. #define somMD_ORB_object_to_string "::ORB::object_to_string"
  159. #define ORB_object_to_string(somSelf,ev,obj) \
  160.     (SOM_Resolve(somSelf, ORB, object_to_string) \
  161.     (somSelf,ev,obj))
  162. #ifndef SOMGD_object_to_string
  163.     #if (defined(_object_to_string) || defined(__object_to_string))
  164.         #undef _object_to_string
  165.         #undef __object_to_string
  166.         #define SOMGD_object_to_string 1
  167.     #else
  168.         #define _object_to_string ORB_object_to_string
  169.     #endif /* _object_to_string */
  170. #endif /* SOMGD_object_to_string */
  171.  
  172. /*
  173.  * New Method: string_to_object
  174.  */
  175. typedef SOMDObject*   SOMLINK somTP_ORB_string_to_object(ORB *somSelf, Environment *ev, 
  176.         string str);
  177. #pragma linkage(somTP_ORB_string_to_object, system)
  178. typedef somTP_ORB_string_to_object *somTD_ORB_string_to_object;
  179. /*
  180.  *  Converts externalized form back to an object reference.
  181.  */
  182. #define somMD_ORB_string_to_object "::ORB::string_to_object"
  183. #define ORB_string_to_object(somSelf,ev,str) \
  184.     (SOM_Resolve(somSelf, ORB, string_to_object) \
  185.     (somSelf,ev,str))
  186. #ifndef SOMGD_string_to_object
  187.     #if (defined(_string_to_object) || defined(__string_to_object))
  188.         #undef _string_to_object
  189.         #undef __string_to_object
  190.         #define SOMGD_string_to_object 1
  191.     #else
  192.         #define _string_to_object ORB_string_to_object
  193.     #endif /* _string_to_object */
  194. #endif /* SOMGD_string_to_object */
  195.  
  196. /*
  197.  * New Method: create_list
  198.  */
  199. typedef ORBStatus   SOMLINK somTP_ORB_create_list(ORB *somSelf, Environment *ev, 
  200.         long count, 
  201.         NVList** new_list);
  202. #pragma linkage(somTP_ORB_create_list, system)
  203. typedef somTP_ORB_create_list *somTD_ORB_create_list;
  204. /*
  205.  *  Creates a NamedValue list, of specified size,
  206.  *  for use in Requests.
  207.  *  OWNERSHIP of allocated "new_list" is transferred to the caller.
  208.  */
  209. #define somMD_ORB_create_list "::ORB::create_list"
  210. #define ORB_create_list(somSelf,ev,count,new_list) \
  211.     (SOM_Resolve(somSelf, ORB, create_list) \
  212.     (somSelf,ev,count,new_list))
  213. #ifndef SOMGD_create_list
  214.     #if (defined(_create_list) || defined(__create_list))
  215.         #undef _create_list
  216.         #undef __create_list
  217.         #define SOMGD_create_list 1
  218.     #else
  219.         #define _create_list ORB_create_list
  220.     #endif /* _create_list */
  221. #endif /* SOMGD_create_list */
  222.  
  223. /*
  224.  * New Method: create_operation_list
  225.  */
  226. typedef ORBStatus   SOMLINK somTP_ORB_create_operation_list(ORB *somSelf, Environment *ev, 
  227.         OperationDef* oper, 
  228.         NVList** new_list);
  229. #pragma linkage(somTP_ORB_create_operation_list, system)
  230. typedef somTP_ORB_create_operation_list *somTD_ORB_create_operation_list;
  231. /*
  232.  *  Creates a NamedValue list for the specified operation,
  233.  *  for use in Requests invoking that operation.
  234.  *  OWNERSHIP of allocated "new_list" is transferred to the caller.
  235.  */
  236. #define somMD_ORB_create_operation_list "::ORB::create_operation_list"
  237. #define ORB_create_operation_list(somSelf,ev,oper,new_list) \
  238.     (SOM_Resolve(somSelf, ORB, create_operation_list) \
  239.     (somSelf,ev,oper,new_list))
  240. #ifndef SOMGD_create_operation_list
  241.     #if (defined(_create_operation_list) || defined(__create_operation_list))
  242.         #undef _create_operation_list
  243.         #undef __create_operation_list
  244.         #define SOMGD_create_operation_list 1
  245.     #else
  246.         #define _create_operation_list ORB_create_operation_list
  247.     #endif /* _create_operation_list */
  248. #endif /* SOMGD_create_operation_list */
  249.  
  250. /*
  251.  * New Method: get_default_context
  252.  */
  253. typedef ORBStatus   SOMLINK somTP_ORB_get_default_context(ORB *somSelf, Environment *ev, 
  254.         Context** ctx);
  255. #pragma linkage(somTP_ORB_get_default_context, system)
  256. typedef somTP_ORB_get_default_context *somTD_ORB_get_default_context;
  257. /*
  258.  *  Get default context.
  259.  *  OWNERSHIP of allocated Context object is transferred to the caller.
  260.  */
  261. #define somMD_ORB_get_default_context "::ORB::get_default_context"
  262. #define ORB_get_default_context(somSelf,ev,ctx) \
  263.     (SOM_Resolve(somSelf, ORB, get_default_context) \
  264.     (somSelf,ev,ctx))
  265. #ifndef SOMGD_get_default_context
  266.     #if (defined(_get_default_context) || defined(__get_default_context))
  267.         #undef _get_default_context
  268.         #undef __get_default_context
  269.         #define SOMGD_get_default_context 1
  270.     #else
  271.         #define _get_default_context ORB_get_default_context
  272.     #endif /* _get_default_context */
  273. #endif /* SOMGD_get_default_context */
  274. #ifndef SOM_DONT_USE_INHERITED_MACROS
  275. #define ORB_somDefaultInit SOMObject_somDefaultInit
  276. #define ORB_somDestruct SOMObject_somDestruct
  277. #define ORB_somDefaultCopyInit SOMObject_somDefaultCopyInit
  278. #define ORB_somDefaultAssign SOMObject_somDefaultAssign
  279. #define ORB_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  280. #define ORB_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  281. #define ORB_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  282. #define ORB_somDefaultConstAssign SOMObject_somDefaultConstAssign
  283. #define ORB_somDefaultVAssign SOMObject_somDefaultVAssign
  284. #define ORB_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  285. #define ORB_somInit SOMObject_somInit
  286. #define ORB_somFree SOMObject_somFree
  287. #define ORB_somUninit SOMObject_somUninit
  288. #define ORB_somGetClass SOMObject_somGetClass
  289. #define ORB_somGetClassName SOMObject_somGetClassName
  290. #define ORB_somGetSize SOMObject_somGetSize
  291. #define ORB_somIsA SOMObject_somIsA
  292. #define ORB_somIsInstanceOf SOMObject_somIsInstanceOf
  293. #define ORB_somRespondsTo SOMObject_somRespondsTo
  294. #define ORB_somDispatch SOMObject_somDispatch
  295. #define ORB_somClassDispatch SOMObject_somClassDispatch
  296. #define ORB_somCastObj SOMObject_somCastObj
  297. #define ORB_somResetObj SOMObject_somResetObj
  298. #define ORB_somDispatchV SOMObject_somDispatchV
  299. #define ORB_somDispatchL SOMObject_somDispatchL
  300. #define ORB_somDispatchA SOMObject_somDispatchA
  301. #define ORB_somDispatchD SOMObject_somDispatchD
  302. #define ORB_somPrintSelf SOMObject_somPrintSelf
  303. #define ORB_somDumpSelf SOMObject_somDumpSelf
  304. #define ORB_somDumpSelfInt SOMObject_somDumpSelfInt
  305. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  306.  
  307. #endif       /* SOM_ORB_h */
  308.