home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / orb.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  8.9 KB  |  288 lines

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