home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / somcls.api < prev    next >
Text File  |  1996-12-24  |  22KB  |  524 lines

  1. #ifndef SOMClass_API
  2. #define SOMClass_API
  3. /*
  4.  * -- The Class API
  5.  */
  6.  
  7. /*
  8.  * Start of bindings for IDL types
  9.  */
  10.  
  11. class SOMClass;
  12. class SOMObject;
  13. #ifndef _IDL_SEQUENCE_somToken_defined
  14. #define _IDL_SEQUENCE_somToken_defined
  15. typedef struct {
  16.     unsigned long _maximum;
  17.     unsigned long _length;
  18.     somToken *_buffer;
  19. } _IDL_SEQUENCE_somToken;
  20. #endif /* _IDL_SEQUENCE_somToken_defined */ 
  21. typedef
  22. _IDL_SEQUENCE_somToken SOMClass_somTokenSequence;
  23. /*
  24.  *  a (generic) sequence of somTokens
  25.  */
  26.  
  27. #ifndef _IDL_SEQUENCE_SOMClass_defined
  28. #define _IDL_SEQUENCE_SOMClass_defined
  29. typedef struct {
  30.     unsigned long _maximum;
  31.     unsigned long _length;
  32.     SOMClass **_buffer;
  33. } _IDL_SEQUENCE_SOMClass;
  34. #endif /* _IDL_SEQUENCE_SOMClass_defined */ 
  35. typedef
  36. _IDL_SEQUENCE_SOMClass SOMClass_SOMClassSequence;
  37. /*
  38.  *  a sequence of classes
  39.  */
  40.  
  41. typedef
  42. struct SOMClass_somOffsetInfo {
  43. SOMClass* cls;
  44. long  offset;
  45. } SOMClass_somOffsetInfo;
  46. /*
  47.  *  a structure to describe a class-related offset
  48.  */
  49.  
  50. struct SOMClass_somOffsetInfo;
  51. #ifndef _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined
  52. #define _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined
  53. typedef struct {
  54.     unsigned long _maximum;
  55.     unsigned long _length;
  56.     struct SOMClass_somOffsetInfo *_buffer;
  57. } _IDL_SEQUENCE_SOMClass_somOffsetInfo;
  58. #endif /* _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined */ 
  59. typedef
  60. _IDL_SEQUENCE_SOMClass_somOffsetInfo SOMClass_somOffsets;
  61. /*
  62.  *  a sequence of class-related offsets
  63.  */
  64.  
  65. #ifndef _IDL_SEQUENCE_somId_defined
  66. #define _IDL_SEQUENCE_somId_defined
  67. typedef struct {
  68.     unsigned long _maximum;
  69.     unsigned long _length;
  70.     somId *_buffer;
  71. } _IDL_SEQUENCE_somId;
  72. #endif /* _IDL_SEQUENCE_somId_defined */ 
  73. typedef
  74. _IDL_SEQUENCE_somId SOMClass_somIdSequence;
  75. /*
  76.  *  a sequence of somIds
  77.  */
  78.  
  79.  
  80. #ifndef SOM_DONT_USE_SHORT_NAMES
  81.  
  82. #ifndef SOM_DONT_USE_SHORT_NAMES
  83. #ifndef SOMTGD_somTokenSequence
  84.     #ifdef somTokenSequence
  85.         #undef somTokenSequence
  86.         #define SOMTGD_somTokenSequence 1
  87.     #else
  88.         #define somTokenSequence SOMClass_somTokenSequence
  89.     #endif /* somTokenSequence */
  90. #endif /* SOMTGD_somTokenSequence */
  91. #endif /* SOM_DONT_USE_SHORT_NAMES */
  92.  
  93. #ifndef SOM_DONT_USE_SHORT_NAMES
  94. #ifndef SOMTGD_SOMClassSequence
  95.     #ifdef SOMClassSequence
  96.         #undef SOMClassSequence
  97.         #define SOMTGD_SOMClassSequence 1
  98.     #else
  99.         #define SOMClassSequence SOMClass_SOMClassSequence
  100.     #endif /* SOMClassSequence */
  101. #endif /* SOMTGD_SOMClassSequence */
  102. #endif /* SOM_DONT_USE_SHORT_NAMES */
  103. #ifndef SOMTGD_somOffsetInfo
  104.     #ifdef somOffsetInfo
  105.         #undef somOffsetInfo
  106.         #define SOMTGD_somOffsetInfo 1
  107.     #else
  108.         #define somOffsetInfo SOMClass_somOffsetInfo
  109.     #endif /* somOffsetInfo */
  110. #endif /* SOMTGD_somOffsetInfo */
  111. #ifndef SOMTGD__IDL_SEQUENCE_somOffsetInfo
  112.     #ifdef _IDL_SEQUENCE_somOffsetInfo
  113.         #undef _IDL_SEQUENCE_somOffsetInfo
  114.         #define SOMTGD__IDL_SEQUENCE_somOffsetInfo 1
  115.     #else
  116.         #define _IDL_SEQUENCE_somOffsetInfo _IDL_SEQUENCE_SOMClass_somOffsetInfo
  117.     #endif /* _IDL_SEQUENCE_somOffsetInfo */
  118. #endif /* SOMTGD__IDL_SEQUENCE_somOffsetInfo */
  119.  
  120. #ifndef SOM_DONT_USE_SHORT_NAMES
  121. #ifndef SOMTGD_somOffsets
  122.     #ifdef somOffsets
  123.         #undef somOffsets
  124.         #define SOMTGD_somOffsets 1
  125.     #else
  126.         #define somOffsets SOMClass_somOffsets
  127.     #endif /* somOffsets */
  128. #endif /* SOMTGD_somOffsets */
  129. #endif /* SOM_DONT_USE_SHORT_NAMES */
  130.  
  131. #ifndef SOM_DONT_USE_SHORT_NAMES
  132. #ifndef SOMTGD_somIdSequence
  133.     #ifdef somIdSequence
  134.         #undef somIdSequence
  135.         #define SOMTGD_somIdSequence 1
  136.     #else
  137.         #define somIdSequence SOMClass_somIdSequence
  138.     #endif /* somIdSequence */
  139. #endif /* SOMTGD_somIdSequence */
  140. #endif /* SOM_DONT_USE_SHORT_NAMES */
  141. #endif /* SOM_DONT_USE_SHORT_NAMES */
  142.  
  143. /*
  144.  * End of bindings for IDL types.
  145.  */
  146.  
  147. /*
  148.  * A function to create the SOMClass class object...
  149.  */
  150. SOMEXTERN SOMClass * SOMLINK SOMClassNewClass(
  151.         integer4 majorVersion,
  152.         integer4 minorVersion);
  153.  
  154.  
  155. /*
  156.  * The API 2 ClassData Structures...
  157.  */
  158. SOMEXTERN struct SOMClassClassDataStructure {
  159.     SOMClass *classObject;
  160.     somMToken somNew;
  161.     somMToken somRenew;
  162.     somMToken somcPrivate1;
  163.     somMToken somClassReady;
  164.     somMToken somGetName;
  165.     somMToken somcPrivate2;
  166.     somMToken somDescendedFrom;
  167.     somMToken somCheckVersion;
  168.     somMToken somFindMethod;
  169.     somMToken somFindMethodOk;
  170.     somMToken somSupportsMethod;
  171.     somMToken somGetNumMethods;
  172.     somMToken somGetInstanceSize;
  173.     somMToken somcPrivate3;
  174.     somMToken somGetInstancePartSize;
  175.     somMToken somGetMethodIndex;
  176.     somMToken somGetNumStaticMethods;
  177.     somMToken somGetPClsMtab;
  178.     somMToken somGetClassMtab;
  179.     somMToken somAddStaticMethod;
  180.     somMToken somOverrideSMethod;
  181.     somMToken somAddDynamicMethod;
  182.     somMToken somcUnused1;
  183.     somMToken somGetApplyStub;
  184.     somMToken somFindSMethod;
  185.     somMToken somFindSMethodOk;
  186.     somMToken somGetMethodDescriptor;
  187.     somMToken somGetNthMethodInfo;
  188.     somMToken somSetClassData;
  189.     somMToken somGetClassData;
  190.     somMToken somNewNoInit;
  191.     somMToken somRenewNoInit;
  192.     somMToken somGetInstanceToken;
  193.     somMToken somGetMemberToken;
  194.     somMToken somcUnused2;
  195.     somMToken somGetMethodData;
  196.     somMToken somOverrideMtab;
  197.     somMToken somGetMethodToken;
  198.     somMToken somGetParents;
  199.     somMToken somUnused3;
  200.     somMToken somInitMIClass;
  201.     somMToken somGetVersionNumbers;
  202.     somMToken somLookupMethod;
  203.     somMToken _get_somInstanceDataOffsets;
  204.     somMToken somRenewNoZero;
  205.     somMToken somRenewNoInitNoZero;
  206.     somMToken somAllocate;
  207.     somMToken somDeallocate;
  208.     somMToken somGetRdStub;
  209.     somMToken somGetNthMethodData;
  210.     somMToken somcPrivate8;
  211.     somMToken somcPrivate9;
  212.     somMToken _get_somDirectInitClasses;
  213.     somMToken somcPrivate10;
  214.     somMToken somcPrivate11;
  215.     somMToken somcPrivate12;
  216.     somMToken somcPrivate13;
  217.     somMToken somcPrivate14;
  218.     somMToken somMethodImplOwner;
  219.     somMToken somcPrivate15;
  220.     somMToken somcPrivate16;
  221.     somMToken somDefinedMethod;
  222.     somMToken somcPrivate17;
  223.     somMToken somcPrivate18;
  224.     somMToken somcPrivate19;
  225.     somMethodProc *somClassOfNewClassWithParents;
  226.     somMToken somcPrivate20;
  227.     somMToken somcUnused5;
  228.     somMToken somcUnused6;
  229.     somMToken somcUnused7;
  230.     somMToken _get_somDataAlignment;
  231.     somMToken somcPrivate21;
  232.     somMToken somcUnused8;
  233.     somMToken somcPrivate22;
  234.     somMToken somcUnused9;
  235.     somMToken somcUnused10;
  236.     somMToken somGetMarshalPlan;
  237.     somMToken somcUnused11;
  238.     somMToken somPrivate23;
  239.     somMToken somJoin;
  240.     somMToken somEndow;
  241. } SOMDLINK SOMClassClassData;
  242. SOMEXTERN struct SOMClassCClassDataStructure {
  243.     som3ClassDetailsPtr    parentMtab;
  244.     somDToken              instanceDataToken;
  245. } SOMDLINK SOMClassCClassData;
  246.  
  247.  
  248. /*
  249.  * Class Object and Method Token Macros
  250.  */
  251. #define _SOMCLASS_SOMClass (SOMClassClassData.classObject)
  252. #ifndef SOMGD_SOMClass
  253.     #if (defined(_SOMClass) || defined(__SOMClass))
  254.         #undef _SOMClass
  255.         #undef __SOMClass
  256.         #define SOMGD_SOMClass 1
  257.     #else
  258.         #define _SOMClass _SOMCLASS_SOMClass
  259.     #endif /* _SOMClass */
  260. #endif /* SOMGD_SOMClass */
  261. #define SOMClass_classObj _SOMCLASS_SOMClass
  262. #define _SOMMTOKEN_SOMClass(method) ((somMToken)SOMClassClassData.method)
  263.  
  264. /*
  265.  * -- Typedefs for SOMClass Method Procedures
  266.  */
  267. SOMEXTERN {
  268. typedef SOMObject*   SOMLINK somTP_SOMClass_somNew(SOMClass *somSelf);
  269. typedef somTP_SOMClass_somNew *somTD_SOMClass_somNew;
  270. typedef SOMObject*   SOMLINK somTP_SOMClass_somNewNoInit(SOMClass *somSelf);
  271. typedef somTP_SOMClass_somNewNoInit *somTD_SOMClass_somNewNoInit;
  272. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenew(SOMClass *somSelf, 
  273.         void* obj);
  274. typedef somTP_SOMClass_somRenew *somTD_SOMClass_somRenew;
  275. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInit(SOMClass *somSelf, 
  276.         void* obj);
  277. typedef somTP_SOMClass_somRenewNoInit *somTD_SOMClass_somRenewNoInit;
  278. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoZero(SOMClass *somSelf, 
  279.         void* obj);
  280. typedef somTP_SOMClass_somRenewNoZero *somTD_SOMClass_somRenewNoZero;
  281. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInitNoZero(SOMClass *somSelf, 
  282.         void* obj);
  283. typedef somTP_SOMClass_somRenewNoInitNoZero *somTD_SOMClass_somRenewNoInitNoZero;
  284. typedef somToken   SOMLINK somTP_SOMClass_somAllocate(SOMClass *somSelf, 
  285.         long size);
  286. typedef somTP_SOMClass_somAllocate *somTD_SOMClass_somAllocate;
  287. typedef void   SOMLINK somTP_SOMClass_somDeallocate(SOMClass *somSelf, 
  288.         somToken memptr);
  289. typedef somTP_SOMClass_somDeallocate *somTD_SOMClass_somDeallocate;
  290. typedef SOMClass*   SOMLINK somTP_SOMClass_somJoin(SOMClass *somSelf, 
  291.         SOMClass* secondParent, 
  292.         string nameOfNewClass);
  293. typedef somTP_SOMClass_somJoin *somTD_SOMClass_somJoin;
  294. typedef SOMClass*   SOMLINK somTP_SOMClass_somEndow(SOMClass *somSelf, 
  295.         SOMClass* parent, 
  296.         string nameOfNewClass);
  297. typedef somTP_SOMClass_somEndow *somTD_SOMClass_somEndow;
  298. typedef SOMClass*   SOMLINK somTP_SOMClass_somClassOfNewClassWithParents(string newClassName, 
  299.         SOMClass_SOMClassSequence* parents, 
  300.         SOMClass* explicitMeta);
  301. typedef somTP_SOMClass_somClassOfNewClassWithParents *somTD_SOMClass_somClassOfNewClassWithParents;
  302. typedef void   SOMLINK somTP_SOMClass_somInitMIClass(SOMClass *somSelf, 
  303.         unsigned long inherit_vars, 
  304.         string className, 
  305.         SOMClass_SOMClassSequence* parentClasses, 
  306.         long dataSize, 
  307.         long dataAlignment, 
  308.         long maxNDMethods, 
  309.         long majorVersion, 
  310.         long minorVersion);
  311. typedef somTP_SOMClass_somInitMIClass *somTD_SOMClass_somInitMIClass;
  312. typedef somMToken   SOMLINK somTP_SOMClass_somAddStaticMethod(SOMClass *somSelf, 
  313.         somId methodId, 
  314.         somId methodDescriptor, 
  315.         somMethodPtr method, 
  316.         somMethodPtr redispatchStub, 
  317.         somMethodPtr applyStub);
  318. typedef somTP_SOMClass_somAddStaticMethod *somTD_SOMClass_somAddStaticMethod;
  319. typedef void   SOMLINK somTP_SOMClass_somOverrideSMethod(SOMClass *somSelf, 
  320.         somId methodId, 
  321.         somMethodPtr method);
  322. typedef somTP_SOMClass_somOverrideSMethod *somTD_SOMClass_somOverrideSMethod;
  323. typedef void   SOMLINK somTP_SOMClass_somClassReady(SOMClass *somSelf);
  324. typedef somTP_SOMClass_somClassReady *somTD_SOMClass_somClassReady;
  325. typedef void   SOMLINK somTP_SOMClass_somAddDynamicMethod(SOMClass *somSelf, 
  326.         somId methodId, 
  327.         somId methodDescriptor, 
  328.         somMethodPtr methodImpl, 
  329.         somMethodPtr applyStub);
  330. typedef somTP_SOMClass_somAddDynamicMethod *somTD_SOMClass_somAddDynamicMethod;
  331. typedef string   SOMLINK somTP_SOMClass_somGetName(SOMClass *somSelf);
  332. typedef somTP_SOMClass_somGetName *somTD_SOMClass_somGetName;
  333. typedef void   SOMLINK somTP_SOMClass_somGetVersionNumbers(SOMClass *somSelf, 
  334.         long* majorVersion, 
  335.         long* minorVersion);
  336. typedef somTP_SOMClass_somGetVersionNumbers *somTD_SOMClass_somGetVersionNumbers;
  337. typedef long   SOMLINK somTP_SOMClass_somGetNumMethods(SOMClass *somSelf);
  338. typedef somTP_SOMClass_somGetNumMethods *somTD_SOMClass_somGetNumMethods;
  339. typedef long   SOMLINK somTP_SOMClass_somGetNumStaticMethods(SOMClass *somSelf);
  340. typedef somTP_SOMClass_somGetNumStaticMethods *somTD_SOMClass_somGetNumStaticMethods;
  341. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass_somGetParents(SOMClass *somSelf);
  342. typedef somTP_SOMClass_somGetParents *somTD_SOMClass_somGetParents;
  343. typedef long   SOMLINK somTP_SOMClass_somGetInstanceSize(SOMClass *somSelf);
  344. typedef somTP_SOMClass_somGetInstanceSize *somTD_SOMClass_somGetInstanceSize;
  345. typedef long   SOMLINK somTP_SOMClass_somGetInstancePartSize(SOMClass *somSelf);
  346. typedef somTP_SOMClass_somGetInstancePartSize *somTD_SOMClass_somGetInstancePartSize;
  347. typedef somDToken   SOMLINK somTP_SOMClass_somGetInstanceToken(SOMClass *somSelf);
  348. typedef somTP_SOMClass_somGetInstanceToken *somTD_SOMClass_somGetInstanceToken;
  349. typedef somDToken   SOMLINK somTP_SOMClass_somGetMemberToken(SOMClass *somSelf, 
  350.         long memberOffset, 
  351.         somDToken instanceToken);
  352. typedef somTP_SOMClass_somGetMemberToken *somTD_SOMClass_somGetMemberToken;
  353. typedef somMethodTab*   SOMLINK somTP_SOMClass_somGetClassMtab(SOMClass *somSelf);
  354. typedef somTP_SOMClass_somGetClassMtab *somTD_SOMClass_somGetClassMtab;
  355. typedef somClassDataStructurePtr   SOMLINK somTP_SOMClass_somGetClassData(SOMClass *somSelf);
  356. typedef somTP_SOMClass_somGetClassData *somTD_SOMClass_somGetClassData;
  357. typedef void   SOMLINK somTP_SOMClass_somSetClassData(SOMClass *somSelf, 
  358.         somClassDataStructurePtr cds);
  359. typedef somTP_SOMClass_somSetClassData *somTD_SOMClass_somSetClassData;
  360. typedef long   SOMLINK somTP_SOMClass__get_somDataAlignment(SOMClass *somSelf);
  361. typedef somTP_SOMClass__get_somDataAlignment *somTD_SOMClass__get_somDataAlignment;
  362. typedef SOMClass_somOffsets   SOMLINK somTP_SOMClass__get_somInstanceDataOffsets(SOMClass *somSelf);
  363. typedef somTP_SOMClass__get_somInstanceDataOffsets *somTD_SOMClass__get_somInstanceDataOffsets;
  364. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass__get_somDirectInitClasses(SOMClass *somSelf);
  365. typedef somTP_SOMClass__get_somDirectInitClasses *somTD_SOMClass__get_somDirectInitClasses;
  366. typedef somId   SOMLINK somTP_SOMClass_somGetMethodDescriptor(SOMClass *somSelf, 
  367.         somId methodId);
  368. typedef somTP_SOMClass_somGetMethodDescriptor *somTD_SOMClass_somGetMethodDescriptor;
  369. typedef long   SOMLINK somTP_SOMClass_somGetMethodIndex(SOMClass *somSelf, 
  370.         somId id);
  371. typedef somTP_SOMClass_somGetMethodIndex *somTD_SOMClass_somGetMethodIndex;
  372. typedef somMToken   SOMLINK somTP_SOMClass_somGetMethodToken(SOMClass *somSelf, 
  373.         somId methodId);
  374. typedef somTP_SOMClass_somGetMethodToken *somTD_SOMClass_somGetMethodToken;
  375. typedef somId   SOMLINK somTP_SOMClass_somGetNthMethodInfo(SOMClass *somSelf, 
  376.         long n, 
  377.         somId* descriptor);
  378. typedef somTP_SOMClass_somGetNthMethodInfo *somTD_SOMClass_somGetNthMethodInfo;
  379. typedef somToken   SOMLINK somTP_SOMClass_somGetMarshalPlan(SOMClass *somSelf, 
  380.         somId methodId);
  381. typedef somTP_SOMClass_somGetMarshalPlan *somTD_SOMClass_somGetMarshalPlan;
  382. typedef boolean   SOMLINK somTP_SOMClass_somGetMethodData(SOMClass *somSelf, 
  383.         somId methodId, 
  384.         somMethodData* md);
  385. typedef somTP_SOMClass_somGetMethodData *somTD_SOMClass_somGetMethodData;
  386. typedef boolean   SOMLINK somTP_SOMClass_somGetNthMethodData(SOMClass *somSelf, 
  387.         long n, 
  388.         somMethodData* md);
  389. typedef somTP_SOMClass_somGetNthMethodData *somTD_SOMClass_somGetNthMethodData;
  390. typedef boolean   SOMLINK somTP_SOMClass_somFindMethod(SOMClass *somSelf, 
  391.         somId methodId, 
  392.         somMethodPtr* m);
  393. typedef somTP_SOMClass_somFindMethod *somTD_SOMClass_somFindMethod;
  394. typedef boolean   SOMLINK somTP_SOMClass_somFindMethodOk(SOMClass *somSelf, 
  395.         somId methodId, 
  396.         somMethodPtr* m);
  397. typedef somTP_SOMClass_somFindMethodOk *somTD_SOMClass_somFindMethodOk;
  398. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethod(SOMClass *somSelf, 
  399.         somId methodId);
  400. typedef somTP_SOMClass_somFindSMethod *somTD_SOMClass_somFindSMethod;
  401. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethodOk(SOMClass *somSelf, 
  402.         somId methodId);
  403. typedef somTP_SOMClass_somFindSMethodOk *somTD_SOMClass_somFindSMethodOk;
  404. typedef somMethodPtr   SOMLINK somTP_SOMClass_somLookupMethod(SOMClass *somSelf, 
  405.         somId methodId);
  406. typedef somTP_SOMClass_somLookupMethod *somTD_SOMClass_somLookupMethod;
  407. typedef somMethodPtr   SOMLINK somTP_SOMClass_somGetApplyStub(SOMClass *somSelf, 
  408.         somId methodId);
  409. typedef somTP_SOMClass_somGetApplyStub *somTD_SOMClass_somGetApplyStub;
  410. typedef somMethodTabs   SOMLINK somTP_SOMClass_somGetPClsMtab(SOMClass *somSelf);
  411. typedef somTP_SOMClass_somGetPClsMtab *somTD_SOMClass_somGetPClsMtab;
  412. typedef boolean   SOMLINK somTP_SOMClass_somCheckVersion(SOMClass *somSelf, 
  413.         long majorVersion, 
  414.         long minorVersion);
  415. typedef somTP_SOMClass_somCheckVersion *somTD_SOMClass_somCheckVersion;
  416. typedef boolean   SOMLINK somTP_SOMClass_somDescendedFrom(SOMClass *somSelf, 
  417.         SOMClass* aClassObj);
  418. typedef somTP_SOMClass_somDescendedFrom *somTD_SOMClass_somDescendedFrom;
  419. typedef boolean   SOMLINK somTP_SOMClass_somSupportsMethod(SOMClass *somSelf, 
  420.         somId mId);
  421. typedef somTP_SOMClass_somSupportsMethod *somTD_SOMClass_somSupportsMethod;
  422. typedef somMethodPtr   SOMLINK somTP_SOMClass_somDefinedMethod(SOMClass *somSelf, 
  423.         somMToken method);
  424. typedef somTP_SOMClass_somDefinedMethod *somTD_SOMClass_somDefinedMethod;
  425. typedef SOMClass*   SOMLINK somTP_SOMClass_somMethodImplOwner(SOMClass *somSelf, 
  426.         somMethodData* md);
  427. typedef somTP_SOMClass_somMethodImplOwner *somTD_SOMClass_somMethodImplOwner;
  428. typedef somMethodProc*   SOMLINK somTP_SOMClass_somGetRdStub(SOMClass *somSelf, 
  429.         somId methodId);
  430. typedef somTP_SOMClass_somGetRdStub *somTD_SOMClass_somGetRdStub;
  431. typedef void   SOMLINK somTP_SOMClass_somOverrideMtab(SOMClass *somSelf);
  432. typedef somTP_SOMClass_somOverrideMtab *somTD_SOMClass_somOverrideMtab;
  433.  
  434. /*
  435.  * -- Typedefs for Reintroduced Wrapper Methods
  436.  */
  437. typedef void   SOMLINK somTP_SOMClass_somDefaultInit(SOMClass *somSelf, 
  438.         som3InitCtrl* ctrl);
  439. typedef somTP_SOMClass_somDefaultInit *somTD_SOMClass_somDefaultInit;
  440. typedef void   SOMLINK somTP_SOMClass_somDestruct(SOMClass *somSelf, 
  441.         octet doFree, 
  442.         som3DestructCtrl* ctrl);
  443. typedef somTP_SOMClass_somDestruct *somTD_SOMClass_somDestruct;
  444. typedef void   SOMLINK somTP_SOMClass_somDefaultCopyInit(SOMClass *somSelf, 
  445.         som3InitCtrl* ctrl, 
  446.         SOMObject* fromObj);
  447. typedef somTP_SOMClass_somDefaultCopyInit *somTD_SOMClass_somDefaultCopyInit;
  448. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultAssign(SOMClass *somSelf, 
  449.         som3AssignCtrl* ctrl, 
  450.         SOMObject* fromObj);
  451. typedef somTP_SOMClass_somDefaultAssign *somTD_SOMClass_somDefaultAssign;
  452. typedef void   SOMLINK somTP_SOMClass_somDefaultConstCopyInit(SOMClass *somSelf, 
  453.         som3InitCtrl* ctrl, 
  454.         SOMObject* fromObj);
  455. typedef somTP_SOMClass_somDefaultConstCopyInit *somTD_SOMClass_somDefaultConstCopyInit;
  456. typedef void   SOMLINK somTP_SOMClass_somDefaultVCopyInit(SOMClass *somSelf, 
  457.         som3InitCtrl* ctrl, 
  458.         SOMObject* fromObj);
  459. typedef somTP_SOMClass_somDefaultVCopyInit *somTD_SOMClass_somDefaultVCopyInit;
  460. typedef void   SOMLINK somTP_SOMClass_somDefaultConstVCopyInit(SOMClass *somSelf, 
  461.         som3InitCtrl* ctrl, 
  462.         SOMObject* fromObj);
  463. typedef somTP_SOMClass_somDefaultConstVCopyInit *somTD_SOMClass_somDefaultConstVCopyInit;
  464. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultConstAssign(SOMClass *somSelf, 
  465.         som3AssignCtrl* ctrl, 
  466.         SOMObject* fromObj);
  467. typedef somTP_SOMClass_somDefaultConstAssign *somTD_SOMClass_somDefaultConstAssign;
  468. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultVAssign(SOMClass *somSelf, 
  469.         som3AssignCtrl* ctrl, 
  470.         SOMObject* fromObj);
  471. typedef somTP_SOMClass_somDefaultVAssign *somTD_SOMClass_somDefaultVAssign;
  472. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultConstVAssign(SOMClass *somSelf, 
  473.         som3AssignCtrl* ctrl, 
  474.         SOMObject* fromObj);
  475. typedef somTP_SOMClass_somDefaultConstVAssign *somTD_SOMClass_somDefaultConstVAssign;
  476. typedef void   SOMLINK somTP_SOMClass_somInit(SOMClass *somSelf);
  477. typedef somTP_SOMClass_somInit *somTD_SOMClass_somInit;
  478. typedef void   SOMLINK somTP_SOMClass_somUninit(SOMClass *somSelf);
  479. typedef somTP_SOMClass_somUninit *somTD_SOMClass_somUninit;
  480. typedef void   SOMLINK somTP_SOMClass_somFree(SOMClass *somSelf);
  481. typedef somTP_SOMClass_somFree *somTD_SOMClass_somFree;
  482. typedef SOMClass*   SOMLINK somTP_SOMClass_somGetClass(SOMClass *somSelf);
  483. typedef somTP_SOMClass_somGetClass *somTD_SOMClass_somGetClass;
  484. typedef string   SOMLINK somTP_SOMClass_somGetClassName(SOMClass *somSelf);
  485. typedef somTP_SOMClass_somGetClassName *somTD_SOMClass_somGetClassName;
  486. typedef long   SOMLINK somTP_SOMClass_somGetSize(SOMClass *somSelf);
  487. typedef somTP_SOMClass_somGetSize *somTD_SOMClass_somGetSize;
  488. typedef boolean   SOMLINK somTP_SOMClass_somIsA(SOMClass *somSelf, 
  489.         SOMClass* aClassObj);
  490. typedef somTP_SOMClass_somIsA *somTD_SOMClass_somIsA;
  491. typedef boolean   SOMLINK somTP_SOMClass_somIsInstanceOf(SOMClass *somSelf, 
  492.         SOMClass* aClassObj);
  493. typedef somTP_SOMClass_somIsInstanceOf *somTD_SOMClass_somIsInstanceOf;
  494. typedef boolean   SOMLINK somTP_SOMClass_somRespondsTo(SOMClass *somSelf, 
  495.         somId mId);
  496. typedef somTP_SOMClass_somRespondsTo *somTD_SOMClass_somRespondsTo;
  497. typedef boolean   SOMLINK somTP_SOMClass_somDispatch(SOMClass *somSelf, 
  498.         somToken* retValue, 
  499.         somId methodId, 
  500.         va_list ap);
  501. typedef somTP_SOMClass_somDispatch *somTD_SOMClass_somDispatch;
  502. typedef boolean   SOMLINK somTP_SOMClass_somClassDispatch(SOMClass *somSelf, 
  503.         SOMClass* clsObj, 
  504.         somToken* retValue, 
  505.         somId methodId, 
  506.         va_list ap);
  507. typedef somTP_SOMClass_somClassDispatch *somTD_SOMClass_somClassDispatch;
  508. typedef boolean   SOMLINK somTP_SOMClass_somCastObj(SOMClass *somSelf, 
  509.         SOMClass* castedCls);
  510. typedef somTP_SOMClass_somCastObj *somTD_SOMClass_somCastObj;
  511. typedef boolean   SOMLINK somTP_SOMClass_somResetObj(SOMClass *somSelf);
  512. typedef somTP_SOMClass_somResetObj *somTD_SOMClass_somResetObj;
  513. typedef SOMClass*   SOMLINK somTP_SOMClass_somPrintSelf(SOMClass *somSelf);
  514. typedef somTP_SOMClass_somPrintSelf *somTD_SOMClass_somPrintSelf;
  515. typedef void   SOMLINK somTP_SOMClass_somDumpSelf(SOMClass *somSelf, 
  516.         long level);
  517. typedef somTP_SOMClass_somDumpSelf *somTD_SOMClass_somDumpSelf;
  518. typedef void   SOMLINK somTP_SOMClass_somDumpSelfInt(SOMClass *somSelf, 
  519.         long level);
  520. typedef somTP_SOMClass_somDumpSelfInt *somTD_SOMClass_somDumpSelfInt;
  521. }
  522.  
  523. #endif /* SOMClass_API */
  524.