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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: cntxt.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *   IDL specification for CORBA Context Object.
  12.  */
  13.  
  14.  
  15. #ifndef SOM_Context_h
  16. #define SOM_Context_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 Context
  32. #define Context 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 NVList
  47.     #define NVList SOMObject
  48. #endif /* NVList */
  49.  
  50. /*
  51.  * End of bindings for IDL types.
  52.  */
  53.  
  54. /*
  55.  * Passthru lines: File: "C.h", "after"
  56.  */
  57.  
  58. /*
  59.  * Context flags
  60.  */
  61. #define CTX_DELETE_DESCENDENTS      0x00000200
  62. #define CTX_RESTRICT_SCOPE          0x00000400
  63.  
  64.  
  65. /* alias for CORBA compatibility */
  66. #ifndef Context_delete
  67. #define Context_delete Context_destroy
  68. #endif
  69.  
  70.  
  71. #define Context_MajorVersion 2
  72. #define Context_MinorVersion 1
  73.  
  74. /*
  75.  * External name shortening if required
  76.  */
  77. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  78. #define ContextNewClass c
  79. #pragma linkage(c, system)
  80. #define ContextClassData d
  81. #define ContextCClassData x
  82. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  83. /*--------------Migration------------*/
  84. #define Context_classObj ContextClassData.classObject
  85. #define _Context Context_classObj
  86.  
  87. /*
  88.  * Declare the class creation procedure
  89.  */
  90. SOMEXTERN SOMClass * SOMLINK ContextNewClass(integer4 somtmajorVersion,
  91.         integer4 somtminorVersion);
  92. #pragma linkage(ContextNewClass, system)
  93.  
  94. /*
  95.  * Declare the class data structure
  96.  */
  97. SOMEXTERN struct ContextClassDataStructure {
  98.     SOMClass *classObject;
  99.     somMToken set_one_value;
  100.     somMToken set_values;
  101.     somMToken get_values;
  102.     somMToken delete_values;
  103.     somMToken create_child;
  104.     somMToken destroy;
  105.     somMToken _get_context_name;
  106.     somMToken _set_context_name;
  107.     somMToken _get_context_parent;
  108.     somMToken _set_context_parent;
  109.     somMToken _get_properties;
  110.     somMToken _set_properties;
  111. } SOMDLINK ContextClassData;
  112.  
  113. /*
  114.  * Declare the C specific class data structure
  115.  */
  116. SOMEXTERN struct ContextCClassDataStructure {
  117.     somMethodTabs parentMtab;
  118.     somDToken instanceDataToken;
  119. } SOMDLINK ContextCClassData;
  120.  
  121. /*
  122.  * New and Renew macros for Context
  123.  */
  124. #define ContextNew() \
  125.    ( _Context ? \
  126.     _somNew(_Context) \
  127.     : ( ContextNewClass(\
  128.         Context_MajorVersion, \
  129.         Context_MinorVersion),\
  130.        _somNew(_Context)))
  131. #define ContextRenew(buf) \
  132.    ( _Context ? \
  133.     _somRenew(_Context, buf) \
  134.     : ( ContextNewClass(\
  135.         Context_MajorVersion, \
  136.         Context_MinorVersion),\
  137.        _somRenew(_Context, buf)))
  138.  
  139. /*
  140.  * Override method: somDefaultInit
  141.  */
  142. #define Context_somDefaultInit(somSelf,ctrl) \
  143.     SOMObject_somDefaultInit(somSelf,ctrl)
  144.  
  145. /*
  146.  * Override method: somDestruct
  147.  */
  148. #define Context_somDestruct(somSelf,doFree,ctrl) \
  149.     SOMObject_somDestruct(somSelf,doFree,ctrl)
  150.  
  151. /*
  152.  * New Method: set_one_value
  153.  */
  154. typedef ORBStatus   SOMLINK somTP_Context_set_one_value(Context *somSelf, Environment *ev, 
  155.         Identifier prop_name, 
  156.         string value);
  157. #pragma linkage(somTP_Context_set_one_value, system)
  158. typedef somTP_Context_set_one_value *somTD_Context_set_one_value;
  159. /*
  160.  *   This method sets or adds a single context object property. If prop_name
  161.  *   does not exist in the property list, it is added. If prop_name
  162.  *   does exist, its value is changed.
  163.  * 
  164.  */
  165. #define somMD_Context_set_one_value "::Context::set_one_value"
  166. #define Context_set_one_value(somSelf,ev,prop_name,value) \
  167.     (SOM_Resolve(somSelf, Context, set_one_value) \
  168.     (somSelf,ev,prop_name,value))
  169. #ifndef SOMGD_set_one_value
  170.     #if (defined(_set_one_value) || defined(__set_one_value))
  171.         #undef _set_one_value
  172.         #undef __set_one_value
  173.         #define SOMGD_set_one_value 1
  174.     #else
  175.         #define _set_one_value Context_set_one_value
  176.     #endif /* _set_one_value */
  177. #endif /* SOMGD_set_one_value */
  178.  
  179. /*
  180.  * New Method: set_values
  181.  */
  182. typedef ORBStatus   SOMLINK somTP_Context_set_values(Context *somSelf, Environment *ev, 
  183.         NVList* values);
  184. #pragma linkage(somTP_Context_set_values, system)
  185. typedef somTP_Context_set_values *somTD_Context_set_values;
  186. /*
  187.  *   This method sets or changes one or more property values in the context
  188.  *   object. If a prop_name specified in the NVList does not exist in the
  189.  *   Context object property list, it is added. If a prop_name specified in
  190.  *   the NVList does exist in the Context object property list, its value
  191.  *   is changed.
  192.  * 
  193.  */
  194. #define somMD_Context_set_values "::Context::set_values"
  195. #define Context_set_values(somSelf,ev,values) \
  196.     (SOM_Resolve(somSelf, Context, set_values) \
  197.     (somSelf,ev,values))
  198. #ifndef SOMGD_set_values
  199.     #if (defined(_set_values) || defined(__set_values))
  200.         #undef _set_values
  201.         #undef __set_values
  202.         #define SOMGD_set_values 1
  203.     #else
  204.         #define _set_values Context_set_values
  205.     #endif /* _set_values */
  206. #endif /* SOMGD_set_values */
  207.  
  208. /*
  209.  * New Method: get_values
  210.  */
  211. typedef ORBStatus   SOMLINK somTP_Context_get_values(Context *somSelf, Environment *ev, 
  212.         Identifier start_scope, 
  213.         Flags op_flags, 
  214.         Identifier prop_name, 
  215.         NVList** values);
  216. #pragma linkage(somTP_Context_get_values, system)
  217. typedef somTP_Context_get_values *somTD_Context_get_values;
  218. /*
  219.  *   This method retrieves the specified context property value(s) If
  220.  *   prop_name has a trailing wildcard ("*"), then all matching properties
  221.  *   and their values are returned. The returned NVList is the responsibility
  222.  *   of the caller,
  223.  * 
  224.  *   If no matching properties are found, and error is returned the property
  225.  *   list contains no values.
  226.  * 
  227.  *   Scope indicates the context object level at which to initiate the search
  228.  *   for the specified properties (e.g. "_USER", "_SYSTEM"). If the property
  229.  *   is not found at the indicated level, the search continues up the context
  230.  *   object tree until a match is found or all context objects in the chain
  231.  *   have been searched.
  232.  * 
  233.  *   If scope name is ommitted, the search begins with the specified context
  234.  *   object. If the specified scope name is not found, an exception is
  235.  *   returned.
  236.  * 
  237.  *   The following operation flags may be specified:
  238.  * 
  239.  *   CTX_RESTRICT_SCOPE  Searching is limited to the specified search scope or
  240.  *                       context object.
  241.  * 
  242.  */
  243. #define somMD_Context_get_values "::Context::get_values"
  244. #define Context_get_values(somSelf,ev,start_scope,op_flags,prop_name,values) \
  245.     (SOM_Resolve(somSelf, Context, get_values) \
  246.     (somSelf,ev,start_scope,op_flags,prop_name,values))
  247. #ifndef SOMGD_get_values
  248.     #if (defined(_get_values) || defined(__get_values))
  249.         #undef _get_values
  250.         #undef __get_values
  251.         #define SOMGD_get_values 1
  252.     #else
  253.         #define _get_values Context_get_values
  254.     #endif /* _get_values */
  255. #endif /* SOMGD_get_values */
  256.  
  257. /*
  258.  * New Method: delete_values
  259.  */
  260. typedef ORBStatus   SOMLINK somTP_Context_delete_values(Context *somSelf, Environment *ev, 
  261.         Identifier prop_name);
  262. #pragma linkage(somTP_Context_delete_values, system)
  263. typedef somTP_Context_delete_values *somTD_Context_delete_values;
  264. /*
  265.  *   This method deletes the specified property value(s) from the context
  266.  *   object.  If prop_name has a trailing wildcard character ("*"), then
  267.  *   all property names which match will be deleted.
  268.  * 
  269.  *   Search scope is always limited to the specified context object.
  270.  * 
  271.  *   If no matching property is found, an exception is returned.
  272.  * 
  273.  */
  274. #define somMD_Context_delete_values "::Context::delete_values"
  275. #define Context_delete_values(somSelf,ev,prop_name) \
  276.     (SOM_Resolve(somSelf, Context, delete_values) \
  277.     (somSelf,ev,prop_name))
  278. #ifndef SOMGD_delete_values
  279.     #if (defined(_delete_values) || defined(__delete_values))
  280.         #undef _delete_values
  281.         #undef __delete_values
  282.         #define SOMGD_delete_values 1
  283.     #else
  284.         #define _delete_values Context_delete_values
  285.     #endif /* _delete_values */
  286. #endif /* SOMGD_delete_values */
  287.  
  288. /*
  289.  * New Method: create_child
  290.  */
  291. typedef ORBStatus   SOMLINK somTP_Context_create_child(Context *somSelf, Environment *ev, 
  292.         Identifier ctx_name, 
  293.         Context** child_ctx);
  294. #pragma linkage(somTP_Context_create_child, system)
  295. typedef somTP_Context_create_child *somTD_Context_create_child;
  296. /*
  297.  *   This method creates a child context object.
  298.  * 
  299.  *   The returned context object is chained to its parent context. That is,
  300.  *   searches on the child context object will look in the parent context
  301.  *   (and so on, up the context tree), if necessary, for matching property
  302.  *   names.
  303.  * 
  304.  */
  305. #define somMD_Context_create_child "::Context::create_child"
  306. #define Context_create_child(somSelf,ev,ctx_name,child_ctx) \
  307.     (SOM_Resolve(somSelf, Context, create_child) \
  308.     (somSelf,ev,ctx_name,child_ctx))
  309. #ifndef SOMGD_create_child
  310.     #if (defined(_create_child) || defined(__create_child))
  311.         #undef _create_child
  312.         #undef __create_child
  313.         #define SOMGD_create_child 1
  314.     #else
  315.         #define _create_child Context_create_child
  316.     #endif /* _create_child */
  317. #endif /* SOMGD_create_child */
  318.  
  319. /*
  320.  * New Method: destroy
  321.  */
  322. typedef ORBStatus   SOMLINK somTP_Context_destroy(Context *somSelf, Environment *ev, 
  323.         Flags flags);
  324. #pragma linkage(somTP_Context_destroy, system)
  325. typedef somTP_Context_destroy *somTD_Context_destroy;
  326. /*
  327.  *   This operation deletes the indicated context object.
  328.  *   The following flags may be specified:
  329.  * 
  330.  *   CTX_DELETE_DESCENDENTS    Deletes the indicated context object and all
  331.  *                             of its descendent context objects as well.
  332.  * 
  333.  *   An exception is returned if there are one or more child context objects
  334.  *   and the CTX_DELETE_DESCENDENTS flag was not set.
  335.  * 
  336.  */
  337. #define somMD_Context_destroy "::Context::destroy"
  338. #define Context_destroy(somSelf,ev,flags) \
  339.     (SOM_Resolve(somSelf, Context, destroy) \
  340.     (somSelf,ev,flags))
  341. #ifndef SOMGD_destroy
  342.     #if (defined(_destroy) || defined(__destroy))
  343.         #undef _destroy
  344.         #undef __destroy
  345.         #define SOMGD_destroy 1
  346.     #else
  347.         #define _destroy Context_destroy
  348.     #endif /* _destroy */
  349. #endif /* SOMGD_destroy */
  350. #ifndef SOM_DONT_USE_INHERITED_MACROS
  351. #define Context_somDefaultCopyInit SOMObject_somDefaultCopyInit
  352. #define Context_somDefaultAssign SOMObject_somDefaultAssign
  353. #define Context_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  354. #define Context_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  355. #define Context_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  356. #define Context_somDefaultConstAssign SOMObject_somDefaultConstAssign
  357. #define Context_somDefaultVAssign SOMObject_somDefaultVAssign
  358. #define Context_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  359. #define Context_somInit SOMObject_somInit
  360. #define Context_somFree SOMObject_somFree
  361. #define Context_somUninit SOMObject_somUninit
  362. #define Context_somGetClass SOMObject_somGetClass
  363. #define Context_somGetClassName SOMObject_somGetClassName
  364. #define Context_somGetSize SOMObject_somGetSize
  365. #define Context_somIsA SOMObject_somIsA
  366. #define Context_somIsInstanceOf SOMObject_somIsInstanceOf
  367. #define Context_somRespondsTo SOMObject_somRespondsTo
  368. #define Context_somDispatch SOMObject_somDispatch
  369. #define Context_somClassDispatch SOMObject_somClassDispatch
  370. #define Context_somCastObj SOMObject_somCastObj
  371. #define Context_somResetObj SOMObject_somResetObj
  372. #define Context_somDispatchV SOMObject_somDispatchV
  373. #define Context_somDispatchL SOMObject_somDispatchL
  374. #define Context_somDispatchA SOMObject_somDispatchA
  375. #define Context_somDispatchD SOMObject_somDispatchD
  376. #define Context_somPrintSelf SOMObject_somPrintSelf
  377. #define Context_somDumpSelf SOMObject_somDumpSelf
  378. #define Context_somDumpSelfInt SOMObject_somDumpSelfInt
  379. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  380.  
  381. #endif       /* SOM_Context_h */
  382.