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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\NVLIST.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.  *   This class implements the NVList object.
  24.  */
  25.  
  26.  
  27. #ifndef SOM_NVList_h
  28. #define SOM_NVList_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 NVList
  44. #define NVList 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.  
  58. /*
  59.  * End of user-defined types.
  60.  */
  61.  
  62. #define NVList_MajorVersion 2
  63. #define NVList_MinorVersion 1
  64.  
  65. /*
  66.  * External name shortening if required
  67.  */
  68. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  69. #define NVListNewClass c
  70. #define NVListClassData d
  71. #define NVListCClassData x
  72. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  73. /*--------------Migration------------*/
  74. #define NVList_classObj NVListClassData.classObject
  75. #define _NVList NVList_classObj
  76.  
  77. /*
  78.  * Declare the class creation procedure
  79.  */
  80. SOMEXTERN
  81. #if (defined(SOM_Module_NVLIST_Source) || defined(NVList_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_NVList))
  82. WIN32_DLLEXPORT
  83. #else
  84. WIN32_DLLIMPORT
  85. #endif
  86. SOMClass * SOMLINK NVListNewClass(integer4 somntmajorVersion,
  87.         integer4 somntminorVersion);
  88.  
  89. /*
  90.  * Declare the class data structure
  91.  */
  92. SOMEXTERN struct NVListClassDataStructure {
  93.     SOMClass *classObject;
  94.     somMToken add_item;
  95.     somMToken remove_item;
  96.     somMToken free;
  97.     somMToken free_memory;
  98.     somMToken get_count;
  99.     somMToken set_item;
  100.     somMToken get_item;
  101.     somMToken get_item_by_name;
  102. #if (defined(SOM_Module_NVLIST_Source) || defined(NVList_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_NVList))
  103. } WIN32_DLLEXPORT SOMDLINK NVListClassData;
  104. #else
  105. } WIN32_DLLIMPORT SOMDLINK NVListClassData;
  106. #endif
  107.  
  108. /*
  109.  * Declare the C specific class data structure
  110.  */
  111. SOMEXTERN struct NVListCClassDataStructure {
  112.     somMethodTabs parentMtab;
  113.     somDToken instanceDataToken;
  114. #if (defined(SOM_Module_NVLIST_Source) || defined(NVList_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_NVList))
  115. } WIN32_DLLEXPORT SOMDLINK NVListCClassData;
  116. #else
  117. } WIN32_DLLIMPORT SOMDLINK NVListCClassData;
  118. #endif
  119.  
  120. /*
  121.  * New and Renew macros for NVList
  122.  */
  123. #define NVListNew() \
  124.    (_somNew(_NVList ? _NVList : NVListNewClass(NVList_MajorVersion, NVList_MinorVersion)))
  125. #define NVListRenew(buf) \
  126.    (_somRenew(_NVList ? _NVList : NVListNewClass(NVList_MajorVersion, NVList_MinorVersion), buf))
  127.  
  128. /*
  129.  * Override method: somInit
  130.  */
  131. #define NVList_somInit(somSelf) \
  132.     SOMObject_somInit(somSelf)
  133.  
  134. /*
  135.  * New Method: add_item
  136.  */
  137. typedef ORBStatus   SOMLINK somTP_NVList_add_item(NVList *somSelf, Environment *ev,
  138.         Identifier item_name,
  139.         TypeCode item_type,
  140.         void* value,
  141.         long value_len,
  142.         Flags item_flags);
  143. typedef somTP_NVList_add_item *somTD_NVList_add_item;
  144. #define somMD_NVList_add_item "::NVList::add_item"
  145. #define NVList_add_item(somSelf,ev,item_name,item_type,value,value_len,item_flags) \
  146.     (SOM_Resolve(somSelf, NVList, add_item) \
  147.     (somSelf,ev,item_name,item_type,value,value_len,item_flags))
  148. #ifndef SOMGD_add_item
  149.     #if (defined(_add_item) || defined(__add_item))
  150.         #undef _add_item
  151.         #undef __add_item
  152.         #define SOMGD_add_item 1
  153.     #else
  154.         #define _add_item NVList_add_item
  155.     #endif /* _add_item */
  156. #endif /* SOMGD_add_item */
  157.  
  158. /*
  159.  * New Method: free
  160.  */
  161. typedef ORBStatus   SOMLINK somTP_NVList_free(NVList *somSelf, Environment *ev);
  162. typedef somTP_NVList_free *somTD_NVList_free;
  163. #define somMD_NVList_free "::NVList::free"
  164. #define NVList_free(somSelf,ev) \
  165.     (SOM_Resolve(somSelf, NVList, free) \
  166.     (somSelf,ev))
  167. #ifndef SOMGD_free
  168.     #if (defined(_free) || defined(__free))
  169.         #undef _free
  170.         #undef __free
  171.         #define SOMGD_free 1
  172.     #else
  173.         #define _free NVList_free
  174.     #endif /* _free */
  175. #endif /* SOMGD_free */
  176.  
  177. /*
  178.  * New Method: free_memory
  179.  */
  180. typedef ORBStatus   SOMLINK somTP_NVList_free_memory(NVList *somSelf, Environment *ev);
  181. typedef somTP_NVList_free_memory *somTD_NVList_free_memory;
  182. #define somMD_NVList_free_memory "::NVList::free_memory"
  183. #define NVList_free_memory(somSelf,ev) \
  184.     (SOM_Resolve(somSelf, NVList, free_memory) \
  185.     (somSelf,ev))
  186. #ifndef SOMGD_free_memory
  187.     #if (defined(_free_memory) || defined(__free_memory))
  188.         #undef _free_memory
  189.         #undef __free_memory
  190.         #define SOMGD_free_memory 1
  191.     #else
  192.         #define _free_memory NVList_free_memory
  193.     #endif /* _free_memory */
  194. #endif /* SOMGD_free_memory */
  195.  
  196. /*
  197.  * New Method: get_count
  198.  */
  199. typedef ORBStatus   SOMLINK somTP_NVList_get_count(NVList *somSelf, Environment *ev,
  200.         long* count);
  201. typedef somTP_NVList_get_count *somTD_NVList_get_count;
  202. #define somMD_NVList_get_count "::NVList::get_count"
  203. #define NVList_get_count(somSelf,ev,count) \
  204.     (SOM_Resolve(somSelf, NVList, get_count) \
  205.     (somSelf,ev,count))
  206. #ifndef SOMGD_get_count
  207.     #if (defined(_get_count) || defined(__get_count))
  208.         #undef _get_count
  209.         #undef __get_count
  210.         #define SOMGD_get_count 1
  211.     #else
  212.         #define _get_count NVList_get_count
  213.     #endif /* _get_count */
  214. #endif /* SOMGD_get_count */
  215.  
  216. /*
  217.  * New Method: set_item
  218.  */
  219. typedef ORBStatus   SOMLINK somTP_NVList_set_item(NVList *somSelf, Environment *ev,
  220.         long item_number,
  221.         Identifier item_name,
  222.         TypeCode item_type,
  223.         void* value,
  224.         long value_len,
  225.         Flags item_flags);
  226. typedef somTP_NVList_set_item *somTD_NVList_set_item;
  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. typedef somTP_NVList_get_item *somTD_NVList_get_item;
  252. #define somMD_NVList_get_item "::NVList::get_item"
  253. #define NVList_get_item(somSelf,ev,item_number,item_name,item_type,value,value_len,item_flags) \
  254.     (SOM_Resolve(somSelf, NVList, get_item) \
  255.     (somSelf,ev,item_number,item_name,item_type,value,value_len,item_flags))
  256. #ifndef SOMGD_get_item
  257.     #if (defined(_get_item) || defined(__get_item))
  258.         #undef _get_item
  259.         #undef __get_item
  260.         #define SOMGD_get_item 1
  261.     #else
  262.         #define _get_item NVList_get_item
  263.     #endif /* _get_item */
  264. #endif /* SOMGD_get_item */
  265. #ifndef SOM_DONT_USE_INHERITED_MACROS
  266. #define NVList_somDefaultInit SOMObject_somDefaultInit
  267. #define NVList_somDestruct SOMObject_somDestruct
  268. #define NVList_somDefaultCopyInit SOMObject_somDefaultCopyInit
  269. #define NVList_somDefaultAssign SOMObject_somDefaultAssign
  270. #define NVList_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  271. #define NVList_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  272. #define NVList_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  273. #define NVList_somDefaultConstAssign SOMObject_somDefaultConstAssign
  274. #define NVList_somDefaultVAssign SOMObject_somDefaultVAssign
  275. #define NVList_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  276. #define NVList_somFree SOMObject_somFree
  277. #define NVList_somUninit SOMObject_somUninit
  278. #define NVList_somGetClass SOMObject_somGetClass
  279. #define NVList_somGetClassName SOMObject_somGetClassName
  280. #define NVList_somGetSize SOMObject_somGetSize
  281. #define NVList_somIsA SOMObject_somIsA
  282. #define NVList_somIsInstanceOf SOMObject_somIsInstanceOf
  283. #define NVList_somRespondsTo SOMObject_somRespondsTo
  284. #define NVList_somDispatch SOMObject_somDispatch
  285. #define NVList_somClassDispatch SOMObject_somClassDispatch
  286. #define NVList_somCastObj SOMObject_somCastObj
  287. #define NVList_somResetObj SOMObject_somResetObj
  288. #define NVList_somPrintSelf SOMObject_somPrintSelf
  289. #define NVList_somDumpSelf SOMObject_somDumpSelf
  290. #define NVList_somDumpSelfInt SOMObject_somDumpSelfInt
  291. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  292.  
  293. #endif       /* SOM_NVList_h */
  294.