home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / somcls.api < prev    next >
Encoding:
Text File  |  1996-02-20  |  26.8 KB  |  614 lines

  1. #ifndef SOMClass_API
  2. #define SOMClass_API
  3. /*
  4.  * -- The Class API
  5.  */
  6.  
  7. /*
  8.  * Start of user-defined types:
  9.  */
  10. class SOMClass;
  11. class SOMObject;
  12. #ifndef _IDL_SEQUENCE_somToken_defined
  13. #define _IDL_SEQUENCE_somToken_defined
  14. typedef struct {
  15.     unsigned long _maximum;
  16.     unsigned long _length;
  17.     somToken *_buffer;
  18. } _IDL_SEQUENCE_somToken;
  19. #endif /* _IDL_SEQUENCE_somToken_defined */ 
  20. typedef
  21. _IDL_SEQUENCE_somToken SOMClass_somTokenSequence;
  22.  
  23. /*
  24.  *  a (generic) sequence of somTokens
  25.  */
  26. #ifndef _IDL_SEQUENCE_SOMClass_defined
  27. #define _IDL_SEQUENCE_SOMClass_defined
  28. typedef struct {
  29.     unsigned long _maximum;
  30.     unsigned long _length;
  31.     SOMClass **_buffer;
  32. } _IDL_SEQUENCE_SOMClass;
  33. #endif /* _IDL_SEQUENCE_SOMClass_defined */ 
  34. typedef
  35. _IDL_SEQUENCE_SOMClass SOMClass_SOMClassSequence;
  36.  
  37. /*
  38.  *  a sequence of classes
  39.  */
  40. typedef
  41. struct SOMClass_somOffsetInfo {
  42. SOMClass* cls;
  43. long  offset;
  44. } SOMClass_somOffsetInfo;
  45.  
  46. /*
  47.  *  a structure to describe a class-related offset
  48.  */
  49. struct SOMClass_somOffsetInfo;
  50. #ifndef _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined
  51. #define _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined
  52. typedef struct {
  53.     unsigned long _maximum;
  54.     unsigned long _length;
  55.     struct SOMClass_somOffsetInfo *_buffer;
  56. } _IDL_SEQUENCE_SOMClass_somOffsetInfo;
  57. #endif /* _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined */ 
  58. typedef
  59. _IDL_SEQUENCE_SOMClass_somOffsetInfo SOMClass_somOffsets;
  60.  
  61. /*
  62.  *  a sequence of class-related offsets
  63.  */
  64. #ifndef _IDL_SEQUENCE_somId_defined
  65. #define _IDL_SEQUENCE_somId_defined
  66. typedef struct {
  67.     unsigned long _maximum;
  68.     unsigned long _length;
  69.     somId *_buffer;
  70. } _IDL_SEQUENCE_somId;
  71. #endif /* _IDL_SEQUENCE_somId_defined */ 
  72. typedef
  73. _IDL_SEQUENCE_somId SOMClass_somIdSequence;
  74.  
  75. /*
  76.  *  a sequence of somIds
  77.  */
  78. typedef
  79. struct SOMClass_somUserPCallDispatchStruct {
  80. somId methodId;
  81. somMethodPtr dispatchFcn;
  82. SOMClass* cls;
  83. somMethodPtr continuation;
  84. } SOMClass_somUserPCallDispatchStruct;
  85.  
  86. #ifndef SOM_DONT_USE_SHORT_NAMES
  87.  
  88. #ifndef SOM_DONT_USE_SHORT_NAMES
  89. #ifndef SOMTGD_somTokenSequence
  90.     #ifdef somTokenSequence
  91.         #undef somTokenSequence
  92.         #define SOMTGD_somTokenSequence 1
  93.     #else
  94.         #define somTokenSequence SOMClass_somTokenSequence
  95.     #endif /* somTokenSequence */
  96. #endif /* SOMTGD_somTokenSequence */
  97. #endif /* SOM_DONT_USE_SHORT_NAMES */
  98.  
  99. #ifndef SOM_DONT_USE_SHORT_NAMES
  100. #ifndef SOMTGD_SOMClassSequence
  101.     #ifdef SOMClassSequence
  102.         #undef SOMClassSequence
  103.         #define SOMTGD_SOMClassSequence 1
  104.     #else
  105.         #define SOMClassSequence SOMClass_SOMClassSequence
  106.     #endif /* SOMClassSequence */
  107. #endif /* SOMTGD_SOMClassSequence */
  108. #endif /* SOM_DONT_USE_SHORT_NAMES */
  109. #ifndef SOMTGD_somOffsetInfo
  110.     #ifdef somOffsetInfo
  111.         #undef somOffsetInfo
  112.         #define SOMTGD_somOffsetInfo 1
  113.     #else
  114.         #define somOffsetInfo SOMClass_somOffsetInfo
  115.     #endif /* somOffsetInfo */
  116. #endif /* SOMTGD_somOffsetInfo */
  117. #ifndef SOMTGD__IDL_SEQUENCE_somOffsetInfo
  118.     #ifdef _IDL_SEQUENCE_somOffsetInfo
  119.         #undef _IDL_SEQUENCE_somOffsetInfo
  120.         #define SOMTGD__IDL_SEQUENCE_somOffsetInfo 1
  121.     #else
  122.         #define _IDL_SEQUENCE_somOffsetInfo _IDL_SEQUENCE_SOMClass_somOffsetInfo
  123.     #endif /* _IDL_SEQUENCE_somOffsetInfo */
  124. #endif /* SOMTGD__IDL_SEQUENCE_somOffsetInfo */
  125.  
  126. #ifndef SOM_DONT_USE_SHORT_NAMES
  127. #ifndef SOMTGD_somOffsets
  128.     #ifdef somOffsets
  129.         #undef somOffsets
  130.         #define SOMTGD_somOffsets 1
  131.     #else
  132.         #define somOffsets SOMClass_somOffsets
  133.     #endif /* somOffsets */
  134. #endif /* SOMTGD_somOffsets */
  135. #endif /* SOM_DONT_USE_SHORT_NAMES */
  136.  
  137. #ifndef SOM_DONT_USE_SHORT_NAMES
  138. #ifndef SOMTGD_somIdSequence
  139.     #ifdef somIdSequence
  140.         #undef somIdSequence
  141.         #define SOMTGD_somIdSequence 1
  142.     #else
  143.         #define somIdSequence SOMClass_somIdSequence
  144.     #endif /* somIdSequence */
  145. #endif /* SOMTGD_somIdSequence */
  146. #endif /* SOM_DONT_USE_SHORT_NAMES */
  147. #ifndef SOMTGD_somUserPCallDispatchStruct
  148.     #ifdef somUserPCallDispatchStruct
  149.         #undef somUserPCallDispatchStruct
  150.         #define SOMTGD_somUserPCallDispatchStruct 1
  151.     #else
  152.         #define somUserPCallDispatchStruct SOMClass_somUserPCallDispatchStruct
  153.     #endif /* somUserPCallDispatchStruct */
  154. #endif /* SOMTGD_somUserPCallDispatchStruct */
  155. #endif /* SOM_DONT_USE_SHORT_NAMES */
  156.  
  157. /*
  158.  * End of user-defined types.
  159.  */
  160.  
  161. /* A procedure to create the SOMClass Class */
  162. SOMEXTERN
  163. #if (defined(SOM_Module_somcls_Source) || defined(SOMClass_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClass))
  164. WIN32_DLLEXPORT
  165. #else
  166. WIN32_DLLIMPORT
  167. #endif
  168. SOMClass * SOMLINK SOMClassNewClass(
  169.         integer4,
  170.         integer4 );
  171.  
  172. /* The API to the SOMClass class object, and the methods it introduces. */
  173. SOMEXTERN struct SOMClassClassDataStructure {
  174.     SOMClass *classObject;
  175.     somMToken somNew;
  176.     somMToken somRenew;
  177.     somMToken somInitClass;
  178.     somMToken somClassReady;
  179.     somMToken somGetName;
  180.     somMToken somGetParent;
  181.     somMToken somDescendedFrom;
  182.     somMToken somCheckVersion;
  183.     somMToken somFindMethod;
  184.     somMToken somFindMethodOk;
  185.     somMToken somSupportsMethod;
  186.     somMToken somGetNumMethods;
  187.     somMToken somGetInstanceSize;
  188.     somMToken somGetInstanceOffset;
  189.     somMToken somGetInstancePartSize;
  190.     somMToken somGetMethodIndex;
  191.     somMToken somGetNumStaticMethods;
  192.     somMToken somGetPClsMtab;
  193.     somMToken somGetClassMtab;
  194.     somMToken somAddStaticMethod;
  195.     somMToken somOverrideSMethod;
  196.     somMToken somAddDynamicMethod;
  197.     somMToken somGetMethodOffset;
  198.     somMToken somGetApplyStub;
  199.     somMToken somFindSMethod;
  200.     somMToken somFindSMethodOk;
  201.     somMToken somGetMethodDescriptor;
  202.     somMToken somGetNthMethodInfo;
  203.     somMToken somSetClassData;
  204.     somMToken somGetClassData;
  205.     somMToken somNewNoInit;
  206.     somMToken somRenewNoInit;
  207.     somMToken somGetInstanceToken;
  208.     somMToken somGetMemberToken;
  209.     somMToken somSetMethodDescriptor;
  210.     somMToken somGetMethodData;
  211.     somMToken somOverrideMtab;
  212.     somMToken somGetMethodToken;
  213.     somMToken somGetParents;
  214.     somMToken somGetPClsMtabs;
  215.     somMToken somInitMIClass;
  216.     somMToken somGetVersionNumbers;
  217.     somMToken somLookupMethod;
  218.     somMToken _get_somInstanceDataOffsets;
  219.     somMToken somRenewNoZero;
  220.     somMToken somRenewNoInitNoZero;
  221.     somMToken somAllocate;
  222.     somMToken somDeallocate;
  223.     somMToken somGetRdStub;
  224.     somMToken somGetNthMethodData;
  225.     somMToken somCloneClass;
  226.     somMToken _get_somMethodOffsets;
  227.     somMToken _get_somDirectInitClasses;
  228.     somMToken _set_somDirectInitClasses;
  229.     somMToken somGetInstanceInitMask;
  230.     somMToken somGetInstanceDestructionMask;
  231.     somMToken somCastObjCls;
  232.     somMToken somResetObjCls;
  233.     somMToken _get_somTrueClass;
  234.     somMToken _get_somCastedClass;
  235.     somMToken somRegLPMToken;
  236.     somMToken somDefinedMethod;
  237.     somMToken somAddMethod;
  238.     somMToken _get_somCClassData;
  239.     somMToken _set_somCClassData;
  240.     somMethodProc *somClassOfNewClassWithParents;
  241.     somMToken _set_somClassDataOrder;
  242.     somMToken _get_somClassDataOrder;
  243.     somMToken somGetClassDataEntry;
  244.     somMToken somSetClassDataEntry;
  245.     somMToken _get_somDataAlignment;
  246.     somMToken somGetInstanceAssignmentMask;
  247.     somMToken _get_somDirectAssignClasses;
  248.     somMToken setUserPCallDispatch;
  249.     somMToken _get_somClassAllocate;
  250.     somMToken _get_somClassDeallocate;
  251. }
  252. #if !(defined(SOM_Module_somcls_Source) || defined(SOMClass_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClass))
  253. WIN32_DLLIMPORT
  254. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  255. WIN32_DLLEXPORT
  256. #endif
  257. SOMDLINK SOMClassClassData;
  258. #define _SOMClass SOMClassClassData.classObject
  259.  
  260. /* The API to parentMtabs for SOMClass, and the instance data it introduces. */
  261. SOMEXTERN struct SOMClassCClassDataStructure {
  262.     somMethodTabs parentMtab;
  263.     somDToken              instanceDataToken;
  264. }
  265. #if !(defined(SOM_Module_somcls_Source) || defined(SOMClass_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClass))
  266. WIN32_DLLIMPORT
  267. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  268. WIN32_DLLEXPORT
  269. #endif
  270. SOMDLINK SOMClassCClassData;
  271.  
  272. /*
  273.  * -- Typedefs for SOMClass Method Procedures
  274.  */
  275. extern "C" {
  276. typedef long   SOMLINK somTP_SOMClass__get_somDataAlignment(SOMClass *somSelf);
  277. typedef somTP_SOMClass__get_somDataAlignment *somTD_SOMClass__get_somDataAlignment;
  278. typedef SOMClass_somOffsets   SOMLINK somTP_SOMClass__get_somInstanceDataOffsets(SOMClass *somSelf);
  279. typedef somTP_SOMClass__get_somInstanceDataOffsets *somTD_SOMClass__get_somInstanceDataOffsets;
  280. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass__get_somDirectInitClasses(SOMClass *somSelf);
  281. typedef somTP_SOMClass__get_somDirectInitClasses *somTD_SOMClass__get_somDirectInitClasses;
  282. typedef void   SOMLINK somTP_SOMClass__set_somDirectInitClasses(SOMClass *somSelf,
  283.         SOMClass_SOMClassSequence* somDirectInitClasses);
  284. typedef somTP_SOMClass__set_somDirectInitClasses *somTD_SOMClass__set_somDirectInitClasses;
  285. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass__get_somDirectAssignClasses(SOMClass *somSelf);
  286. typedef somTP_SOMClass__get_somDirectAssignClasses *somTD_SOMClass__get_somDirectAssignClasses;
  287. typedef somCClassDataStructurePtr   SOMLINK somTP_SOMClass__get_somCClassData(SOMClass *somSelf);
  288. typedef somTP_SOMClass__get_somCClassData *somTD_SOMClass__get_somCClassData;
  289. typedef void   SOMLINK somTP_SOMClass__set_somCClassData(SOMClass *somSelf,
  290.         somCClassDataStructurePtr somCClassData);
  291. typedef somTP_SOMClass__set_somCClassData *somTD_SOMClass__set_somCClassData;
  292. typedef SOMClass_somIdSequence   SOMLINK somTP_SOMClass__get_somClassDataOrder(SOMClass *somSelf);
  293. typedef somTP_SOMClass__get_somClassDataOrder *somTD_SOMClass__get_somClassDataOrder;
  294. typedef void   SOMLINK somTP_SOMClass__set_somClassDataOrder(SOMClass *somSelf,
  295.         SOMClass_somIdSequence* somClassDataOrder);
  296. typedef somTP_SOMClass__set_somClassDataOrder *somTD_SOMClass__set_somClassDataOrder;
  297. typedef SOMClass*   SOMLINK somTP_SOMClass__get_somTrueClass(SOMClass *somSelf);
  298. typedef somTP_SOMClass__get_somTrueClass *somTD_SOMClass__get_somTrueClass;
  299. typedef SOMClass*   SOMLINK somTP_SOMClass__get_somCastedClass(SOMClass *somSelf);
  300. typedef somTP_SOMClass__get_somCastedClass *somTD_SOMClass__get_somCastedClass;
  301. typedef SOMClass_somOffsets   SOMLINK somTP_SOMClass__get_somMethodOffsets(SOMClass *somSelf);
  302. typedef somTP_SOMClass__get_somMethodOffsets *somTD_SOMClass__get_somMethodOffsets;
  303. typedef SOMObject*   SOMLINK somTP_SOMClass_somNew(SOMClass *somSelf);
  304. typedef somTP_SOMClass_somNew *somTD_SOMClass_somNew;
  305. typedef SOMObject*   SOMLINK somTP_SOMClass_somNewNoInit(SOMClass *somSelf);
  306. typedef somTP_SOMClass_somNewNoInit *somTD_SOMClass_somNewNoInit;
  307. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenew(SOMClass *somSelf,
  308.         void* obj);
  309. typedef somTP_SOMClass_somRenew *somTD_SOMClass_somRenew;
  310. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInit(SOMClass *somSelf,
  311.         void* obj);
  312. typedef somTP_SOMClass_somRenewNoInit *somTD_SOMClass_somRenewNoInit;
  313. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoZero(SOMClass *somSelf,
  314.         void* obj);
  315. typedef somTP_SOMClass_somRenewNoZero *somTD_SOMClass_somRenewNoZero;
  316. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInitNoZero(SOMClass *somSelf,
  317.         void* obj);
  318. typedef somTP_SOMClass_somRenewNoInitNoZero *somTD_SOMClass_somRenewNoInitNoZero;
  319. typedef string   SOMLINK somTP_SOMClass_somAllocate(SOMClass *somSelf,
  320.         long size);
  321. typedef somTP_SOMClass_somAllocate *somTD_SOMClass_somAllocate;
  322. typedef void   SOMLINK somTP_SOMClass_somDeallocate(SOMClass *somSelf,
  323.         string memptr);
  324. typedef somTP_SOMClass_somDeallocate *somTD_SOMClass_somDeallocate;
  325. typedef somMethodProc*   SOMLINK somTP_SOMClass__get_somClassAllocate(SOMClass *somSelf);
  326. typedef somTP_SOMClass__get_somClassAllocate *somTD_SOMClass__get_somClassAllocate;
  327. typedef somMethodProc*   SOMLINK somTP_SOMClass__get_somClassDeallocate(SOMClass *somSelf);
  328. typedef somTP_SOMClass__get_somClassDeallocate *somTD_SOMClass__get_somClassDeallocate;
  329. typedef somBooleanVector   SOMLINK somTP_SOMClass_somGetInstanceInitMask(SOMClass *somSelf,
  330.         somInitCtrl* ctrl);
  331. typedef somTP_SOMClass_somGetInstanceInitMask *somTD_SOMClass_somGetInstanceInitMask;
  332. typedef somBooleanVector   SOMLINK somTP_SOMClass_somGetInstanceDestructionMask(SOMClass *somSelf,
  333.         somDestructCtrl* ctrl);
  334. typedef somTP_SOMClass_somGetInstanceDestructionMask *somTD_SOMClass_somGetInstanceDestructionMask;
  335. typedef somBooleanVector   SOMLINK somTP_SOMClass_somGetInstanceAssignmentMask(SOMClass *somSelf,
  336.         somAssignCtrl* ctrl);
  337. typedef somTP_SOMClass_somGetInstanceAssignmentMask *somTD_SOMClass_somGetInstanceAssignmentMask;
  338. typedef void   SOMLINK somTP_SOMClass_somInitClass(SOMClass *somSelf,
  339.         string className,
  340.         SOMClass* parentClass,
  341.         long dataSize,
  342.         long maxStaticMethods,
  343.         long majorVersion,
  344.         long minorVersion);
  345. typedef somTP_SOMClass_somInitClass *somTD_SOMClass_somInitClass;
  346. typedef void   SOMLINK somTP_SOMClass_somInitMIClass(SOMClass *somSelf,
  347.         long inherit_vars,
  348.         string className,
  349.         SOMClass_SOMClassSequence* parentClasses,
  350.         long dataSize,
  351.         long dataAlignment,
  352.         long maxStaticMethods,
  353.         long majorVersion,
  354.         long minorVersion);
  355. typedef somTP_SOMClass_somInitMIClass *somTD_SOMClass_somInitMIClass;
  356. typedef somMToken   SOMLINK somTP_SOMClass_somAddStaticMethod(SOMClass *somSelf,
  357.         somId methodId,
  358.         somId methodDescriptor,
  359.         somMethodPtr method,
  360.         somMethodPtr redispatchStub,
  361.         somMethodPtr applyStub);
  362. typedef somTP_SOMClass_somAddStaticMethod *somTD_SOMClass_somAddStaticMethod;
  363. typedef void   SOMLINK somTP_SOMClass_somAddDynamicMethod(SOMClass *somSelf,
  364.         somId methodId,
  365.         somId methodDescriptor,
  366.         somMethodPtr method,
  367.         somMethodPtr applyStub);
  368. typedef somTP_SOMClass_somAddDynamicMethod *somTD_SOMClass_somAddDynamicMethod;
  369. typedef void   SOMLINK somTP_SOMClass_somOverrideSMethod(SOMClass *somSelf,
  370.         somId methodId,
  371.         somMethodPtr method);
  372. typedef somTP_SOMClass_somOverrideSMethod *somTD_SOMClass_somOverrideSMethod;
  373. typedef void   SOMLINK somTP_SOMClass_somClassReady(SOMClass *somSelf);
  374. typedef somTP_SOMClass_somClassReady *somTD_SOMClass_somClassReady;
  375. typedef somMToken   SOMLINK somTP_SOMClass_somAddMethod(SOMClass *somSelf,
  376.         unsigned long type,
  377.         somId methodId,
  378.         somId methodDescriptor,
  379.         somMethodPtr method,
  380.         somMethodPtr redispatchStub,
  381.         somMethodPtr applyStub);
  382. typedef somTP_SOMClass_somAddMethod *somTD_SOMClass_somAddMethod;
  383. typedef void   SOMLINK somTP_SOMClass_somRegLPMToken(SOMClass *somSelf,
  384.         somMToken* tokenPtr);
  385. typedef somTP_SOMClass_somRegLPMToken *somTD_SOMClass_somRegLPMToken;
  386. typedef somClassDataStructure*   SOMLINK somTP_SOMClass_somGetClassData(SOMClass *somSelf);
  387. typedef somTP_SOMClass_somGetClassData *somTD_SOMClass_somGetClassData;
  388. typedef void   SOMLINK somTP_SOMClass_somSetClassData(SOMClass *somSelf,
  389.         somClassDataStructure* cds);
  390. typedef somTP_SOMClass_somSetClassData *somTD_SOMClass_somSetClassData;
  391. typedef somMethodTab*   SOMLINK somTP_SOMClass_somGetClassMtab(SOMClass *somSelf);
  392. typedef somTP_SOMClass_somGetClassMtab *somTD_SOMClass_somGetClassMtab;
  393. typedef long   SOMLINK somTP_SOMClass_somGetInstanceOffset(SOMClass *somSelf);
  394. typedef somTP_SOMClass_somGetInstanceOffset *somTD_SOMClass_somGetInstanceOffset;
  395. typedef long   SOMLINK somTP_SOMClass_somGetInstancePartSize(SOMClass *somSelf);
  396. typedef somTP_SOMClass_somGetInstancePartSize *somTD_SOMClass_somGetInstancePartSize;
  397. typedef long   SOMLINK somTP_SOMClass_somGetInstanceSize(SOMClass *somSelf);
  398. typedef somTP_SOMClass_somGetInstanceSize *somTD_SOMClass_somGetInstanceSize;
  399. typedef somDToken   SOMLINK somTP_SOMClass_somGetInstanceToken(SOMClass *somSelf);
  400. typedef somTP_SOMClass_somGetInstanceToken *somTD_SOMClass_somGetInstanceToken;
  401. typedef somDToken   SOMLINK somTP_SOMClass_somGetMemberToken(SOMClass *somSelf,
  402.         long memberOffset,
  403.         somDToken instanceToken);
  404. typedef somTP_SOMClass_somGetMemberToken *somTD_SOMClass_somGetMemberToken;
  405. typedef boolean   SOMLINK somTP_SOMClass_somGetMethodData(SOMClass *somSelf,
  406.         somId methodId,
  407.         somMethodData* md);
  408. typedef somTP_SOMClass_somGetMethodData *somTD_SOMClass_somGetMethodData;
  409. typedef somMethodProc*   SOMLINK somTP_SOMClass_somGetRdStub(SOMClass *somSelf,
  410.         somId methodId);
  411. typedef somTP_SOMClass_somGetRdStub *somTD_SOMClass_somGetRdStub;
  412. typedef somId   SOMLINK somTP_SOMClass_somGetMethodDescriptor(SOMClass *somSelf,
  413.         somId methodId);
  414. typedef somTP_SOMClass_somGetMethodDescriptor *somTD_SOMClass_somGetMethodDescriptor;
  415. typedef long   SOMLINK somTP_SOMClass_somGetMethodIndex(SOMClass *somSelf,
  416.         somId id);
  417. typedef somTP_SOMClass_somGetMethodIndex *somTD_SOMClass_somGetMethodIndex;
  418. typedef somMToken   SOMLINK somTP_SOMClass_somGetMethodToken(SOMClass *somSelf,
  419.         somId methodId);
  420. typedef somTP_SOMClass_somGetMethodToken *somTD_SOMClass_somGetMethodToken;
  421. typedef string   SOMLINK somTP_SOMClass_somGetName(SOMClass *somSelf);
  422. typedef somTP_SOMClass_somGetName *somTD_SOMClass_somGetName;
  423. typedef boolean   SOMLINK somTP_SOMClass_somGetNthMethodData(SOMClass *somSelf,
  424.         long n,
  425.         somMethodData* md);
  426. typedef somTP_SOMClass_somGetNthMethodData *somTD_SOMClass_somGetNthMethodData;
  427. typedef somId   SOMLINK somTP_SOMClass_somGetNthMethodInfo(SOMClass *somSelf,
  428.         long n,
  429.         somId* descriptor);
  430. typedef somTP_SOMClass_somGetNthMethodInfo *somTD_SOMClass_somGetNthMethodInfo;
  431. typedef long   SOMLINK somTP_SOMClass_somGetNumMethods(SOMClass *somSelf);
  432. typedef somTP_SOMClass_somGetNumMethods *somTD_SOMClass_somGetNumMethods;
  433. typedef long   SOMLINK somTP_SOMClass_somGetNumStaticMethods(SOMClass *somSelf);
  434. typedef somTP_SOMClass_somGetNumStaticMethods *somTD_SOMClass_somGetNumStaticMethods;
  435. typedef SOMClass*   SOMLINK somTP_SOMClass_somGetParent(SOMClass *somSelf);
  436. typedef somTP_SOMClass_somGetParent *somTD_SOMClass_somGetParent;
  437. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass_somGetParents(SOMClass *somSelf);
  438. typedef somTP_SOMClass_somGetParents *somTD_SOMClass_somGetParents;
  439. typedef somMethodTabs   SOMLINK somTP_SOMClass_somGetPClsMtab(SOMClass *somSelf);
  440. typedef somTP_SOMClass_somGetPClsMtab *somTD_SOMClass_somGetPClsMtab;
  441. typedef somMethodTabs   SOMLINK somTP_SOMClass_somGetPClsMtabs(SOMClass *somSelf);
  442. typedef somTP_SOMClass_somGetPClsMtabs *somTD_SOMClass_somGetPClsMtabs;
  443. typedef void   SOMLINK somTP_SOMClass_somGetVersionNumbers(SOMClass *somSelf,
  444.         long* majorVersion,
  445.         long* minorVersion);
  446. typedef somTP_SOMClass_somGetVersionNumbers *somTD_SOMClass_somGetVersionNumbers;
  447. typedef boolean   SOMLINK somTP_SOMClass_somSetMethodDescriptor(SOMClass *somSelf,
  448.         somId methodId,
  449.         somId descriptor);
  450. typedef somTP_SOMClass_somSetMethodDescriptor *somTD_SOMClass_somSetMethodDescriptor;
  451. typedef boolean   SOMLINK somTP_SOMClass_somFindMethod(SOMClass *somSelf,
  452.         somId methodId,
  453.         somMethodPtr* m);
  454. typedef somTP_SOMClass_somFindMethod *somTD_SOMClass_somFindMethod;
  455. typedef boolean   SOMLINK somTP_SOMClass_somFindMethodOk(SOMClass *somSelf,
  456.         somId methodId,
  457.         somMethodPtr* m);
  458. typedef somTP_SOMClass_somFindMethodOk *somTD_SOMClass_somFindMethodOk;
  459. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethod(SOMClass *somSelf,
  460.         somId methodId);
  461. typedef somTP_SOMClass_somFindSMethod *somTD_SOMClass_somFindSMethod;
  462. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethodOk(SOMClass *somSelf,
  463.         somId methodId);
  464. typedef somTP_SOMClass_somFindSMethodOk *somTD_SOMClass_somFindSMethodOk;
  465. typedef somMethodPtr   SOMLINK somTP_SOMClass_somLookupMethod(SOMClass *somSelf,
  466.         somId methodId);
  467. typedef somTP_SOMClass_somLookupMethod *somTD_SOMClass_somLookupMethod;
  468. typedef somToken   SOMLINK somTP_SOMClass_somGetClassDataEntry(SOMClass *somSelf,
  469.         somId memberName);
  470. typedef somTP_SOMClass_somGetClassDataEntry *somTD_SOMClass_somGetClassDataEntry;
  471. typedef boolean   SOMLINK somTP_SOMClass_somSetClassDataEntry(SOMClass *somSelf,
  472.         somId memberName,
  473.         somToken entry);
  474. typedef somTP_SOMClass_somSetClassDataEntry *somTD_SOMClass_somSetClassDataEntry;
  475. typedef long   SOMLINK somTP_SOMClass_somGetMethodOffset(SOMClass *somSelf,
  476.         somId methodId);
  477. typedef somTP_SOMClass_somGetMethodOffset *somTD_SOMClass_somGetMethodOffset;
  478. typedef boolean   SOMLINK somTP_SOMClass_somCheckVersion(SOMClass *somSelf,
  479.         long majorVersion,
  480.         long minorVersion);
  481. typedef somTP_SOMClass_somCheckVersion *somTD_SOMClass_somCheckVersion;
  482. typedef boolean   SOMLINK somTP_SOMClass_somDescendedFrom(SOMClass *somSelf,
  483.         SOMClass* aClassObj);
  484. typedef somTP_SOMClass_somDescendedFrom *somTD_SOMClass_somDescendedFrom;
  485. typedef boolean   SOMLINK somTP_SOMClass_somSupportsMethod(SOMClass *somSelf,
  486.         somId mId);
  487. typedef somTP_SOMClass_somSupportsMethod *somTD_SOMClass_somSupportsMethod;
  488. typedef somMethodPtr   SOMLINK somTP_SOMClass_somDefinedMethod(SOMClass *somSelf,
  489.         somMToken method);
  490. typedef somTP_SOMClass_somDefinedMethod *somTD_SOMClass_somDefinedMethod;
  491. typedef void   SOMLINK somTP_SOMClass_somOverrideMtab(SOMClass *somSelf);
  492. typedef somTP_SOMClass_somOverrideMtab *somTD_SOMClass_somOverrideMtab;
  493. typedef boolean   SOMLINK somTP_SOMClass_somCastObjCls(SOMClass *somSelf,
  494.         SOMClass* cls,
  495.         somToken* obj);
  496. typedef somTP_SOMClass_somCastObjCls *somTD_SOMClass_somCastObjCls;
  497. typedef boolean   SOMLINK somTP_SOMClass_somResetObjCls(SOMClass *somSelf,
  498.         somToken* obj);
  499. typedef somTP_SOMClass_somResetObjCls *somTD_SOMClass_somResetObjCls;
  500. typedef SOMClass*   SOMLINK somTP_SOMClass_somCloneClass(SOMClass *somSelf,
  501.         string cloneName);
  502. typedef somTP_SOMClass_somCloneClass *somTD_SOMClass_somCloneClass;
  503. typedef boolean   SOMLINK somTP_SOMClass_setUserPCallDispatch(SOMClass *somSelf,
  504.         somMethodProc* oldFcn,
  505.         somMethodProc* newFcn);
  506. typedef somTP_SOMClass_setUserPCallDispatch *somTD_SOMClass_setUserPCallDispatch;
  507. typedef SOMClass*   SOMLINK somTP_SOMClass_somClassOfNewClassWithParents(string newClassName,
  508.         SOMClass_SOMClassSequence* parents,
  509.         SOMClass* explicitMeta);
  510. typedef somTP_SOMClass_somClassOfNewClassWithParents *somTD_SOMClass_somClassOfNewClassWithParents;
  511.  
  512. /*
  513.  * -- Typedefs for Reintroduced Wrapper Methods
  514.  */
  515. typedef void   SOMLINK somTP_SOMClass_somDefaultInit(SOMClass *somSelf,
  516.         somInitCtrl* ctrl);
  517. typedef somTP_SOMClass_somDefaultInit *somTD_SOMClass_somDefaultInit;
  518. typedef void   SOMLINK somTP_SOMClass_somDestruct(SOMClass *somSelf,
  519.         octet doFree,
  520.         somDestructCtrl* ctrl);
  521. typedef somTP_SOMClass_somDestruct *somTD_SOMClass_somDestruct;
  522. typedef void   SOMLINK somTP_SOMClass_somDefaultCopyInit(SOMClass *somSelf,
  523.         somInitCtrl* ctrl,
  524.         SOMObject* fromObj);
  525. typedef somTP_SOMClass_somDefaultCopyInit *somTD_SOMClass_somDefaultCopyInit;
  526. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultAssign(SOMClass *somSelf,
  527.         somAssignCtrl* ctrl,
  528.         SOMObject* fromObj);
  529. typedef somTP_SOMClass_somDefaultAssign *somTD_SOMClass_somDefaultAssign;
  530. typedef void   SOMLINK somTP_SOMClass_somDefaultConstCopyInit(SOMClass *somSelf,
  531.         somInitCtrl* ctrl,
  532.         SOMObject* fromObj);
  533. typedef somTP_SOMClass_somDefaultConstCopyInit *somTD_SOMClass_somDefaultConstCopyInit;
  534. typedef void   SOMLINK somTP_SOMClass_somDefaultVCopyInit(SOMClass *somSelf,
  535.         somInitCtrl* ctrl,
  536.         SOMObject* fromObj);
  537. typedef somTP_SOMClass_somDefaultVCopyInit *somTD_SOMClass_somDefaultVCopyInit;
  538. typedef void   SOMLINK somTP_SOMClass_somDefaultConstVCopyInit(SOMClass *somSelf,
  539.         somInitCtrl* ctrl,
  540.         SOMObject* fromObj);
  541. typedef somTP_SOMClass_somDefaultConstVCopyInit *somTD_SOMClass_somDefaultConstVCopyInit;
  542. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultConstAssign(SOMClass *somSelf,
  543.         somAssignCtrl* ctrl,
  544.         SOMObject* fromObj);
  545. typedef somTP_SOMClass_somDefaultConstAssign *somTD_SOMClass_somDefaultConstAssign;
  546. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultVAssign(SOMClass *somSelf,
  547.         somAssignCtrl* ctrl,
  548.         SOMObject* fromObj);
  549. typedef somTP_SOMClass_somDefaultVAssign *somTD_SOMClass_somDefaultVAssign;
  550. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultConstVAssign(SOMClass *somSelf,
  551.         somAssignCtrl* ctrl,
  552.         SOMObject* fromObj);
  553. typedef somTP_SOMClass_somDefaultConstVAssign *somTD_SOMClass_somDefaultConstVAssign;
  554. typedef void   SOMLINK somTP_SOMClass_somInit(SOMClass *somSelf);
  555. typedef somTP_SOMClass_somInit *somTD_SOMClass_somInit;
  556. typedef void   SOMLINK somTP_SOMClass_somFree(SOMClass *somSelf);
  557. typedef somTP_SOMClass_somFree *somTD_SOMClass_somFree;
  558. typedef void   SOMLINK somTP_SOMClass_somUninit(SOMClass *somSelf);
  559. typedef somTP_SOMClass_somUninit *somTD_SOMClass_somUninit;
  560. typedef SOMClass*   SOMLINK somTP_SOMClass_somGetClass(SOMClass *somSelf);
  561. typedef somTP_SOMClass_somGetClass *somTD_SOMClass_somGetClass;
  562. typedef string   SOMLINK somTP_SOMClass_somGetClassName(SOMClass *somSelf);
  563. typedef somTP_SOMClass_somGetClassName *somTD_SOMClass_somGetClassName;
  564. typedef long   SOMLINK somTP_SOMClass_somGetSize(SOMClass *somSelf);
  565. typedef somTP_SOMClass_somGetSize *somTD_SOMClass_somGetSize;
  566. typedef boolean   SOMLINK somTP_SOMClass_somIsA(SOMClass *somSelf,
  567.         SOMClass* aClassObj);
  568. typedef somTP_SOMClass_somIsA *somTD_SOMClass_somIsA;
  569. typedef boolean   SOMLINK somTP_SOMClass_somIsInstanceOf(SOMClass *somSelf,
  570.         SOMClass* aClassObj);
  571. typedef somTP_SOMClass_somIsInstanceOf *somTD_SOMClass_somIsInstanceOf;
  572. typedef boolean   SOMLINK somTP_SOMClass_somRespondsTo(SOMClass *somSelf,
  573.         somId mId);
  574. typedef somTP_SOMClass_somRespondsTo *somTD_SOMClass_somRespondsTo;
  575. typedef boolean   SOMLINK somTP_SOMClass_somDispatch(SOMClass *somSelf,
  576.         somToken* retValue,
  577.         somId methodId,
  578.         va_list ap);
  579. typedef somTP_SOMClass_somDispatch *somTD_SOMClass_somDispatch;
  580. typedef boolean   SOMLINK somTP_SOMClass_somClassDispatch(SOMClass *somSelf,
  581.         SOMClass* clsObj,
  582.         somToken* retValue,
  583.         somId methodId,
  584.         va_list ap);
  585. typedef somTP_SOMClass_somClassDispatch *somTD_SOMClass_somClassDispatch;
  586. typedef boolean   SOMLINK somTP_SOMClass_somCastObj(SOMClass *somSelf,
  587.         SOMClass* cls);
  588. typedef somTP_SOMClass_somCastObj *somTD_SOMClass_somCastObj;
  589. typedef boolean   SOMLINK somTP_SOMClass_somResetObj(SOMClass *somSelf);
  590. typedef somTP_SOMClass_somResetObj *somTD_SOMClass_somResetObj;
  591. typedef SOMObject_BooleanSequence   SOMLINK somTP_SOMClass_somComputeForwardVisitMask(SOMClass *somSelf,
  592.         somObjects noVisits,
  593.         somMToken visitMethod,
  594.         SOMObject_SOMObjectSequence* visitOrder,
  595.         SOMObject_somObjectOffsets* visitOffsets);
  596. typedef somTP_SOMClass_somComputeForwardVisitMask *somTD_SOMClass_somComputeForwardVisitMask;
  597. typedef SOMObject_BooleanSequence   SOMLINK somTP_SOMClass_somComputeReverseVisitMask(SOMClass *somSelf,
  598.         somMToken visitMethod,
  599.         SOMObject_SOMObjectSequence* fwdVisitOrder,
  600.         SOMObject_SOMObjectSequence* visitOrder,
  601.         SOMObject_somObjectOffsets* visitOffsets);
  602. typedef somTP_SOMClass_somComputeReverseVisitMask *somTD_SOMClass_somComputeReverseVisitMask;
  603. typedef SOMObject*   SOMLINK somTP_SOMClass_somPrintSelf(SOMClass *somSelf);
  604. typedef somTP_SOMClass_somPrintSelf *somTD_SOMClass_somPrintSelf;
  605. typedef void   SOMLINK somTP_SOMClass_somDumpSelf(SOMClass *somSelf,
  606.         long level);
  607. typedef somTP_SOMClass_somDumpSelf *somTD_SOMClass_somDumpSelf;
  608. typedef void   SOMLINK somTP_SOMClass_somDumpSelfInt(SOMClass *somSelf,
  609.         long level);
  610. typedef somTP_SOMClass_somDumpSelfInt *somTD_SOMClass_somDumpSelfInt;
  611. }
  612.  
  613. #endif /* SOMClass_API */
  614.