home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / snglicls.xh < prev    next >
Encoding:
Text File  |  1996-02-22  |  40.2 KB  |  1,220 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\snglicls.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somu
  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.  */
  24.  
  25.  
  26. #ifndef SOM_SOMMSingleInstance_xh
  27. #define SOM_SOMMSingleInstance_xh
  28.  
  29. class SOMMSingleInstance;
  30.  
  31. /*
  32.  *  This class is a metaclass for classes which wish to enforce a
  33.  *  single instance rule.  That is, classes which specify this class
  34.  *  as their metaclass will only be allowed to have a single instance.
  35.  * 
  36.  *  For example, if a class named dog specified this class as its
  37.  *  metaclass, only one dog object could be instantiated. Repeated
  38.  *  calls to _somNew on the dog class would simply return the same
  39.  *  dog repeatedly.
  40.  * 
  41.  *  There are two ways to retrieve the single intance of the using
  42.  *  class:
  43.  * 
  44.  *   1) Invoke sommGetSingleInstance on the class object of the using class.
  45.  *      This is the preferred way.
  46.  * 
  47.  *   2) Invoke somNew or somNewNoInit on the class object of the using class.
  48.  * 
  49.  */
  50.  
  51. #define SOMMSingleInstance_MajorVersion 2
  52. #define SOMMSingleInstance_MinorVersion 1
  53.  
  54. /* C++ SOM defs */
  55. #include <somcls.xh>
  56. #include <somcm.xh>
  57.  
  58. /* C++ parent defs */
  59. #ifndef SOM_SOMClass_xh
  60. #include <somcls.xh>
  61. #endif
  62.  
  63. #ifndef SOMMSingleInstance_API
  64. #define SOMMSingleInstance_API
  65. /*
  66.  * -- The Class API
  67.  */
  68.  
  69. /*
  70.  * Start of user-defined types:
  71.  */
  72. class SOMClass;
  73. class SOMObject;
  74.  
  75. /*
  76.  * End of user-defined types.
  77.  */
  78.  
  79. /* A procedure to create the SOMMSingleInstance Class */
  80. SOMEXTERN
  81. #if (defined(SOM_Module_snglicls_Source) || defined(SOMMSingleInstance_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMMSingleInstance))
  82. WIN32_DLLEXPORT
  83. #else
  84. WIN32_DLLIMPORT
  85. #endif
  86. SOMClass * SOMLINK SOMMSingleInstanceNewClass(
  87.         integer4,
  88.         integer4 );
  89.  
  90. /* The API to the SOMMSingleInstance class object, and the methods it introduces. */
  91. SOMEXTERN struct SOMMSingleInstanceClassDataStructure {
  92.     SOMClass *classObject;
  93.     somMToken sommGetSingleInstance;
  94.     somMToken sommFreeSingleInstance;
  95. }
  96. #if !(defined(SOM_Module_snglicls_Source) || defined(SOMMSingleInstance_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMMSingleInstance))
  97. WIN32_DLLIMPORT
  98. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  99. WIN32_DLLEXPORT
  100. #endif
  101. SOMDLINK SOMMSingleInstanceClassData;
  102. #define _SOMMSingleInstance SOMMSingleInstanceClassData.classObject
  103.  
  104. /* The API to parentMtabs for SOMMSingleInstance, and the instance data it introduces. */
  105. SOMEXTERN struct SOMMSingleInstanceCClassDataStructure {
  106.     somMethodTabs parentMtab;
  107.     somDToken              instanceDataToken;
  108. }
  109. #if !(defined(SOM_Module_snglicls_Source) || defined(SOMMSingleInstance_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMMSingleInstance))
  110. WIN32_DLLIMPORT
  111. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  112. WIN32_DLLEXPORT
  113. #endif
  114. SOMDLINK SOMMSingleInstanceCClassData;
  115.  
  116. /*
  117.  * -- Typedefs for SOMMSingleInstance Method Procedures
  118.  */
  119. extern "C" {
  120. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_sommGetSingleInstance(SOMMSingleInstance *somSelf, Environment *ev);
  121. typedef somTP_SOMMSingleInstance_sommGetSingleInstance *somTD_SOMMSingleInstance_sommGetSingleInstance;
  122. typedef void   SOMLINK somTP_SOMMSingleInstance_sommFreeSingleInstance(SOMMSingleInstance *somSelf, Environment *ev);
  123. typedef somTP_SOMMSingleInstance_sommFreeSingleInstance *somTD_SOMMSingleInstance_sommFreeSingleInstance;
  124.  
  125. /*
  126.  * -- Typedefs for Reintroduced Wrapper Methods
  127.  */
  128. typedef long   SOMLINK somTP_SOMMSingleInstance__get_somDataAlignment(SOMMSingleInstance *somSelf);
  129. typedef somTP_SOMMSingleInstance__get_somDataAlignment *somTD_SOMMSingleInstance__get_somDataAlignment;
  130. typedef SOMClass_somOffsets   SOMLINK somTP_SOMMSingleInstance__get_somInstanceDataOffsets(SOMMSingleInstance *somSelf);
  131. typedef somTP_SOMMSingleInstance__get_somInstanceDataOffsets *somTD_SOMMSingleInstance__get_somInstanceDataOffsets;
  132. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMMSingleInstance__get_somDirectInitClasses(SOMMSingleInstance *somSelf);
  133. typedef somTP_SOMMSingleInstance__get_somDirectInitClasses *somTD_SOMMSingleInstance__get_somDirectInitClasses;
  134. typedef void   SOMLINK somTP_SOMMSingleInstance__set_somDirectInitClasses(SOMMSingleInstance *somSelf,
  135.         SOMClass_SOMClassSequence* somDirectInitClasses);
  136. typedef somTP_SOMMSingleInstance__set_somDirectInitClasses *somTD_SOMMSingleInstance__set_somDirectInitClasses;
  137. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somNew(SOMMSingleInstance *somSelf);
  138. typedef somTP_SOMMSingleInstance_somNew *somTD_SOMMSingleInstance_somNew;
  139. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somNewNoInit(SOMMSingleInstance *somSelf);
  140. typedef somTP_SOMMSingleInstance_somNewNoInit *somTD_SOMMSingleInstance_somNewNoInit;
  141. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somRenew(SOMMSingleInstance *somSelf,
  142.         void* obj);
  143. typedef somTP_SOMMSingleInstance_somRenew *somTD_SOMMSingleInstance_somRenew;
  144. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somRenewNoInit(SOMMSingleInstance *somSelf,
  145.         void* obj);
  146. typedef somTP_SOMMSingleInstance_somRenewNoInit *somTD_SOMMSingleInstance_somRenewNoInit;
  147. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somRenewNoZero(SOMMSingleInstance *somSelf,
  148.         void* obj);
  149. typedef somTP_SOMMSingleInstance_somRenewNoZero *somTD_SOMMSingleInstance_somRenewNoZero;
  150. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somRenewNoInitNoZero(SOMMSingleInstance *somSelf,
  151.         void* obj);
  152. typedef somTP_SOMMSingleInstance_somRenewNoInitNoZero *somTD_SOMMSingleInstance_somRenewNoInitNoZero;
  153. typedef string   SOMLINK somTP_SOMMSingleInstance_somAllocate(SOMMSingleInstance *somSelf,
  154.         long size);
  155. typedef somTP_SOMMSingleInstance_somAllocate *somTD_SOMMSingleInstance_somAllocate;
  156. typedef void   SOMLINK somTP_SOMMSingleInstance_somDeallocate(SOMMSingleInstance *somSelf,
  157.         string memptr);
  158. typedef somTP_SOMMSingleInstance_somDeallocate *somTD_SOMMSingleInstance_somDeallocate;
  159. typedef somMethodProc*   SOMLINK somTP_SOMMSingleInstance__get_somClassAllocate(SOMMSingleInstance *somSelf);
  160. typedef somTP_SOMMSingleInstance__get_somClassAllocate *somTD_SOMMSingleInstance__get_somClassAllocate;
  161. typedef somMethodProc*   SOMLINK somTP_SOMMSingleInstance__get_somClassDeallocate(SOMMSingleInstance *somSelf);
  162. typedef somTP_SOMMSingleInstance__get_somClassDeallocate *somTD_SOMMSingleInstance__get_somClassDeallocate;
  163. typedef somBooleanVector   SOMLINK somTP_SOMMSingleInstance_somGetInstanceInitMask(SOMMSingleInstance *somSelf,
  164.         somInitCtrl* ctrl);
  165. typedef somTP_SOMMSingleInstance_somGetInstanceInitMask *somTD_SOMMSingleInstance_somGetInstanceInitMask;
  166. typedef somBooleanVector   SOMLINK somTP_SOMMSingleInstance_somGetInstanceDestructionMask(SOMMSingleInstance *somSelf,
  167.         somDestructCtrl* ctrl);
  168. typedef somTP_SOMMSingleInstance_somGetInstanceDestructionMask *somTD_SOMMSingleInstance_somGetInstanceDestructionMask;
  169. typedef somBooleanVector   SOMLINK somTP_SOMMSingleInstance_somGetInstanceAssignmentMask(SOMMSingleInstance *somSelf,
  170.         somAssignCtrl* ctrl);
  171. typedef somTP_SOMMSingleInstance_somGetInstanceAssignmentMask *somTD_SOMMSingleInstance_somGetInstanceAssignmentMask;
  172. typedef void   SOMLINK somTP_SOMMSingleInstance_somInitClass(SOMMSingleInstance *somSelf,
  173.         string className,
  174.         SOMClass* parentClass,
  175.         long dataSize,
  176.         long maxStaticMethods,
  177.         long majorVersion,
  178.         long minorVersion);
  179. typedef somTP_SOMMSingleInstance_somInitClass *somTD_SOMMSingleInstance_somInitClass;
  180. typedef void   SOMLINK somTP_SOMMSingleInstance_somInitMIClass(SOMMSingleInstance *somSelf,
  181.         long inherit_vars,
  182.         string className,
  183.         SOMClass_SOMClassSequence* parentClasses,
  184.         long dataSize,
  185.         long dataAlignment,
  186.         long maxStaticMethods,
  187.         long majorVersion,
  188.         long minorVersion);
  189. typedef somTP_SOMMSingleInstance_somInitMIClass *somTD_SOMMSingleInstance_somInitMIClass;
  190. typedef somMToken   SOMLINK somTP_SOMMSingleInstance_somAddStaticMethod(SOMMSingleInstance *somSelf,
  191.         somId methodId,
  192.         somId methodDescriptor,
  193.         somMethodPtr method,
  194.         somMethodPtr redispatchStub,
  195.         somMethodPtr applyStub);
  196. typedef somTP_SOMMSingleInstance_somAddStaticMethod *somTD_SOMMSingleInstance_somAddStaticMethod;
  197. typedef void   SOMLINK somTP_SOMMSingleInstance_somAddDynamicMethod(SOMMSingleInstance *somSelf,
  198.         somId methodId,
  199.         somId methodDescriptor,
  200.         somMethodPtr method,
  201.         somMethodPtr applyStub);
  202. typedef somTP_SOMMSingleInstance_somAddDynamicMethod *somTD_SOMMSingleInstance_somAddDynamicMethod;
  203. typedef void   SOMLINK somTP_SOMMSingleInstance_somOverrideSMethod(SOMMSingleInstance *somSelf,
  204.         somId methodId,
  205.         somMethodPtr method);
  206. typedef somTP_SOMMSingleInstance_somOverrideSMethod *somTD_SOMMSingleInstance_somOverrideSMethod;
  207. typedef void   SOMLINK somTP_SOMMSingleInstance_somClassReady(SOMMSingleInstance *somSelf);
  208. typedef somTP_SOMMSingleInstance_somClassReady *somTD_SOMMSingleInstance_somClassReady;
  209. typedef somClassDataStructure*   SOMLINK somTP_SOMMSingleInstance_somGetClassData(SOMMSingleInstance *somSelf);
  210. typedef somTP_SOMMSingleInstance_somGetClassData *somTD_SOMMSingleInstance_somGetClassData;
  211. typedef void   SOMLINK somTP_SOMMSingleInstance_somSetClassData(SOMMSingleInstance *somSelf,
  212.         somClassDataStructure* cds);
  213. typedef somTP_SOMMSingleInstance_somSetClassData *somTD_SOMMSingleInstance_somSetClassData;
  214. typedef somMethodTab*   SOMLINK somTP_SOMMSingleInstance_somGetClassMtab(SOMMSingleInstance *somSelf);
  215. typedef somTP_SOMMSingleInstance_somGetClassMtab *somTD_SOMMSingleInstance_somGetClassMtab;
  216. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetInstanceOffset(SOMMSingleInstance *somSelf);
  217. typedef somTP_SOMMSingleInstance_somGetInstanceOffset *somTD_SOMMSingleInstance_somGetInstanceOffset;
  218. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetInstancePartSize(SOMMSingleInstance *somSelf);
  219. typedef somTP_SOMMSingleInstance_somGetInstancePartSize *somTD_SOMMSingleInstance_somGetInstancePartSize;
  220. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetInstanceSize(SOMMSingleInstance *somSelf);
  221. typedef somTP_SOMMSingleInstance_somGetInstanceSize *somTD_SOMMSingleInstance_somGetInstanceSize;
  222. typedef somDToken   SOMLINK somTP_SOMMSingleInstance_somGetInstanceToken(SOMMSingleInstance *somSelf);
  223. typedef somTP_SOMMSingleInstance_somGetInstanceToken *somTD_SOMMSingleInstance_somGetInstanceToken;
  224. typedef somDToken   SOMLINK somTP_SOMMSingleInstance_somGetMemberToken(SOMMSingleInstance *somSelf,
  225.         long memberOffset,
  226.         somDToken instanceToken);
  227. typedef somTP_SOMMSingleInstance_somGetMemberToken *somTD_SOMMSingleInstance_somGetMemberToken;
  228. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somGetMethodData(SOMMSingleInstance *somSelf,
  229.         somId methodId,
  230.         somMethodData* md);
  231. typedef somTP_SOMMSingleInstance_somGetMethodData *somTD_SOMMSingleInstance_somGetMethodData;
  232. typedef somMethodProc*   SOMLINK somTP_SOMMSingleInstance_somGetRdStub(SOMMSingleInstance *somSelf,
  233.         somId methodId);
  234. typedef somTP_SOMMSingleInstance_somGetRdStub *somTD_SOMMSingleInstance_somGetRdStub;
  235. typedef somId   SOMLINK somTP_SOMMSingleInstance_somGetMethodDescriptor(SOMMSingleInstance *somSelf,
  236.         somId methodId);
  237. typedef somTP_SOMMSingleInstance_somGetMethodDescriptor *somTD_SOMMSingleInstance_somGetMethodDescriptor;
  238. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetMethodIndex(SOMMSingleInstance *somSelf,
  239.         somId id);
  240. typedef somTP_SOMMSingleInstance_somGetMethodIndex *somTD_SOMMSingleInstance_somGetMethodIndex;
  241. typedef somMToken   SOMLINK somTP_SOMMSingleInstance_somGetMethodToken(SOMMSingleInstance *somSelf,
  242.         somId methodId);
  243. typedef somTP_SOMMSingleInstance_somGetMethodToken *somTD_SOMMSingleInstance_somGetMethodToken;
  244. typedef string   SOMLINK somTP_SOMMSingleInstance_somGetName(SOMMSingleInstance *somSelf);
  245. typedef somTP_SOMMSingleInstance_somGetName *somTD_SOMMSingleInstance_somGetName;
  246. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somGetNthMethodData(SOMMSingleInstance *somSelf,
  247.         long n,
  248.         somMethodData* md);
  249. typedef somTP_SOMMSingleInstance_somGetNthMethodData *somTD_SOMMSingleInstance_somGetNthMethodData;
  250. typedef somId   SOMLINK somTP_SOMMSingleInstance_somGetNthMethodInfo(SOMMSingleInstance *somSelf,
  251.         long n,
  252.         somId* descriptor);
  253. typedef somTP_SOMMSingleInstance_somGetNthMethodInfo *somTD_SOMMSingleInstance_somGetNthMethodInfo;
  254. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetNumMethods(SOMMSingleInstance *somSelf);
  255. typedef somTP_SOMMSingleInstance_somGetNumMethods *somTD_SOMMSingleInstance_somGetNumMethods;
  256. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetNumStaticMethods(SOMMSingleInstance *somSelf);
  257. typedef somTP_SOMMSingleInstance_somGetNumStaticMethods *somTD_SOMMSingleInstance_somGetNumStaticMethods;
  258. typedef SOMClass*   SOMLINK somTP_SOMMSingleInstance_somGetParent(SOMMSingleInstance *somSelf);
  259. typedef somTP_SOMMSingleInstance_somGetParent *somTD_SOMMSingleInstance_somGetParent;
  260. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMMSingleInstance_somGetParents(SOMMSingleInstance *somSelf);
  261. typedef somTP_SOMMSingleInstance_somGetParents *somTD_SOMMSingleInstance_somGetParents;
  262. typedef somMethodTabs   SOMLINK somTP_SOMMSingleInstance_somGetPClsMtab(SOMMSingleInstance *somSelf);
  263. typedef somTP_SOMMSingleInstance_somGetPClsMtab *somTD_SOMMSingleInstance_somGetPClsMtab;
  264. typedef somMethodTabs   SOMLINK somTP_SOMMSingleInstance_somGetPClsMtabs(SOMMSingleInstance *somSelf);
  265. typedef somTP_SOMMSingleInstance_somGetPClsMtabs *somTD_SOMMSingleInstance_somGetPClsMtabs;
  266. typedef void   SOMLINK somTP_SOMMSingleInstance_somGetVersionNumbers(SOMMSingleInstance *somSelf,
  267.         long* majorVersion,
  268.         long* minorVersion);
  269. typedef somTP_SOMMSingleInstance_somGetVersionNumbers *somTD_SOMMSingleInstance_somGetVersionNumbers;
  270. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somSetMethodDescriptor(SOMMSingleInstance *somSelf,
  271.         somId methodId,
  272.         somId descriptor);
  273. typedef somTP_SOMMSingleInstance_somSetMethodDescriptor *somTD_SOMMSingleInstance_somSetMethodDescriptor;
  274. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somFindMethod(SOMMSingleInstance *somSelf,
  275.         somId methodId,
  276.         somMethodPtr* m);
  277. typedef somTP_SOMMSingleInstance_somFindMethod *somTD_SOMMSingleInstance_somFindMethod;
  278. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somFindMethodOk(SOMMSingleInstance *somSelf,
  279.         somId methodId,
  280.         somMethodPtr* m);
  281. typedef somTP_SOMMSingleInstance_somFindMethodOk *somTD_SOMMSingleInstance_somFindMethodOk;
  282. typedef somMethodPtr   SOMLINK somTP_SOMMSingleInstance_somFindSMethod(SOMMSingleInstance *somSelf,
  283.         somId methodId);
  284. typedef somTP_SOMMSingleInstance_somFindSMethod *somTD_SOMMSingleInstance_somFindSMethod;
  285. typedef somMethodPtr   SOMLINK somTP_SOMMSingleInstance_somFindSMethodOk(SOMMSingleInstance *somSelf,
  286.         somId methodId);
  287. typedef somTP_SOMMSingleInstance_somFindSMethodOk *somTD_SOMMSingleInstance_somFindSMethodOk;
  288. typedef somMethodPtr   SOMLINK somTP_SOMMSingleInstance_somLookupMethod(SOMMSingleInstance *somSelf,
  289.         somId methodId);
  290. typedef somTP_SOMMSingleInstance_somLookupMethod *somTD_SOMMSingleInstance_somLookupMethod;
  291. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somCheckVersion(SOMMSingleInstance *somSelf,
  292.         long majorVersion,
  293.         long minorVersion);
  294. typedef somTP_SOMMSingleInstance_somCheckVersion *somTD_SOMMSingleInstance_somCheckVersion;
  295. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somDescendedFrom(SOMMSingleInstance *somSelf,
  296.         SOMClass* aClassObj);
  297. typedef somTP_SOMMSingleInstance_somDescendedFrom *somTD_SOMMSingleInstance_somDescendedFrom;
  298. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somSupportsMethod(SOMMSingleInstance *somSelf,
  299.         somId mId);
  300. typedef somTP_SOMMSingleInstance_somSupportsMethod *somTD_SOMMSingleInstance_somSupportsMethod;
  301. typedef somMethodPtr   SOMLINK somTP_SOMMSingleInstance_somDefinedMethod(SOMMSingleInstance *somSelf,
  302.         somMToken method);
  303. typedef somTP_SOMMSingleInstance_somDefinedMethod *somTD_SOMMSingleInstance_somDefinedMethod;
  304. typedef void   SOMLINK somTP_SOMMSingleInstance_somOverrideMtab(SOMMSingleInstance *somSelf);
  305. typedef somTP_SOMMSingleInstance_somOverrideMtab *somTD_SOMMSingleInstance_somOverrideMtab;
  306. typedef void   SOMLINK somTP_SOMMSingleInstance_somDefaultInit(SOMMSingleInstance *somSelf,
  307.         somInitCtrl* ctrl);
  308. typedef somTP_SOMMSingleInstance_somDefaultInit *somTD_SOMMSingleInstance_somDefaultInit;
  309. typedef void   SOMLINK somTP_SOMMSingleInstance_somDestruct(SOMMSingleInstance *somSelf,
  310.         octet doFree,
  311.         somDestructCtrl* ctrl);
  312. typedef somTP_SOMMSingleInstance_somDestruct *somTD_SOMMSingleInstance_somDestruct;
  313. typedef void   SOMLINK somTP_SOMMSingleInstance_somDefaultCopyInit(SOMMSingleInstance *somSelf,
  314.         somInitCtrl* ctrl,
  315.         SOMObject* fromObj);
  316. typedef somTP_SOMMSingleInstance_somDefaultCopyInit *somTD_SOMMSingleInstance_somDefaultCopyInit;
  317. typedef SOMMSingleInstance*   SOMLINK somTP_SOMMSingleInstance_somDefaultAssign(SOMMSingleInstance *somSelf,
  318.         somAssignCtrl* ctrl,
  319.         SOMObject* fromObj);
  320. typedef somTP_SOMMSingleInstance_somDefaultAssign *somTD_SOMMSingleInstance_somDefaultAssign;
  321. typedef void   SOMLINK somTP_SOMMSingleInstance_somDefaultConstCopyInit(SOMMSingleInstance *somSelf,
  322.         somInitCtrl* ctrl,
  323.         SOMObject* fromObj);
  324. typedef somTP_SOMMSingleInstance_somDefaultConstCopyInit *somTD_SOMMSingleInstance_somDefaultConstCopyInit;
  325. typedef void   SOMLINK somTP_SOMMSingleInstance_somDefaultVCopyInit(SOMMSingleInstance *somSelf,
  326.         somInitCtrl* ctrl,
  327.         SOMObject* fromObj);
  328. typedef somTP_SOMMSingleInstance_somDefaultVCopyInit *somTD_SOMMSingleInstance_somDefaultVCopyInit;
  329. typedef void   SOMLINK somTP_SOMMSingleInstance_somDefaultConstVCopyInit(SOMMSingleInstance *somSelf,
  330.         somInitCtrl* ctrl,
  331.         SOMObject* fromObj);
  332. typedef somTP_SOMMSingleInstance_somDefaultConstVCopyInit *somTD_SOMMSingleInstance_somDefaultConstVCopyInit;
  333. typedef SOMMSingleInstance*   SOMLINK somTP_SOMMSingleInstance_somDefaultConstAssign(SOMMSingleInstance *somSelf,
  334.         somAssignCtrl* ctrl,
  335.         SOMObject* fromObj);
  336. typedef somTP_SOMMSingleInstance_somDefaultConstAssign *somTD_SOMMSingleInstance_somDefaultConstAssign;
  337. typedef SOMMSingleInstance*   SOMLINK somTP_SOMMSingleInstance_somDefaultVAssign(SOMMSingleInstance *somSelf,
  338.         somAssignCtrl* ctrl,
  339.         SOMObject* fromObj);
  340. typedef somTP_SOMMSingleInstance_somDefaultVAssign *somTD_SOMMSingleInstance_somDefaultVAssign;
  341. typedef SOMMSingleInstance*   SOMLINK somTP_SOMMSingleInstance_somDefaultConstVAssign(SOMMSingleInstance *somSelf,
  342.         somAssignCtrl* ctrl,
  343.         SOMObject* fromObj);
  344. typedef somTP_SOMMSingleInstance_somDefaultConstVAssign *somTD_SOMMSingleInstance_somDefaultConstVAssign;
  345. typedef void   SOMLINK somTP_SOMMSingleInstance_somInit(SOMMSingleInstance *somSelf);
  346. typedef somTP_SOMMSingleInstance_somInit *somTD_SOMMSingleInstance_somInit;
  347. typedef void   SOMLINK somTP_SOMMSingleInstance_somFree(SOMMSingleInstance *somSelf);
  348. typedef somTP_SOMMSingleInstance_somFree *somTD_SOMMSingleInstance_somFree;
  349. typedef void   SOMLINK somTP_SOMMSingleInstance_somUninit(SOMMSingleInstance *somSelf);
  350. typedef somTP_SOMMSingleInstance_somUninit *somTD_SOMMSingleInstance_somUninit;
  351. typedef SOMClass*   SOMLINK somTP_SOMMSingleInstance_somGetClass(SOMMSingleInstance *somSelf);
  352. typedef somTP_SOMMSingleInstance_somGetClass *somTD_SOMMSingleInstance_somGetClass;
  353. typedef string   SOMLINK somTP_SOMMSingleInstance_somGetClassName(SOMMSingleInstance *somSelf);
  354. typedef somTP_SOMMSingleInstance_somGetClassName *somTD_SOMMSingleInstance_somGetClassName;
  355. typedef long   SOMLINK somTP_SOMMSingleInstance_somGetSize(SOMMSingleInstance *somSelf);
  356. typedef somTP_SOMMSingleInstance_somGetSize *somTD_SOMMSingleInstance_somGetSize;
  357. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somIsA(SOMMSingleInstance *somSelf,
  358.         SOMClass* aClassObj);
  359. typedef somTP_SOMMSingleInstance_somIsA *somTD_SOMMSingleInstance_somIsA;
  360. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somIsInstanceOf(SOMMSingleInstance *somSelf,
  361.         SOMClass* aClassObj);
  362. typedef somTP_SOMMSingleInstance_somIsInstanceOf *somTD_SOMMSingleInstance_somIsInstanceOf;
  363. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somRespondsTo(SOMMSingleInstance *somSelf,
  364.         somId mId);
  365. typedef somTP_SOMMSingleInstance_somRespondsTo *somTD_SOMMSingleInstance_somRespondsTo;
  366. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somDispatch(SOMMSingleInstance *somSelf,
  367.         somToken* retValue,
  368.         somId methodId,
  369.         va_list ap);
  370. typedef somTP_SOMMSingleInstance_somDispatch *somTD_SOMMSingleInstance_somDispatch;
  371. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somClassDispatch(SOMMSingleInstance *somSelf,
  372.         SOMClass* clsObj,
  373.         somToken* retValue,
  374.         somId methodId,
  375.         va_list ap);
  376. typedef somTP_SOMMSingleInstance_somClassDispatch *somTD_SOMMSingleInstance_somClassDispatch;
  377. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somCastObj(SOMMSingleInstance *somSelf,
  378.         SOMClass* cls);
  379. typedef somTP_SOMMSingleInstance_somCastObj *somTD_SOMMSingleInstance_somCastObj;
  380. typedef boolean   SOMLINK somTP_SOMMSingleInstance_somResetObj(SOMMSingleInstance *somSelf);
  381. typedef somTP_SOMMSingleInstance_somResetObj *somTD_SOMMSingleInstance_somResetObj;
  382. typedef SOMObject*   SOMLINK somTP_SOMMSingleInstance_somPrintSelf(SOMMSingleInstance *somSelf);
  383. typedef somTP_SOMMSingleInstance_somPrintSelf *somTD_SOMMSingleInstance_somPrintSelf;
  384. typedef void   SOMLINK somTP_SOMMSingleInstance_somDumpSelf(SOMMSingleInstance *somSelf,
  385.         long level);
  386. typedef somTP_SOMMSingleInstance_somDumpSelf *somTD_SOMMSingleInstance_somDumpSelf;
  387. typedef void   SOMLINK somTP_SOMMSingleInstance_somDumpSelfInt(SOMMSingleInstance *somSelf,
  388.         long level);
  389. typedef somTP_SOMMSingleInstance_somDumpSelfInt *somTD_SOMMSingleInstance_somDumpSelfInt;
  390. }
  391.  
  392. #endif /* SOMMSingleInstance_API */
  393.  
  394.  
  395. /*
  396.  * -- This emitter believes that method thunks are unavailable,
  397.  * -- so somResolve will be called.
  398.  */
  399. #undef somresolve_
  400. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  401.  
  402. /*
  403.  * -- The C++ Wrapper Class for SOMMSingleInstance
  404.  */
  405. class SOMMSingleInstance : public SOMClass
  406. {
  407. public:
  408.  
  409. // SOMMSingleInstance::new creates the class object if necessary, and then uses somNewNoInit
  410. // to allocate memory and create the object. Initialization is in ctors.
  411. void *operator new(size_t)
  412. {
  413.    if (!_SOMMSingleInstance) SOMMSingleInstanceNewClass(SOMMSingleInstance_MajorVersion,SOMMSingleInstance_MinorVersion);
  414.    return (void*)
  415.       SOM_Resolve(_SOMMSingleInstance,SOMClass,somNewNoInit)
  416.          ((SOMClass *)((void*)_SOMMSingleInstance));
  417. }
  418.  
  419. // SOMMSingleInstance::delete uses somDestruct.
  420. void operator delete(void * obj)
  421. {
  422.    if (obj && *(void**)obj) {
  423.       SOM_Resolve(obj,SOMObject,somDestruct)
  424.          ((SOMObject*)obj, 1, 0);
  425.    }
  426. }
  427.  
  428. SOMMSingleInstance()
  429. {
  430.    if (*(void**)this != 
  431.        ((somParentMtabStructPtr)
  432.         (SOMMSingleInstanceCClassData.parentMtab))->mtab)
  433.       return;
  434.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  435. }
  436.  
  437. SOMMSingleInstance(SOMMSingleInstance* fromObj)
  438. {
  439.    if (*(void**)this != 
  440.        ((somParentMtabStructPtr)
  441.         (SOMMSingleInstanceCClassData.parentMtab))->mtab)
  442.       return;
  443.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  444. }
  445.  
  446. SOMMSingleInstance(const SOMMSingleInstance* fromObj)
  447. {
  448.    if (*(void**)this != 
  449.        ((somParentMtabStructPtr)
  450.         (SOMMSingleInstanceCClassData.parentMtab))->mtab)
  451.       return;
  452.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  453. }
  454.  
  455.  
  456. /* method: sommGetSingleInstance */
  457. SOMObject*   sommGetSingleInstance(Environment *ev)
  458. {
  459.    return SOM_ResolveD(this,SOMMSingleInstance,SOMMSingleInstance,sommGetSingleInstance)
  460.     (this, ev);
  461. }
  462.  
  463.  
  464. /* method: sommFreeSingleInstance */
  465. void   sommFreeSingleInstance(Environment *ev)
  466. {
  467.    SOM_ResolveD(this,SOMMSingleInstance,SOMMSingleInstance,sommFreeSingleInstance)
  468.     (this, ev);
  469. }
  470.  
  471.  
  472. /*
  473.  * Reintroduce inherited methods
  474.  */
  475.  
  476. /* method: _get_somDataAlignment */
  477. long   _get_somDataAlignment()
  478. {
  479.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,_get_somDataAlignment)
  480.     (this);
  481. }
  482.  
  483.  
  484. /* nonstatic method: _get_somInstanceDataOffsets */
  485. SOMClass_somOffsets   _get_somInstanceDataOffsets()
  486. {
  487.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,_get_somInstanceDataOffsets)
  488.     (this);
  489. }
  490.  
  491.  
  492. /* nonstatic method: _get_somDirectInitClasses */
  493. SOMClass_SOMClassSequence   _get_somDirectInitClasses()
  494. {
  495.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,_get_somDirectInitClasses)
  496.     (this);
  497. }
  498.  
  499.  
  500. /* nonstatic method: _set_somDirectInitClasses */
  501. void   _set_somDirectInitClasses(SOMClass_SOMClassSequence* somDirectInitClasses)
  502. {
  503.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,_set_somDirectInitClasses)
  504.     (this,somDirectInitClasses);
  505. }
  506.  
  507.  
  508. /* method: somNew */
  509. SOMObject*   somNew()
  510. {
  511.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somNew)
  512.     (this);
  513. }
  514.  
  515.  
  516. /* method: somNewNoInit */
  517. SOMObject*   somNewNoInit()
  518. {
  519.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somNewNoInit)
  520.     (this);
  521. }
  522.  
  523.  
  524. /* method: somRenew */
  525. SOMObject*   somRenew(void* obj)
  526. {
  527.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somRenew)
  528.     (this,obj);
  529. }
  530.  
  531.  
  532. /* method: somRenewNoInit */
  533. SOMObject*   somRenewNoInit(void* obj)
  534. {
  535.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somRenewNoInit)
  536.     (this,obj);
  537. }
  538.  
  539.  
  540. /* method: somRenewNoZero */
  541. SOMObject*   somRenewNoZero(void* obj)
  542. {
  543.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somRenewNoZero)
  544.     (this,obj);
  545. }
  546.  
  547.  
  548. /* method: somRenewNoInitNoZero */
  549. SOMObject*   somRenewNoInitNoZero(void* obj)
  550. {
  551.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somRenewNoInitNoZero)
  552.     (this,obj);
  553. }
  554.  
  555.  
  556. /* nonstatic method: somAllocate */
  557. string   somAllocate(long size)
  558. {
  559.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somAllocate)
  560.     (this,size);
  561. }
  562.  
  563.  
  564. /* nonstatic method: somDeallocate */
  565. void   somDeallocate(string memptr)
  566. {
  567.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somDeallocate)
  568.     (this,memptr);
  569. }
  570.  
  571.  
  572. /* nonstatic method: _get_somClassAllocate */
  573. somMethodProc*   _get_somClassAllocate()
  574. {
  575.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,_get_somClassAllocate)
  576.     (this);
  577. }
  578.  
  579.  
  580. /* nonstatic method: _get_somClassDeallocate */
  581. somMethodProc*   _get_somClassDeallocate()
  582. {
  583.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,_get_somClassDeallocate)
  584.     (this);
  585. }
  586.  
  587.  
  588. /* method: somGetInstanceInitMask */
  589. somBooleanVector   somGetInstanceInitMask(somInitCtrl* ctrl)
  590. {
  591.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstanceInitMask)
  592.     (this,ctrl);
  593. }
  594.  
  595.  
  596. /* method: somGetInstanceDestructionMask */
  597. somBooleanVector   somGetInstanceDestructionMask(somDestructCtrl* ctrl)
  598. {
  599.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstanceDestructionMask)
  600.     (this,ctrl);
  601. }
  602.  
  603.  
  604. /* method: somGetInstanceAssignmentMask */
  605. somBooleanVector   somGetInstanceAssignmentMask(somAssignCtrl* ctrl)
  606. {
  607.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstanceAssignmentMask)
  608.     (this,ctrl);
  609. }
  610.  
  611.  
  612. /* method: somInitClass */
  613. void   somInitClass(string className,
  614.         SOMClass* parentClass,
  615.         long dataSize,
  616.         long maxStaticMethods,
  617.         long majorVersion,
  618.         long minorVersion)
  619. {
  620.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somInitClass)
  621.     (this,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion);
  622. }
  623.  
  624.  
  625. /* method: somInitMIClass */
  626. void   somInitMIClass(long inherit_vars,
  627.         string className,
  628.         SOMClass_SOMClassSequence* parentClasses,
  629.         long dataSize,
  630.         long dataAlignment,
  631.         long maxStaticMethods,
  632.         long majorVersion,
  633.         long minorVersion)
  634. {
  635.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somInitMIClass)
  636.     (this,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion);
  637. }
  638.  
  639.  
  640. /* method: somAddStaticMethod */
  641. somMToken   somAddStaticMethod(somId methodId,
  642.         somId methodDescriptor,
  643.         somMethodPtr method,
  644.         somMethodPtr redispatchStub,
  645.         somMethodPtr applyStub)
  646. {
  647.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somAddStaticMethod)
  648.     (this,methodId,methodDescriptor,method,redispatchStub,applyStub);
  649. }
  650.  
  651.  
  652. /* method: somAddDynamicMethod */
  653. void   somAddDynamicMethod(somId methodId,
  654.         somId methodDescriptor,
  655.         somMethodPtr method,
  656.         somMethodPtr applyStub)
  657. {
  658.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somAddDynamicMethod)
  659.     (this,methodId,methodDescriptor,method,applyStub);
  660. }
  661.  
  662.  
  663. /* method: somOverrideSMethod */
  664. void   somOverrideSMethod(somId methodId,
  665.         somMethodPtr method)
  666. {
  667.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somOverrideSMethod)
  668.     (this,methodId,method);
  669. }
  670.  
  671.  
  672. /* method: somClassReady */
  673. void   somClassReady()
  674. {
  675.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somClassReady)
  676.     (this);
  677. }
  678.  
  679.  
  680. /* method: somGetClassData */
  681. somClassDataStructure*   somGetClassData()
  682. {
  683.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetClassData)
  684.     (this);
  685. }
  686.  
  687.  
  688. /* method: somSetClassData */
  689. void   somSetClassData(somClassDataStructure* cds)
  690. {
  691.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somSetClassData)
  692.     (this,cds);
  693. }
  694.  
  695.  
  696. /* method: somGetClassMtab */
  697. somMethodTab*   somGetClassMtab()
  698. {
  699.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetClassMtab)
  700.     (this);
  701. }
  702.  
  703.  
  704. /* method: somGetInstanceOffset */
  705. long   somGetInstanceOffset()
  706. {
  707.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstanceOffset)
  708.     (this);
  709. }
  710.  
  711.  
  712. /* method: somGetInstancePartSize */
  713. long   somGetInstancePartSize()
  714. {
  715.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstancePartSize)
  716.     (this);
  717. }
  718.  
  719.  
  720. /* method: somGetInstanceSize */
  721. long   somGetInstanceSize()
  722. {
  723.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstanceSize)
  724.     (this);
  725. }
  726.  
  727.  
  728. /* method: somGetInstanceToken */
  729. somDToken   somGetInstanceToken()
  730. {
  731.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetInstanceToken)
  732.     (this);
  733. }
  734.  
  735.  
  736. /* method: somGetMemberToken */
  737. somDToken   somGetMemberToken(long memberOffset,
  738.         somDToken instanceToken)
  739. {
  740.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetMemberToken)
  741.     (this,memberOffset,instanceToken);
  742. }
  743.  
  744.  
  745. /* method: somGetMethodData */
  746. boolean   somGetMethodData(somId methodId,
  747.         somMethodData* md)
  748. {
  749.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetMethodData)
  750.     (this,methodId,md);
  751. }
  752.  
  753.  
  754. /* method: somGetRdStub */
  755. somMethodProc*   somGetRdStub(somId methodId)
  756. {
  757.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetRdStub)
  758.     (this,methodId);
  759. }
  760.  
  761.  
  762. /* method: somGetMethodDescriptor */
  763. somId   somGetMethodDescriptor(somId methodId)
  764. {
  765.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetMethodDescriptor)
  766.     (this,methodId);
  767. }
  768.  
  769.  
  770. /* method: somGetMethodIndex */
  771. long   somGetMethodIndex(somId id)
  772. {
  773.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetMethodIndex)
  774.     (this,id);
  775. }
  776.  
  777.  
  778. /* method: somGetMethodToken */
  779. somMToken   somGetMethodToken(somId methodId)
  780. {
  781.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetMethodToken)
  782.     (this,methodId);
  783. }
  784.  
  785.  
  786. /* method: somGetName */
  787. string   somGetName()
  788. {
  789.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetName)
  790.     (this);
  791. }
  792.  
  793.  
  794. /* method: somGetNthMethodData */
  795. boolean   somGetNthMethodData(long n,
  796.         somMethodData* md)
  797. {
  798.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetNthMethodData)
  799.     (this,n,md);
  800. }
  801.  
  802.  
  803. /* method: somGetNthMethodInfo */
  804. somId   somGetNthMethodInfo(long n,
  805.         somId* descriptor)
  806. {
  807.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetNthMethodInfo)
  808.     (this,n,descriptor);
  809. }
  810.  
  811.  
  812. /* method: somGetNumMethods */
  813. long   somGetNumMethods()
  814. {
  815.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetNumMethods)
  816.     (this);
  817. }
  818.  
  819.  
  820. /* method: somGetNumStaticMethods */
  821. long   somGetNumStaticMethods()
  822. {
  823.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetNumStaticMethods)
  824.     (this);
  825. }
  826.  
  827.  
  828. /* method: somGetParent */
  829. SOMClass*   somGetParent()
  830. {
  831.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetParent)
  832.     (this);
  833. }
  834.  
  835.  
  836. /* method: somGetParents */
  837. SOMClass_SOMClassSequence   somGetParents()
  838. {
  839.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetParents)
  840.     (this);
  841. }
  842.  
  843.  
  844. /* method: somGetPClsMtab */
  845. somMethodTabs   somGetPClsMtab()
  846. {
  847.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetPClsMtab)
  848.     (this);
  849. }
  850.  
  851.  
  852. /* method: somGetPClsMtabs */
  853. somMethodTabs   somGetPClsMtabs()
  854. {
  855.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetPClsMtabs)
  856.     (this);
  857. }
  858.  
  859.  
  860. /* method: somGetVersionNumbers */
  861. void   somGetVersionNumbers(long* majorVersion,
  862.         long* minorVersion)
  863. {
  864.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somGetVersionNumbers)
  865.     (this,majorVersion,minorVersion);
  866. }
  867.  
  868.  
  869. /* method: somSetMethodDescriptor */
  870. boolean   somSetMethodDescriptor(somId methodId,
  871.         somId descriptor)
  872. {
  873.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somSetMethodDescriptor)
  874.     (this,methodId,descriptor);
  875. }
  876.  
  877.  
  878. /* method: somFindMethod */
  879. boolean   somFindMethod(somId methodId,
  880.         somMethodPtr* m)
  881. {
  882.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somFindMethod)
  883.     (this,methodId,m);
  884. }
  885.  
  886.  
  887. /* method: somFindMethodOk */
  888. boolean   somFindMethodOk(somId methodId,
  889.         somMethodPtr* m)
  890. {
  891.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somFindMethodOk)
  892.     (this,methodId,m);
  893. }
  894.  
  895.  
  896. /* method: somFindSMethod */
  897. somMethodPtr   somFindSMethod(somId methodId)
  898. {
  899.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somFindSMethod)
  900.     (this,methodId);
  901. }
  902.  
  903.  
  904. /* method: somFindSMethodOk */
  905. somMethodPtr   somFindSMethodOk(somId methodId)
  906. {
  907.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somFindSMethodOk)
  908.     (this,methodId);
  909. }
  910.  
  911.  
  912. /* method: somLookupMethod */
  913. somMethodPtr   somLookupMethod(somId methodId)
  914. {
  915.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somLookupMethod)
  916.     (this,methodId);
  917. }
  918.  
  919.  
  920. /* method: somCheckVersion */
  921. boolean   somCheckVersion(long majorVersion,
  922.         long minorVersion)
  923. {
  924.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somCheckVersion)
  925.     (this,majorVersion,minorVersion);
  926. }
  927.  
  928.  
  929. /* method: somDescendedFrom */
  930. boolean   somDescendedFrom(SOMClass* aClassObj)
  931. {
  932.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somDescendedFrom)
  933.     (this,aClassObj);
  934. }
  935.  
  936.  
  937. /* method: somSupportsMethod */
  938. boolean   somSupportsMethod(somId mId)
  939. {
  940.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somSupportsMethod)
  941.     (this,mId);
  942. }
  943.  
  944.  
  945. /* method: somDefinedMethod */
  946. somMethodPtr   somDefinedMethod(somMToken method)
  947. {
  948.    return SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somDefinedMethod)
  949.     (this,method);
  950. }
  951.  
  952.  
  953. /* method: somOverrideMtab */
  954. void   somOverrideMtab()
  955. {
  956.    SOM_ResolveD(this,SOMMSingleInstance,SOMClass,somOverrideMtab)
  957.     (this);
  958. }
  959.  
  960.  
  961. /* initializer method: somDefaultInit */
  962. void   somDefaultInit(somInitCtrl* ctrl)
  963. {
  964.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultInit)
  965.     (this,ctrl);
  966. }
  967.  
  968.  
  969. /* method: somDestruct */
  970. void   somDestruct(octet doFree,
  971.         somDestructCtrl* ctrl)
  972. {
  973.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDestruct)
  974.     (this,doFree,ctrl);
  975. }
  976.  
  977.  
  978. /* initializer method: somDefaultCopyInit */
  979. void   somDefaultCopyInit(somInitCtrl* ctrl,
  980.         SOMObject* fromObj)
  981. {
  982.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultCopyInit)
  983.     (this,ctrl,fromObj);
  984. }
  985.  
  986.  
  987. /* method: somDefaultAssign */
  988. SOMMSingleInstance*  somDefaultAssign(somAssignCtrl* ctrl,
  989.         SOMObject* fromObj)
  990. {
  991.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultAssign)
  992.     (this,ctrl,fromObj);
  993. }
  994.  
  995.  
  996. /* initializer method: somDefaultConstCopyInit */
  997. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  998.         SOMObject* fromObj)
  999. {
  1000.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultConstCopyInit)
  1001.     (this,ctrl,fromObj);
  1002. }
  1003.  
  1004.  
  1005. /* initializer method: somDefaultVCopyInit */
  1006. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  1007.         SOMObject* fromObj)
  1008. {
  1009.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultVCopyInit)
  1010.     (this,ctrl,fromObj);
  1011. }
  1012.  
  1013.  
  1014. /* initializer method: somDefaultConstVCopyInit */
  1015. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  1016.         SOMObject* fromObj)
  1017. {
  1018.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultConstVCopyInit)
  1019.     (this,ctrl,fromObj);
  1020. }
  1021.  
  1022.  
  1023. /* method: somDefaultConstAssign */
  1024. SOMMSingleInstance*  somDefaultConstAssign(somAssignCtrl* ctrl,
  1025.         SOMObject* fromObj)
  1026. {
  1027.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultConstAssign)
  1028.     (this,ctrl,fromObj);
  1029. }
  1030.  
  1031.  
  1032. /* method: somDefaultVAssign */
  1033. SOMMSingleInstance*  somDefaultVAssign(somAssignCtrl* ctrl,
  1034.         SOMObject* fromObj)
  1035. {
  1036.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultVAssign)
  1037.     (this,ctrl,fromObj);
  1038. }
  1039.  
  1040.  
  1041. /* method: somDefaultConstVAssign */
  1042. SOMMSingleInstance*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  1043.         SOMObject* fromObj)
  1044. {
  1045.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDefaultConstVAssign)
  1046.     (this,ctrl,fromObj);
  1047. }
  1048.  
  1049.  
  1050. /* method: somInit */
  1051. void   somInit()
  1052. {
  1053.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somInit)
  1054.     (this);
  1055. }
  1056.  
  1057.  
  1058. /* method: somFree */
  1059. void   somFree()
  1060. {
  1061.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somFree)
  1062.     (this);
  1063. }
  1064.  
  1065.  
  1066. /* method: somUninit */
  1067. void   somUninit()
  1068. {
  1069.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somUninit)
  1070.     (this);
  1071. }
  1072.  
  1073.  
  1074. /* method: somGetClass */
  1075. SOMClass*   somGetClass()
  1076. {
  1077.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somGetClass)
  1078.     (this);
  1079. }
  1080.  
  1081.  
  1082. /* method: somGetClassName */
  1083. string   somGetClassName()
  1084. {
  1085.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somGetClassName)
  1086.     (this);
  1087. }
  1088.  
  1089.  
  1090. /* method: somGetSize */
  1091. long   somGetSize()
  1092. {
  1093.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somGetSize)
  1094.     (this);
  1095. }
  1096.  
  1097.  
  1098. /* method: somIsA */
  1099. boolean   somIsA(SOMClass* aClassObj)
  1100. {
  1101.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somIsA)
  1102.     (this,aClassObj);
  1103. }
  1104.  
  1105.  
  1106. /* method: somIsInstanceOf */
  1107. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1108. {
  1109.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somIsInstanceOf)
  1110.     (this,aClassObj);
  1111. }
  1112.  
  1113.  
  1114. /* method: somRespondsTo */
  1115. boolean   somRespondsTo(somId mId)
  1116. {
  1117.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somRespondsTo)
  1118.     (this,mId);
  1119. }
  1120.  
  1121.  
  1122. /* va_list method: somDispatch */
  1123. /* the va_list invocation form */
  1124. boolean   SOMMSingleInstance_somDispatch(somToken* retValue,
  1125.         somId methodId,
  1126.         va_list ap)
  1127. {
  1128. return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDispatch)
  1129.     (this,retValue,methodId,ap);
  1130. }
  1131.  
  1132. /* the varargs invocation form */
  1133. boolean   somDispatch(somToken* retValue,
  1134.         somId methodId,
  1135.         ...)
  1136. {
  1137.    va_list ap;
  1138.    va_start(ap, methodId);
  1139.    boolean __somResult = 
  1140.       SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDispatch)
  1141.     (this,retValue,methodId,ap);
  1142.    va_end(ap);
  1143.    return __somResult;
  1144. }
  1145.  
  1146.  
  1147. /* va_list method: somClassDispatch */
  1148. /* the va_list invocation form */
  1149. boolean   SOMMSingleInstance_somClassDispatch(SOMClass* clsObj,
  1150.         somToken* retValue,
  1151.         somId methodId,
  1152.         va_list ap)
  1153. {
  1154. return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somClassDispatch)
  1155.     (this,clsObj,retValue,methodId,ap);
  1156. }
  1157.  
  1158. /* the varargs invocation form */
  1159. boolean   somClassDispatch(SOMClass* clsObj,
  1160.         somToken* retValue,
  1161.         somId methodId,
  1162.         ...)
  1163. {
  1164.    va_list ap;
  1165.    va_start(ap, methodId);
  1166.    boolean __somResult = 
  1167.       SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somClassDispatch)
  1168.     (this,clsObj,retValue,methodId,ap);
  1169.    va_end(ap);
  1170.    return __somResult;
  1171. }
  1172.  
  1173.  
  1174. /* method: somCastObj */
  1175. boolean   somCastObj(SOMClass* cls)
  1176. {
  1177.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somCastObj)
  1178.     (this,cls);
  1179. }
  1180.  
  1181.  
  1182. /* method: somResetObj */
  1183. boolean   somResetObj()
  1184. {
  1185.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somResetObj)
  1186.     (this);
  1187. }
  1188.  
  1189.  
  1190. /* method: somPrintSelf */
  1191. SOMObject*   somPrintSelf()
  1192. {
  1193.    return SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somPrintSelf)
  1194.     (this);
  1195. }
  1196.  
  1197.  
  1198. /* method: somDumpSelf */
  1199. void   somDumpSelf(long level)
  1200. {
  1201.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDumpSelf)
  1202.     (this,level);
  1203. }
  1204.  
  1205.  
  1206. /* method: somDumpSelfInt */
  1207. void   somDumpSelfInt(long level)
  1208. {
  1209.    SOM_ResolveD(this,SOMMSingleInstance,SOMObject,somDumpSelfInt)
  1210.     (this,level);
  1211. }
  1212.  
  1213.  
  1214.  
  1215. };   /* SOMMSingleInstance */
  1216.  
  1217.  
  1218.  
  1219. #endif       /* SOM_SOMMSingleInstance_xh */
  1220.