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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: nvlist.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *   This class implements the NVList object.
  12.  */
  13.  
  14.  
  15. #ifndef SOM_NVList_h
  16. #define SOM_NVList_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 NVList
  32. #define NVList 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.  
  47. /*
  48.  * End of bindings for IDL types.
  49.  */
  50.  
  51. #define NVList_MajorVersion 2
  52. #define NVList_MinorVersion 1
  53.  
  54. /*
  55.  * External name shortening if required
  56.  */
  57. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  58. #define NVListNewClass c
  59. #pragma linkage(c, system)
  60. #define NVListClassData d
  61. #define NVListCClassData x
  62. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  63. /*--------------Migration------------*/
  64. #define NVList_classObj NVListClassData.classObject
  65. #define _NVList NVList_classObj
  66.  
  67. /*
  68.  * Declare the class creation procedure
  69.  */
  70. SOMEXTERN SOMClass * SOMLINK NVListNewClass(integer4 somtmajorVersion,
  71.         integer4 somtminorVersion);
  72. #pragma linkage(NVListNewClass, system)
  73.  
  74. /*
  75.  * Declare the class data structure
  76.  */
  77. SOMEXTERN struct NVListClassDataStructure {
  78.     SOMClass *classObject;
  79.     somMToken add_item;
  80.     somMToken remove_item;
  81.     somMToken free;
  82.     somMToken free_memory;
  83.     somMToken get_count;
  84.     somMToken set_item;
  85.     somMToken get_item;
  86.     somMToken get_item_by_name;
  87. } SOMDLINK NVListClassData;
  88.  
  89. /*
  90.  * Declare the C specific class data structure
  91.  */
  92. SOMEXTERN struct NVListCClassDataStructure {
  93.     somMethodTabs parentMtab;
  94.     somDToken instanceDataToken;
  95. } SOMDLINK NVListCClassData;
  96.  
  97. /*
  98.  * New and Renew macros for NVList
  99.  */
  100. #define NVListNew() \
  101.    ( _NVList ? \
  102.     _somNew(_NVList) \
  103.     : ( NVListNewClass(\
  104.         NVList_MajorVersion, \
  105.         NVList_MinorVersion),\
  106.        _somNew(_NVList)))
  107. #define NVListRenew(buf) \
  108.    ( _NVList ? \
  109.     _somRenew(_NVList, buf) \
  110.     : ( NVListNewClass(\
  111.         NVList_MajorVersion, \
  112.         NVList_MinorVersion),\
  113.        _somRenew(_NVList, buf)))
  114.  
  115. /*
  116.  * Override method: somInit
  117.  */
  118. #define NVList_somInit(somSelf) \
  119.     SOMObject_somInit(somSelf)
  120.  
  121. /*
  122.  * New Method: add_item
  123.  */
  124. typedef ORBStatus   SOMLINK somTP_NVList_add_item(NVList *somSelf, Environment *ev, 
  125.         Identifier item_name, 
  126.         TypeCode item_type, 
  127.         void* value, 
  128.         long value_len, 
  129.         Flags item_flags);
  130. #pragma linkage(somTP_NVList_add_item, system)
  131. typedef somTP_NVList_add_item *somTD_NVList_add_item;
  132. #define somMD_NVList_add_item "::NVList::add_item"
  133. #define NVList_add_item(somSelf,ev,item_name,item_type,value,value_len,item_flags) \
  134.     (SOM_Resolve(somSelf, NVList, add_item) \
  135.     (somSelf,ev,item_name,item_type,value,value_len,item_flags))
  136. #ifndef SOMGD_add_item
  137.     #if (defined(_add_item) || defined(__add_item))
  138.         #undef _add_item
  139.         #undef __add_item
  140.         #define SOMGD_add_item 1
  141.     #else
  142.         #define _add_item NVList_add_item
  143.     #endif /* _add_item */
  144. #endif /* SOMGD_add_item */
  145.  
  146. /*
  147.  * New Method: free
  148.  */
  149. typedef ORBStatus   SOMLINK somTP_NVList_free(NVList *somSelf, Environment *ev);
  150. #pragma linkage(somTP_NVList_free, system)
  151. typedef somTP_NVList_free *somTD_NVList_free;
  152. #define somMD_NVList_free "::NVList::free"
  153. #define NVList_free(somSelf,ev) \
  154.     (SOM_Resolve(somSelf, NVList, free) \
  155.     (somSelf,ev))
  156. #ifndef SOMGD_free
  157.     #if (defined(_free) || defined(__free))
  158.         #undef _free
  159.         #undef __free
  160.         #define SOMGD_free 1
  161.     #else
  162.         #define _free NVList_free
  163.     #endif /* _free */
  164. #endif /* SOMGD_free */
  165.  
  166. /*
  167.  * New Method: free_memory
  168.  */
  169. typedef ORBStatus   SOMLINK somTP_NVList_free_memory(NVList *somSelf, Environment *ev);
  170. #pragma linkage(somTP_NVList_free_memory, system)
  171. typedef somTP_NVList_free_memory *somTD_NVList_free_memory;
  172. #define somMD_NVList_free_memory "::NVList::free_memory"
  173. #define NVList_free_memory(somSelf,ev) \
  174.     (SOM_Resolve(somSelf, NVList, free_memory) \
  175.     (somSelf,ev))
  176. #ifndef SOMGD_free_memory
  177.     #if (defined(_free_memory) || defined(__free_memory))
  178.         #undef _free_memory
  179.         #undef __free_memory
  180.         #define SOMGD_free_memory 1
  181.     #else
  182.         #define _free_memory NVList_free_memory
  183.     #endif /* _free_memory */
  184. #endif /* SOMGD_free_memory */
  185.  
  186. /*
  187.  * New Method: get_count
  188.  */
  189. typedef ORBStatus   SOMLINK somTP_NVList_get_count(NVList *somSelf, Environment *ev, 
  190.         long* count);
  191. #pragma linkage(somTP_NVList_get_count, system)
  192. typedef somTP_NVList_get_count *somTD_NVList_get_count;
  193. /*
  194.  *  These are the accessor functions which allow indexing
  195.  *  into the NVList
  196.  * 
  197.  */
  198. #define somMD_NVList_get_count "::NVList::get_count"
  199. #define NVList_get_count(somSelf,ev,count) \
  200.     (SOM_Resolve(somSelf, NVList, get_count) \
  201.     (somSelf,ev,count))
  202. #ifndef SOMGD_get_count
  203.     #if (defined(_get_count) || defined(__get_count))
  204.         #undef _get_count
  205.         #undef __get_count
  206.         #define SOMGD_get_count 1
  207.     #else
  208.         #define _get_count NVList_get_count
  209.     #endif /* _get_count */
  210. #endif /* SOMGD_get_count */
  211.  
  212. /*
  213.  * New Method: set_item
  214.  */
  215. typedef ORBStatus   SOMLINK somTP_NVList_set_item(NVList *somSelf, Environment *ev, 
  216.         long item_number, 
  217.         Identifier item_name, 
  218.         TypeCode item_type, 
  219.         void* value, 
  220.         long value_len, 
  221.         Flags item_flags);
  222. #pragma linkage(somTP_NVList_set_item, system)
  223. typedef somTP_NVList_set_item *somTD_NVList_set_item;
  224. /*
  225.  *  Items are numbered 0 ... N
  226.  */
  227. #define somMD_NVList_set_item "::NVList::set_item"
  228. #define NVList_set_item(somSelf,ev,item_number,item_name,item_type,value,value_len,item_flags) \
  229.     (SOM_Resolve(somSelf, NVList, set_item) \
  230.     (somSelf,ev,item_number,item_name,item_type,value,value_len,item_flags))
  231. #ifndef SOMGD_set_item
  232.     #if (defined(_set_item) || defined(__set_item))
  233.         #undef _set_item
  234.         #undef __set_item
  235.         #define SOMGD_set_item 1
  236.     #else
  237.         #define _set_item NVList_set_item
  238.     #endif /* _set_item */
  239. #endif /* SOMGD_set_item */
  240.  
  241. /*
  242.  * New Method: get_item
  243.  */
  244. typedef ORBStatus   SOMLINK somTP_NVList_get_item(NVList *somSelf, Environment *ev, 
  245.         long item_number, 
  246.         Identifier* item_name, 
  247.         TypeCode* item_type, 
  248.         void** value, 
  249.         long* value_len, 
  250.         Flags* item_flags);
  251. #pragma linkage(somTP_NVList_get_item, system)
  252. typedef somTP_NVList_get_item *somTD_NVList_get_item;
  253. /*
  254.  *  Items are numbered 0 ... N
  255.  */
  256. #define somMD_NVList_get_item "::NVList::get_item"
  257. #define NVList_get_item(somSelf,ev,item_number,item_name,item_type,value,value_len,item_flags) \
  258.     (SOM_Resolve(somSelf, NVList, get_item) \
  259.     (somSelf,ev,item_number,item_name,item_type,value,value_len,item_flags))
  260. #ifndef SOMGD_get_item
  261.     #if (defined(_get_item) || defined(__get_item))
  262.         #undef _get_item
  263.         #undef __get_item
  264.         #define SOMGD_get_item 1
  265.     #else
  266.         #define _get_item NVList_get_item
  267.     #endif /* _get_item */
  268. #endif /* SOMGD_get_item */
  269. #ifndef SOM_DONT_USE_INHERITED_MACROS
  270. #define NVList_somDefaultInit SOMObject_somDefaultInit
  271. #define NVList_somDestruct SOMObject_somDestruct
  272. #define NVList_somDefaultCopyInit SOMObject_somDefaultCopyInit
  273. #define NVList_somDefaultAssign SOMObject_somDefaultAssign
  274. #define NVList_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  275. #define NVList_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  276. #define NVList_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  277. #define NVList_somDefaultConstAssign SOMObject_somDefaultConstAssign
  278. #define NVList_somDefaultVAssign SOMObject_somDefaultVAssign
  279. #define NVList_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  280. #define NVList_somFree SOMObject_somFree
  281. #define NVList_somUninit SOMObject_somUninit
  282. #define NVList_somGetClass SOMObject_somGetClass
  283. #define NVList_somGetClassName SOMObject_somGetClassName
  284. #define NVList_somGetSize SOMObject_somGetSize
  285. #define NVList_somIsA SOMObject_somIsA
  286. #define NVList_somIsInstanceOf SOMObject_somIsInstanceOf
  287. #define NVList_somRespondsTo SOMObject_somRespondsTo
  288. #define NVList_somDispatch SOMObject_somDispatch
  289. #define NVList_somClassDispatch SOMObject_somClassDispatch
  290. #define NVList_somCastObj SOMObject_somCastObj
  291. #define NVList_somResetObj SOMObject_somResetObj
  292. #define NVList_somDispatchV SOMObject_somDispatchV
  293. #define NVList_somDispatchL SOMObject_somDispatchL
  294. #define NVList_somDispatchA SOMObject_somDispatchA
  295. #define NVList_somDispatchD SOMObject_somDispatchD
  296. #define NVList_somPrintSelf SOMObject_somPrintSelf
  297. #define NVList_somDumpSelf SOMObject_somDumpSelf
  298. #define NVList_somDumpSelfInt SOMObject_somDumpSelfInt
  299. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  300.  
  301. #endif       /* SOM_NVList_h */
  302.