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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\somobj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emith.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somk
  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.  *   SOMObject: System Object Model root class
  24.  */
  25.  
  26.  
  27. #ifndef SOM_SOMObject_h
  28. #define SOM_SOMObject_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 SOMObject
  44. #define SOMObject SOMObject
  45. #endif
  46.  
  47. /*
  48.  * Start of user-defined types:
  49.  */
  50. #ifndef SOMClass
  51.     #define SOMClass SOMObject
  52. #endif /* SOMClass */
  53. #ifndef _IDL_SEQUENCE_SOMObject_defined
  54. #define _IDL_SEQUENCE_SOMObject_defined
  55. typedef struct {
  56.     unsigned long _maximum;
  57.     unsigned long _length;
  58.     SOMObject **_buffer;
  59. } _IDL_SEQUENCE_SOMObject;
  60. #endif /* _IDL_SEQUENCE_SOMObject_defined */ 
  61. typedef
  62. _IDL_SEQUENCE_SOMObject SOMObject_SOMObjectSequence;
  63.  
  64. /*
  65.  *  a sequence of booleans.
  66.  */
  67. #ifndef _IDL_SEQUENCE_octet_defined
  68. #define _IDL_SEQUENCE_octet_defined
  69. typedef struct {
  70.     unsigned long _maximum;
  71.     unsigned long _length;
  72.     octet *_buffer;
  73. } _IDL_SEQUENCE_octet;
  74. #endif /* _IDL_SEQUENCE_octet_defined */ 
  75. typedef
  76. _IDL_SEQUENCE_octet SOMObject_BooleanSequence;
  77.  
  78. /*
  79.  *  a structure to describe an object-related offset, and
  80.  *  a sequence of class-related offsets
  81.  */
  82. typedef
  83. struct SOMObject_somObjectOffset {
  84. SOMObject* obj;
  85. long  offset;
  86. } SOMObject_somObjectOffset;
  87. struct SOMObject_somObjectOffset;
  88. #ifndef _IDL_SEQUENCE_SOMObject_somObjectOffset_defined
  89. #define _IDL_SEQUENCE_SOMObject_somObjectOffset_defined
  90. typedef struct {
  91.     unsigned long _maximum;
  92.     unsigned long _length;
  93.     struct SOMObject_somObjectOffset *_buffer;
  94. } _IDL_SEQUENCE_SOMObject_somObjectOffset;
  95. #endif /* _IDL_SEQUENCE_SOMObject_somObjectOffset_defined */ 
  96. typedef
  97. _IDL_SEQUENCE_SOMObject_somObjectOffset SOMObject_somObjectOffsets;
  98.  
  99. #ifndef SOM_DONT_USE_SHORT_NAMES
  100.  
  101. #ifndef SOM_DONT_USE_SHORT_NAMES
  102. #ifndef SOMTGD_SOMObjectSequence
  103.     #ifdef SOMObjectSequence
  104.         #undef SOMObjectSequence
  105.         #define SOMTGD_SOMObjectSequence 1
  106.     #else
  107.         #define SOMObjectSequence SOMObject_SOMObjectSequence
  108.     #endif /* SOMObjectSequence */
  109. #endif /* SOMTGD_SOMObjectSequence */
  110. #endif /* SOM_DONT_USE_SHORT_NAMES */
  111.  
  112. #ifndef SOM_DONT_USE_SHORT_NAMES
  113. #ifndef SOMTGD_BooleanSequence
  114.     #ifdef BooleanSequence
  115.         #undef BooleanSequence
  116.         #define SOMTGD_BooleanSequence 1
  117.     #else
  118.         #define BooleanSequence SOMObject_BooleanSequence
  119.     #endif /* BooleanSequence */
  120. #endif /* SOMTGD_BooleanSequence */
  121. #endif /* SOM_DONT_USE_SHORT_NAMES */
  122. #ifndef SOMTGD_somObjectOffset
  123.     #ifdef somObjectOffset
  124.         #undef somObjectOffset
  125.         #define SOMTGD_somObjectOffset 1
  126.     #else
  127.         #define somObjectOffset SOMObject_somObjectOffset
  128.     #endif /* somObjectOffset */
  129. #endif /* SOMTGD_somObjectOffset */
  130. #ifndef SOMTGD__IDL_SEQUENCE_somObjectOffset
  131.     #ifdef _IDL_SEQUENCE_somObjectOffset
  132.         #undef _IDL_SEQUENCE_somObjectOffset
  133.         #define SOMTGD__IDL_SEQUENCE_somObjectOffset 1
  134.     #else
  135.         #define _IDL_SEQUENCE_somObjectOffset _IDL_SEQUENCE_SOMObject_somObjectOffset
  136.     #endif /* _IDL_SEQUENCE_somObjectOffset */
  137. #endif /* SOMTGD__IDL_SEQUENCE_somObjectOffset */
  138.  
  139. #ifndef SOM_DONT_USE_SHORT_NAMES
  140. #ifndef SOMTGD_somObjectOffsets
  141.     #ifdef somObjectOffsets
  142.         #undef somObjectOffsets
  143.         #define SOMTGD_somObjectOffsets 1
  144.     #else
  145.         #define somObjectOffsets SOMObject_somObjectOffsets
  146.     #endif /* somObjectOffsets */
  147. #endif /* SOMTGD_somObjectOffsets */
  148. #endif /* SOM_DONT_USE_SHORT_NAMES */
  149. #endif /* SOM_DONT_USE_SHORT_NAMES */
  150.  
  151. /*
  152.  * End of user-defined types.
  153.  */
  154.  
  155. #define SOMObject_MajorVersion 1
  156. #define SOMObject_MinorVersion 4
  157.  
  158. /*
  159.  * External name shortening if required
  160.  */
  161. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  162. #define SOMObjectNewClass somobc
  163. #define SOMObjectClassData somobd
  164. #define SOMObjectCClassData somobx
  165. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  166. /*--------------Migration------------*/
  167. #define SOMObject_classObj SOMObjectClassData.classObject
  168. #define _SOMObject SOMObject_classObj
  169.  
  170. /*
  171.  * Declare the class creation procedure
  172.  */
  173. SOMEXTERN
  174. #if (defined(SOM_Module_somobj_Source) || defined(SOMObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMObject))
  175. WIN32_DLLEXPORT
  176. #else
  177. WIN32_DLLIMPORT
  178. #endif
  179. SOMClass * SOMLINK SOMObjectNewClass(integer4 somntmajorVersion,
  180.         integer4 somntminorVersion);
  181.  
  182. /*
  183.  * Declare the class data structure
  184.  */
  185. SOMEXTERN struct SOMObjectClassDataStructure {
  186.     SOMClass *classObject;
  187.     somMToken somInit;
  188.     somMToken somUninit;
  189.     somMToken somFree;
  190.     somMToken somDefaultVCopyInit;
  191.     somMToken somGetClassName;
  192.     somMToken somGetClass;
  193.     somMToken somIsA;
  194.     somMToken somRespondsTo;
  195.     somMToken somIsInstanceOf;
  196.     somMToken somGetSize;
  197.     somMToken somDumpSelf;
  198.     somMToken somDumpSelfInt;
  199.     somMToken somPrintSelf;
  200.     somMToken somDefaultConstVCopyInit;
  201.     somMToken somDispatchV;
  202.     somMToken somDispatchL;
  203.     somMToken somDispatchA;
  204.     somMToken somDispatchD;
  205.     somMToken somDispatch;
  206.     somMToken somClassDispatch;
  207.     somMToken somCastObj;
  208.     somMToken somResetObj;
  209.     somMToken somDefaultInit;
  210.     somMToken somDestruct;
  211.     somMToken somPrivate1;
  212.     somMToken somPrivate2;
  213.     somMToken somDefaultCopyInit;
  214.     somMToken somDefaultConstCopyInit;
  215.     somMToken somDefaultAssign;
  216.     somMToken somDefaultConstAssign;
  217.     somMToken somDefaultVAssign;
  218.     somMToken somDefaultConstVAssign;
  219. #if (defined(SOM_Module_somobj_Source) || defined(SOMObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMObject))
  220. } WIN32_DLLEXPORT SOMDLINK SOMObjectClassData;
  221. #else
  222. } WIN32_DLLIMPORT SOMDLINK SOMObjectClassData;
  223. #endif
  224.  
  225. /*
  226.  * Declare the C specific class data structure
  227.  */
  228. SOMEXTERN struct SOMObjectCClassDataStructure {
  229.     somMethodTabs parentMtab;
  230.     somDToken instanceDataToken;
  231.     somMethodProc *somDispatch;
  232.     somMethodProc *somClassDispatch;
  233. #if (defined(SOM_Module_somobj_Source) || defined(SOMObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMObject))
  234. } WIN32_DLLEXPORT SOMDLINK SOMObjectCClassData;
  235. #else
  236. } WIN32_DLLIMPORT SOMDLINK SOMObjectCClassData;
  237. #endif
  238.  
  239. /*
  240.  * New and Renew macros for SOMObject
  241.  */
  242. #define SOMObjectNew() \
  243.    (_somNew(_SOMObject ? _SOMObject : SOMObjectNewClass(SOMObject_MajorVersion, SOMObject_MinorVersion)))
  244. #define SOMObjectRenew(buf) \
  245.    (_somRenew(_SOMObject ? _SOMObject : SOMObjectNewClass(SOMObject_MajorVersion, SOMObject_MinorVersion), buf))
  246.  
  247. /*
  248.  * New Method: somDefaultInit
  249.  */
  250. typedef void   SOMLINK somTP_SOMObject_somDefaultInit(SOMObject *somSelf,
  251.         somInitCtrl* ctrl);
  252. typedef somTP_SOMObject_somDefaultInit *somTD_SOMObject_somDefaultInit;
  253. #define somMD_SOMObject_somDefaultInit "::SOMObject::somDefaultInit"
  254. #define SOMObject_somDefaultInit(somSelf,ctrl) \
  255.     (SOM_Resolve(somSelf, SOMObject, somDefaultInit) \
  256.     (somSelf,ctrl))
  257. #ifndef SOMGD_somDefaultInit
  258.     #if (defined(_somDefaultInit) || defined(__somDefaultInit))
  259.         #undef _somDefaultInit
  260.         #undef __somDefaultInit
  261.         #define SOMGD_somDefaultInit 1
  262.     #else
  263.         #define _somDefaultInit SOMObject_somDefaultInit
  264.     #endif /* _somDefaultInit */
  265. #endif /* SOMGD_somDefaultInit */
  266.  
  267. /*
  268.  * New Method: somDestruct
  269.  */
  270. typedef void   SOMLINK somTP_SOMObject_somDestruct(SOMObject *somSelf,
  271.         octet doFree,
  272.         somDestructCtrl* ctrl);
  273. typedef somTP_SOMObject_somDestruct *somTD_SOMObject_somDestruct;
  274. #define somMD_SOMObject_somDestruct "::SOMObject::somDestruct"
  275. #define SOMObject_somDestruct(somSelf,doFree,ctrl) \
  276.     (SOM_Resolve(somSelf, SOMObject, somDestruct) \
  277.     (somSelf,doFree,ctrl))
  278. #ifndef SOMGD_somDestruct
  279.     #if (defined(_somDestruct) || defined(__somDestruct))
  280.         #undef _somDestruct
  281.         #undef __somDestruct
  282.         #define SOMGD_somDestruct 1
  283.     #else
  284.         #define _somDestruct SOMObject_somDestruct
  285.     #endif /* _somDestruct */
  286. #endif /* SOMGD_somDestruct */
  287.  
  288. /*
  289.  * New Method: somDefaultCopyInit
  290.  */
  291. typedef void   SOMLINK somTP_SOMObject_somDefaultCopyInit(SOMObject *somSelf,
  292.         somInitCtrl* ctrl,
  293.         SOMObject* fromObj);
  294. typedef somTP_SOMObject_somDefaultCopyInit *somTD_SOMObject_somDefaultCopyInit;
  295. #define somMD_SOMObject_somDefaultCopyInit "::SOMObject::somDefaultCopyInit"
  296. #define SOMObject_somDefaultCopyInit(somSelf,ctrl,fromObj) \
  297.     (SOM_Resolve(somSelf, SOMObject, somDefaultCopyInit) \
  298.     (somSelf,ctrl,fromObj))
  299. #ifndef SOMGD_somDefaultCopyInit
  300.     #if (defined(_somDefaultCopyInit) || defined(__somDefaultCopyInit))
  301.         #undef _somDefaultCopyInit
  302.         #undef __somDefaultCopyInit
  303.         #define SOMGD_somDefaultCopyInit 1
  304.     #else
  305.         #define _somDefaultCopyInit SOMObject_somDefaultCopyInit
  306.     #endif /* _somDefaultCopyInit */
  307. #endif /* SOMGD_somDefaultCopyInit */
  308.  
  309. /*
  310.  * New Method: somDefaultAssign
  311.  */
  312. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultAssign(SOMObject *somSelf,
  313.         somAssignCtrl* ctrl,
  314.         SOMObject* fromObj);
  315. typedef somTP_SOMObject_somDefaultAssign *somTD_SOMObject_somDefaultAssign;
  316. #define somMD_SOMObject_somDefaultAssign "::SOMObject::somDefaultAssign"
  317. #define SOMObject_somDefaultAssign(somSelf,ctrl,fromObj) \
  318.     (SOM_Resolve(somSelf, SOMObject, somDefaultAssign) \
  319.     (somSelf,ctrl,fromObj))
  320. #ifndef SOMGD_somDefaultAssign
  321.     #if (defined(_somDefaultAssign) || defined(__somDefaultAssign))
  322.         #undef _somDefaultAssign
  323.         #undef __somDefaultAssign
  324.         #define SOMGD_somDefaultAssign 1
  325.     #else
  326.         #define _somDefaultAssign SOMObject_somDefaultAssign
  327.     #endif /* _somDefaultAssign */
  328. #endif /* SOMGD_somDefaultAssign */
  329.  
  330. /*
  331.  * New Method: somDefaultConstCopyInit
  332.  */
  333. typedef void   SOMLINK somTP_SOMObject_somDefaultConstCopyInit(SOMObject *somSelf,
  334.         somInitCtrl* ctrl,
  335.         SOMObject* fromObj);
  336. typedef somTP_SOMObject_somDefaultConstCopyInit *somTD_SOMObject_somDefaultConstCopyInit;
  337. #define somMD_SOMObject_somDefaultConstCopyInit "::SOMObject::somDefaultConstCopyInit"
  338. #define SOMObject_somDefaultConstCopyInit(somSelf,ctrl,fromObj) \
  339.     (SOM_Resolve(somSelf, SOMObject, somDefaultConstCopyInit) \
  340.     (somSelf,ctrl,fromObj))
  341. #ifndef SOMGD_somDefaultConstCopyInit
  342.     #if (defined(_somDefaultConstCopyInit) || defined(__somDefaultConstCopyInit))
  343.         #undef _somDefaultConstCopyInit
  344.         #undef __somDefaultConstCopyInit
  345.         #define SOMGD_somDefaultConstCopyInit 1
  346.     #else
  347.         #define _somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  348.     #endif /* _somDefaultConstCopyInit */
  349. #endif /* SOMGD_somDefaultConstCopyInit */
  350.  
  351. /*
  352.  * New Method: somDefaultVCopyInit
  353.  */
  354. typedef void   SOMLINK somTP_SOMObject_somDefaultVCopyInit(SOMObject *somSelf,
  355.         somInitCtrl* ctrl,
  356.         SOMObject* fromObj);
  357. typedef somTP_SOMObject_somDefaultVCopyInit *somTD_SOMObject_somDefaultVCopyInit;
  358. #define somMD_SOMObject_somDefaultVCopyInit "::SOMObject::somDefaultVCopyInit"
  359. #define SOMObject_somDefaultVCopyInit(somSelf,ctrl,fromObj) \
  360.     (SOM_Resolve(somSelf, SOMObject, somDefaultVCopyInit) \
  361.     (somSelf,ctrl,fromObj))
  362. #ifndef SOMGD_somDefaultVCopyInit
  363.     #if (defined(_somDefaultVCopyInit) || defined(__somDefaultVCopyInit))
  364.         #undef _somDefaultVCopyInit
  365.         #undef __somDefaultVCopyInit
  366.         #define SOMGD_somDefaultVCopyInit 1
  367.     #else
  368.         #define _somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  369.     #endif /* _somDefaultVCopyInit */
  370. #endif /* SOMGD_somDefaultVCopyInit */
  371.  
  372. /*
  373.  * New Method: somDefaultConstVCopyInit
  374.  */
  375. typedef void   SOMLINK somTP_SOMObject_somDefaultConstVCopyInit(SOMObject *somSelf,
  376.         somInitCtrl* ctrl,
  377.         SOMObject* fromObj);
  378. typedef somTP_SOMObject_somDefaultConstVCopyInit *somTD_SOMObject_somDefaultConstVCopyInit;
  379. #define somMD_SOMObject_somDefaultConstVCopyInit "::SOMObject::somDefaultConstVCopyInit"
  380. #define SOMObject_somDefaultConstVCopyInit(somSelf,ctrl,fromObj) \
  381.     (SOM_Resolve(somSelf, SOMObject, somDefaultConstVCopyInit) \
  382.     (somSelf,ctrl,fromObj))
  383. #ifndef SOMGD_somDefaultConstVCopyInit
  384.     #if (defined(_somDefaultConstVCopyInit) || defined(__somDefaultConstVCopyInit))
  385.         #undef _somDefaultConstVCopyInit
  386.         #undef __somDefaultConstVCopyInit
  387.         #define SOMGD_somDefaultConstVCopyInit 1
  388.     #else
  389.         #define _somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  390.     #endif /* _somDefaultConstVCopyInit */
  391. #endif /* SOMGD_somDefaultConstVCopyInit */
  392.  
  393. /*
  394.  * New Method: somDefaultConstAssign
  395.  */
  396. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultConstAssign(SOMObject *somSelf,
  397.         somAssignCtrl* ctrl,
  398.         SOMObject* fromObj);
  399. typedef somTP_SOMObject_somDefaultConstAssign *somTD_SOMObject_somDefaultConstAssign;
  400. #define somMD_SOMObject_somDefaultConstAssign "::SOMObject::somDefaultConstAssign"
  401. #define SOMObject_somDefaultConstAssign(somSelf,ctrl,fromObj) \
  402.     (SOM_Resolve(somSelf, SOMObject, somDefaultConstAssign) \
  403.     (somSelf,ctrl,fromObj))
  404. #ifndef SOMGD_somDefaultConstAssign
  405.     #if (defined(_somDefaultConstAssign) || defined(__somDefaultConstAssign))
  406.         #undef _somDefaultConstAssign
  407.         #undef __somDefaultConstAssign
  408.         #define SOMGD_somDefaultConstAssign 1
  409.     #else
  410.         #define _somDefaultConstAssign SOMObject_somDefaultConstAssign
  411.     #endif /* _somDefaultConstAssign */
  412. #endif /* SOMGD_somDefaultConstAssign */
  413.  
  414. /*
  415.  * New Method: somDefaultVAssign
  416.  */
  417. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultVAssign(SOMObject *somSelf,
  418.         somAssignCtrl* ctrl,
  419.         SOMObject* fromObj);
  420. typedef somTP_SOMObject_somDefaultVAssign *somTD_SOMObject_somDefaultVAssign;
  421. #define somMD_SOMObject_somDefaultVAssign "::SOMObject::somDefaultVAssign"
  422. #define SOMObject_somDefaultVAssign(somSelf,ctrl,fromObj) \
  423.     (SOM_Resolve(somSelf, SOMObject, somDefaultVAssign) \
  424.     (somSelf,ctrl,fromObj))
  425. #ifndef SOMGD_somDefaultVAssign
  426.     #if (defined(_somDefaultVAssign) || defined(__somDefaultVAssign))
  427.         #undef _somDefaultVAssign
  428.         #undef __somDefaultVAssign
  429.         #define SOMGD_somDefaultVAssign 1
  430.     #else
  431.         #define _somDefaultVAssign SOMObject_somDefaultVAssign
  432.     #endif /* _somDefaultVAssign */
  433. #endif /* SOMGD_somDefaultVAssign */
  434.  
  435. /*
  436.  * New Method: somDefaultConstVAssign
  437.  */
  438. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultConstVAssign(SOMObject *somSelf,
  439.         somAssignCtrl* ctrl,
  440.         SOMObject* fromObj);
  441. typedef somTP_SOMObject_somDefaultConstVAssign *somTD_SOMObject_somDefaultConstVAssign;
  442. #define somMD_SOMObject_somDefaultConstVAssign "::SOMObject::somDefaultConstVAssign"
  443. #define SOMObject_somDefaultConstVAssign(somSelf,ctrl,fromObj) \
  444.     (SOM_Resolve(somSelf, SOMObject, somDefaultConstVAssign) \
  445.     (somSelf,ctrl,fromObj))
  446. #ifndef SOMGD_somDefaultConstVAssign
  447.     #if (defined(_somDefaultConstVAssign) || defined(__somDefaultConstVAssign))
  448.         #undef _somDefaultConstVAssign
  449.         #undef __somDefaultConstVAssign
  450.         #define SOMGD_somDefaultConstVAssign 1
  451.     #else
  452.         #define _somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  453.     #endif /* _somDefaultConstVAssign */
  454. #endif /* SOMGD_somDefaultConstVAssign */
  455.  
  456. /*
  457.  * New Method: somInit
  458.  */
  459. typedef void   SOMLINK somTP_SOMObject_somInit(SOMObject *somSelf);
  460. typedef somTP_SOMObject_somInit *somTD_SOMObject_somInit;
  461. #define somMD_SOMObject_somInit "::SOMObject::somInit"
  462. #define SOMObject_somInit(somSelf) \
  463.     (SOM_Resolve(somSelf, SOMObject, somInit) \
  464.     (somSelf))
  465. #ifndef SOMGD_somInit
  466.     #if (defined(_somInit) || defined(__somInit))
  467.         #undef _somInit
  468.         #undef __somInit
  469.         #define SOMGD_somInit 1
  470.     #else
  471.         #define _somInit SOMObject_somInit
  472.     #endif /* _somInit */
  473. #endif /* SOMGD_somInit */
  474.  
  475. /*
  476.  * New Method: somFree
  477.  */
  478. typedef void   SOMLINK somTP_SOMObject_somFree(SOMObject *somSelf);
  479. typedef somTP_SOMObject_somFree *somTD_SOMObject_somFree;
  480. #define somMD_SOMObject_somFree "::SOMObject::somFree"
  481. #define SOMObject_somFree(somSelf) \
  482.     (SOM_Resolve(somSelf, SOMObject, somFree) \
  483.     (somSelf))
  484. #ifndef SOMGD_somFree
  485.     #if (defined(_somFree) || defined(__somFree))
  486.         #undef _somFree
  487.         #undef __somFree
  488.         #define SOMGD_somFree 1
  489.     #else
  490.         #define _somFree SOMObject_somFree
  491.     #endif /* _somFree */
  492. #endif /* SOMGD_somFree */
  493.  
  494. /*
  495.  * New Method: somUninit
  496.  */
  497. typedef void   SOMLINK somTP_SOMObject_somUninit(SOMObject *somSelf);
  498. typedef somTP_SOMObject_somUninit *somTD_SOMObject_somUninit;
  499. #define somMD_SOMObject_somUninit "::SOMObject::somUninit"
  500. #define SOMObject_somUninit(somSelf) \
  501.     (SOM_Resolve(somSelf, SOMObject, somUninit) \
  502.     (somSelf))
  503. #ifndef SOMGD_somUninit
  504.     #if (defined(_somUninit) || defined(__somUninit))
  505.         #undef _somUninit
  506.         #undef __somUninit
  507.         #define SOMGD_somUninit 1
  508.     #else
  509.         #define _somUninit SOMObject_somUninit
  510.     #endif /* _somUninit */
  511. #endif /* SOMGD_somUninit */
  512.  
  513. /*
  514.  * New Method: somGetClass
  515.  */
  516. typedef SOMClass*   SOMLINK somTP_SOMObject_somGetClass(SOMObject *somSelf);
  517. typedef somTP_SOMObject_somGetClass *somTD_SOMObject_somGetClass;
  518. #define somMD_SOMObject_somGetClass "::SOMObject::somGetClass"
  519. #define SOMObject_somGetClass(somSelf) \
  520.     (SOM_Resolve(somSelf, SOMObject, somGetClass) \
  521.     (somSelf))
  522. #ifndef SOMGD_somGetClass
  523.     #if (defined(_somGetClass) || defined(__somGetClass))
  524.         #undef _somGetClass
  525.         #undef __somGetClass
  526.         #define SOMGD_somGetClass 1
  527.     #else
  528.         #define _somGetClass SOMObject_somGetClass
  529.     #endif /* _somGetClass */
  530. #endif /* SOMGD_somGetClass */
  531.  
  532. /*
  533.  * New Method: somGetClassName
  534.  */
  535. typedef string   SOMLINK somTP_SOMObject_somGetClassName(SOMObject *somSelf);
  536. typedef somTP_SOMObject_somGetClassName *somTD_SOMObject_somGetClassName;
  537. #define somMD_SOMObject_somGetClassName "::SOMObject::somGetClassName"
  538. #define SOMObject_somGetClassName(somSelf) \
  539.     (SOM_Resolve(somSelf, SOMObject, somGetClassName) \
  540.     (somSelf))
  541. #ifndef SOMGD_somGetClassName
  542.     #if (defined(_somGetClassName) || defined(__somGetClassName))
  543.         #undef _somGetClassName
  544.         #undef __somGetClassName
  545.         #define SOMGD_somGetClassName 1
  546.     #else
  547.         #define _somGetClassName SOMObject_somGetClassName
  548.     #endif /* _somGetClassName */
  549. #endif /* SOMGD_somGetClassName */
  550.  
  551. /*
  552.  * New Method: somGetSize
  553.  */
  554. typedef long   SOMLINK somTP_SOMObject_somGetSize(SOMObject *somSelf);
  555. typedef somTP_SOMObject_somGetSize *somTD_SOMObject_somGetSize;
  556. #define somMD_SOMObject_somGetSize "::SOMObject::somGetSize"
  557. #define SOMObject_somGetSize(somSelf) \
  558.     (SOM_Resolve(somSelf, SOMObject, somGetSize) \
  559.     (somSelf))
  560. #ifndef SOMGD_somGetSize
  561.     #if (defined(_somGetSize) || defined(__somGetSize))
  562.         #undef _somGetSize
  563.         #undef __somGetSize
  564.         #define SOMGD_somGetSize 1
  565.     #else
  566.         #define _somGetSize SOMObject_somGetSize
  567.     #endif /* _somGetSize */
  568. #endif /* SOMGD_somGetSize */
  569.  
  570. /*
  571.  * New Method: somIsA
  572.  */
  573. typedef boolean   SOMLINK somTP_SOMObject_somIsA(SOMObject *somSelf,
  574.         SOMClass* aClassObj);
  575. typedef somTP_SOMObject_somIsA *somTD_SOMObject_somIsA;
  576. #define somMD_SOMObject_somIsA "::SOMObject::somIsA"
  577. #define SOMObject_somIsA(somSelf,aClassObj) \
  578.     (SOM_Resolve(somSelf, SOMObject, somIsA) \
  579.     (somSelf,aClassObj))
  580. #ifndef SOMGD_somIsA
  581.     #if (defined(_somIsA) || defined(__somIsA))
  582.         #undef _somIsA
  583.         #undef __somIsA
  584.         #define SOMGD_somIsA 1
  585.     #else
  586.         #define _somIsA SOMObject_somIsA
  587.     #endif /* _somIsA */
  588. #endif /* SOMGD_somIsA */
  589.  
  590. /*
  591.  * New Method: somIsInstanceOf
  592.  */
  593. typedef boolean   SOMLINK somTP_SOMObject_somIsInstanceOf(SOMObject *somSelf,
  594.         SOMClass* aClassObj);
  595. typedef somTP_SOMObject_somIsInstanceOf *somTD_SOMObject_somIsInstanceOf;
  596. #define somMD_SOMObject_somIsInstanceOf "::SOMObject::somIsInstanceOf"
  597. #define SOMObject_somIsInstanceOf(somSelf,aClassObj) \
  598.     (SOM_Resolve(somSelf, SOMObject, somIsInstanceOf) \
  599.     (somSelf,aClassObj))
  600. #ifndef SOMGD_somIsInstanceOf
  601.     #if (defined(_somIsInstanceOf) || defined(__somIsInstanceOf))
  602.         #undef _somIsInstanceOf
  603.         #undef __somIsInstanceOf
  604.         #define SOMGD_somIsInstanceOf 1
  605.     #else
  606.         #define _somIsInstanceOf SOMObject_somIsInstanceOf
  607.     #endif /* _somIsInstanceOf */
  608. #endif /* SOMGD_somIsInstanceOf */
  609.  
  610. /*
  611.  * New Method: somRespondsTo
  612.  */
  613. typedef boolean   SOMLINK somTP_SOMObject_somRespondsTo(SOMObject *somSelf,
  614.         somId mId);
  615. typedef somTP_SOMObject_somRespondsTo *somTD_SOMObject_somRespondsTo;
  616. #define somMD_SOMObject_somRespondsTo "::SOMObject::somRespondsTo"
  617. #define SOMObject_somRespondsTo(somSelf,mId) \
  618.     (SOM_Resolve(somSelf, SOMObject, somRespondsTo) \
  619.     (somSelf,mId))
  620. #ifndef SOMGD_somRespondsTo
  621.     #if (defined(_somRespondsTo) || defined(__somRespondsTo))
  622.         #undef _somRespondsTo
  623.         #undef __somRespondsTo
  624.         #define SOMGD_somRespondsTo 1
  625.     #else
  626.         #define _somRespondsTo SOMObject_somRespondsTo
  627.     #endif /* _somRespondsTo */
  628. #endif /* SOMGD_somRespondsTo */
  629.  
  630. /*
  631.  * New Method: somDispatch
  632.  */
  633. typedef boolean   SOMLINK somTP_SOMObject_somDispatch(SOMObject *somSelf,
  634.         somToken* retValue,
  635.         somId methodId,
  636.         va_list ap);
  637. typedef somTP_SOMObject_somDispatch *somTD_SOMObject_somDispatch;
  638. #define somMD_SOMObject_somDispatch "::SOMObject::somDispatch"
  639. #define SOMObject_somDispatch(somSelf,retValue,methodId,ap) \
  640.     (SOM_Resolve(somSelf, SOMObject, somDispatch) \
  641.     (somSelf,retValue,methodId,ap))
  642.  
  643. /*
  644.  * legacy support for non-system-linkage vararg stub
  645.  * use -mnolegacy to avoid generating this stub.
  646.  */
  647. #ifdef SOMObject_VA_EXTERN
  648.     SOMEXTERN
  649. #else
  650.     static
  651. #endif
  652. boolean   va_SOMObject_somDispatch(SOMObject *somSelf,
  653.         somToken* retValue,
  654.         somId methodId,
  655.         ...)
  656. #if (defined(SOMObject_VA_STUBS)||!defined(SOMObject_VA_EXTERN))
  657. {
  658.     boolean result;
  659.     va_list ap;
  660.     va_start(ap, methodId);
  661.     result = SOMObject_somDispatch(somSelf,retValue,methodId,ap);
  662.     va_end(ap);
  663.     return (result);
  664. }    
  665. #else
  666.     ;
  667. #endif
  668.  
  669. /*
  670.  * normal vararg stubs
  671.  */
  672. #ifndef SOMGD_va_somDispatch
  673.    #ifdef va_somDispatch
  674.       #undef va_somDispatch
  675.       #define SOMGD_va_somDispatch 1
  676.    #else
  677.       #define va_somDispatch somva_SOMObject_somDispatch
  678.    #endif /* va_somDispatch */
  679. #endif /* SOMGD_va_somDispatch */
  680. #ifndef SOMGD_somDispatch
  681.     #if (defined(_somDispatch) || defined(__somDispatch))
  682.         #undef _somDispatch
  683.         #undef __somDispatch
  684.         #define SOMGD_somDispatch 1
  685.     #else
  686.         #define _somDispatch somva_SOMObject_somDispatch
  687.     #endif /* _somDispatch */
  688. #endif /* SOMGD_somDispatch */
  689. #ifdef SOMObject_VA_EXTERN
  690.     SOMEXTERN
  691. #else
  692.     static
  693. #endif
  694. boolean  SOMLINK somva_SOMObject_somDispatch(SOMObject *somSelf,
  695.         somToken* retValue,
  696.         somId methodId,
  697.         ...)
  698. #if (defined(SOMObject_VA_STUBS)||!defined(SOMObject_VA_EXTERN))
  699. {
  700.     boolean result;
  701.     va_list ap;
  702.     va_start(ap, methodId);
  703.     result = SOMObject_somDispatch(somSelf,retValue,methodId,ap);
  704.     va_end(ap);
  705.     return (result);
  706. }    
  707. #else
  708.     ;
  709. #endif
  710.  
  711. /*
  712.  * New Method: somClassDispatch
  713.  */
  714. typedef boolean   SOMLINK somTP_SOMObject_somClassDispatch(SOMObject *somSelf,
  715.         SOMClass* clsObj,
  716.         somToken* retValue,
  717.         somId methodId,
  718.         va_list ap);
  719. typedef somTP_SOMObject_somClassDispatch *somTD_SOMObject_somClassDispatch;
  720. #define somMD_SOMObject_somClassDispatch "::SOMObject::somClassDispatch"
  721. #define SOMObject_somClassDispatch(somSelf,clsObj,retValue,methodId,ap) \
  722.     (SOM_Resolve(somSelf, SOMObject, somClassDispatch) \
  723.     (somSelf,clsObj,retValue,methodId,ap))
  724.  
  725. /*
  726.  * legacy support for non-system-linkage vararg stub
  727.  * use -mnolegacy to avoid generating this stub.
  728.  */
  729. #ifdef SOMObject_VA_EXTERN
  730.     SOMEXTERN
  731. #else
  732.     static
  733. #endif
  734. boolean   va_SOMObject_somClassDispatch(SOMObject *somSelf,
  735.         SOMClass* clsObj,
  736.         somToken* retValue,
  737.         somId methodId,
  738.         ...)
  739. #if (defined(SOMObject_VA_STUBS)||!defined(SOMObject_VA_EXTERN))
  740. {
  741.     boolean result;
  742.     va_list ap;
  743.     va_start(ap, methodId);
  744.     result = SOMObject_somClassDispatch(somSelf,clsObj,retValue,methodId,ap);
  745.     va_end(ap);
  746.     return (result);
  747. }    
  748. #else
  749.     ;
  750. #endif
  751.  
  752. /*
  753.  * normal vararg stubs
  754.  */
  755. #ifndef SOMGD_va_somClassDispatch
  756.    #ifdef va_somClassDispatch
  757.       #undef va_somClassDispatch
  758.       #define SOMGD_va_somClassDispatch 1
  759.    #else
  760.       #define va_somClassDispatch somva_SOMObject_somClassDispatch
  761.    #endif /* va_somClassDispatch */
  762. #endif /* SOMGD_va_somClassDispatch */
  763. #ifndef SOMGD_somClassDispatch
  764.     #if (defined(_somClassDispatch) || defined(__somClassDispatch))
  765.         #undef _somClassDispatch
  766.         #undef __somClassDispatch
  767.         #define SOMGD_somClassDispatch 1
  768.     #else
  769.         #define _somClassDispatch somva_SOMObject_somClassDispatch
  770.     #endif /* _somClassDispatch */
  771. #endif /* SOMGD_somClassDispatch */
  772. #ifdef SOMObject_VA_EXTERN
  773.     SOMEXTERN
  774. #else
  775.     static
  776. #endif
  777. boolean  SOMLINK somva_SOMObject_somClassDispatch(SOMObject *somSelf,
  778.         SOMClass* clsObj,
  779.         somToken* retValue,
  780.         somId methodId,
  781.         ...)
  782. #if (defined(SOMObject_VA_STUBS)||!defined(SOMObject_VA_EXTERN))
  783. {
  784.     boolean result;
  785.     va_list ap;
  786.     va_start(ap, methodId);
  787.     result = SOMObject_somClassDispatch(somSelf,clsObj,retValue,methodId,ap);
  788.     va_end(ap);
  789.     return (result);
  790. }    
  791. #else
  792.     ;
  793. #endif
  794.  
  795. /*
  796.  * New Method: somCastObj
  797.  */
  798. typedef boolean   SOMLINK somTP_SOMObject_somCastObj(SOMObject *somSelf,
  799.         SOMClass* cls);
  800. typedef somTP_SOMObject_somCastObj *somTD_SOMObject_somCastObj;
  801. #define somMD_SOMObject_somCastObj "::SOMObject::somCastObj"
  802. #define SOMObject_somCastObj(somSelf,cls) \
  803.     (SOM_Resolve(somSelf, SOMObject, somCastObj) \
  804.     (somSelf,cls))
  805. #ifndef SOMGD_somCastObj
  806.     #if (defined(_somCastObj) || defined(__somCastObj))
  807.         #undef _somCastObj
  808.         #undef __somCastObj
  809.         #define SOMGD_somCastObj 1
  810.     #else
  811.         #define _somCastObj SOMObject_somCastObj
  812.     #endif /* _somCastObj */
  813. #endif /* SOMGD_somCastObj */
  814.  
  815. /*
  816.  * New Method: somResetObj
  817.  */
  818. typedef boolean   SOMLINK somTP_SOMObject_somResetObj(SOMObject *somSelf);
  819. typedef somTP_SOMObject_somResetObj *somTD_SOMObject_somResetObj;
  820. #define somMD_SOMObject_somResetObj "::SOMObject::somResetObj"
  821. #define SOMObject_somResetObj(somSelf) \
  822.     (SOM_Resolve(somSelf, SOMObject, somResetObj) \
  823.     (somSelf))
  824. #ifndef SOMGD_somResetObj
  825.     #if (defined(_somResetObj) || defined(__somResetObj))
  826.         #undef _somResetObj
  827.         #undef __somResetObj
  828.         #define SOMGD_somResetObj 1
  829.     #else
  830.         #define _somResetObj SOMObject_somResetObj
  831.     #endif /* _somResetObj */
  832. #endif /* SOMGD_somResetObj */
  833.  
  834. /*
  835.  * New Method: somPrintSelf
  836.  */
  837. typedef SOMObject*   SOMLINK somTP_SOMObject_somPrintSelf(SOMObject *somSelf);
  838. typedef somTP_SOMObject_somPrintSelf *somTD_SOMObject_somPrintSelf;
  839. #define somMD_SOMObject_somPrintSelf "::SOMObject::somPrintSelf"
  840. #define SOMObject_somPrintSelf(somSelf) \
  841.     (SOM_Resolve(somSelf, SOMObject, somPrintSelf) \
  842.     (somSelf))
  843. #ifndef SOMGD_somPrintSelf
  844.     #if (defined(_somPrintSelf) || defined(__somPrintSelf))
  845.         #undef _somPrintSelf
  846.         #undef __somPrintSelf
  847.         #define SOMGD_somPrintSelf 1
  848.     #else
  849.         #define _somPrintSelf SOMObject_somPrintSelf
  850.     #endif /* _somPrintSelf */
  851. #endif /* SOMGD_somPrintSelf */
  852.  
  853. /*
  854.  * New Method: somDumpSelf
  855.  */
  856. typedef void   SOMLINK somTP_SOMObject_somDumpSelf(SOMObject *somSelf,
  857.         long level);
  858. typedef somTP_SOMObject_somDumpSelf *somTD_SOMObject_somDumpSelf;
  859. #define somMD_SOMObject_somDumpSelf "::SOMObject::somDumpSelf"
  860. #define SOMObject_somDumpSelf(somSelf,level) \
  861.     (SOM_Resolve(somSelf, SOMObject, somDumpSelf) \
  862.     (somSelf,level))
  863. #ifndef SOMGD_somDumpSelf
  864.     #if (defined(_somDumpSelf) || defined(__somDumpSelf))
  865.         #undef _somDumpSelf
  866.         #undef __somDumpSelf
  867.         #define SOMGD_somDumpSelf 1
  868.     #else
  869.         #define _somDumpSelf SOMObject_somDumpSelf
  870.     #endif /* _somDumpSelf */
  871. #endif /* SOMGD_somDumpSelf */
  872.  
  873. /*
  874.  * New Method: somDumpSelfInt
  875.  */
  876. typedef void   SOMLINK somTP_SOMObject_somDumpSelfInt(SOMObject *somSelf,
  877.         long level);
  878. typedef somTP_SOMObject_somDumpSelfInt *somTD_SOMObject_somDumpSelfInt;
  879. #define somMD_SOMObject_somDumpSelfInt "::SOMObject::somDumpSelfInt"
  880. #define SOMObject_somDumpSelfInt(somSelf,level) \
  881.     (SOM_Resolve(somSelf, SOMObject, somDumpSelfInt) \
  882.     (somSelf,level))
  883. #ifndef SOMGD_somDumpSelfInt
  884.     #if (defined(_somDumpSelfInt) || defined(__somDumpSelfInt))
  885.         #undef _somDumpSelfInt
  886.         #undef __somDumpSelfInt
  887.         #define SOMGD_somDumpSelfInt 1
  888.     #else
  889.         #define _somDumpSelfInt SOMObject_somDumpSelfInt
  890.     #endif /* _somDumpSelfInt */
  891. #endif /* SOMGD_somDumpSelfInt */
  892. #ifndef SOM_DONT_USE_INHERITED_MACROS
  893. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  894.  
  895. #endif       /* SOM_SOMObject_h */
  896.