home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / somcls.api < prev    next >
Text File  |  1999-02-22  |  21KB  |  512 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. /* A procedure to create the SOMClass Class */
  148. SOMEXTERN SOMClass * SOMLINK SOMClassNewClass(
  149.         integer4 majorVersion,
  150.         integer4 minorVersion);
  151.  
  152. /* The API to the SOMClass class object, and the methods it introduces. */
  153. SOMEXTERN struct SOMClassClassDataStructure {
  154.     SOMClass *classObject;
  155.     somMToken somNew;
  156.     somMToken somRenew;
  157.     somMToken somInitClass;
  158.     somMToken somClassReady;
  159.     somMToken somGetName;
  160.     somMToken somGetParent;
  161.     somMToken somDescendedFrom;
  162.     somMToken somCheckVersion;
  163.     somMToken somFindMethod;
  164.     somMToken somFindMethodOk;
  165.     somMToken somSupportsMethod;
  166.     somMToken somGetNumMethods;
  167.     somMToken somGetInstanceSize;
  168.     somMToken somGetInstanceOffset;
  169.     somMToken somGetInstancePartSize;
  170.     somMToken somGetMethodIndex;
  171.     somMToken somGetNumStaticMethods;
  172.     somMToken somGetPClsMtab;
  173.     somMToken somGetClassMtab;
  174.     somMToken somAddStaticMethod;
  175.     somMToken somOverrideSMethod;
  176.     somMToken somAddDynamicMethod;
  177.     somMToken somcPrivate0;
  178.     somMToken somGetApplyStub;
  179.     somMToken somFindSMethod;
  180.     somMToken somFindSMethodOk;
  181.     somMToken somGetMethodDescriptor;
  182.     somMToken somGetNthMethodInfo;
  183.     somMToken somSetClassData;
  184.     somMToken somGetClassData;
  185.     somMToken somNewNoInit;
  186.     somMToken somRenewNoInit;
  187.     somMToken somGetInstanceToken;
  188.     somMToken somGetMemberToken;
  189.     somMToken somcPrivate1;
  190.     somMToken somGetMethodData;
  191.     somMToken somOverrideMtab;
  192.     somMToken somGetMethodToken;
  193.     somMToken somGetParents;
  194.     somMToken somGetPClsMtabs;
  195.     somMToken somInitMIClass;
  196.     somMToken somGetVersionNumbers;
  197.     somMToken somLookupMethod;
  198.     somMToken _get_somInstanceDataOffsets;
  199.     somMToken somRenewNoZero;
  200.     somMToken somRenewNoInitNoZero;
  201.     somMToken somAllocate;
  202.     somMToken somDeallocate;
  203.     somMToken somGetRdStub;
  204.     somMToken somGetNthMethodData;
  205.     somMToken somcPrivate2;
  206.     somMToken somcPrivate3;
  207.     somMToken _get_somDirectInitClasses;
  208.     somMToken somcPrivate5;
  209.     somMToken somcPrivate6;
  210.     somMToken somcPrivate7;
  211.     somMToken somcPrivate8;
  212.     somMToken somcPrivate9;
  213.     somMToken somcPrivate10;
  214.     somMToken somcPrivate11;
  215.     somMToken somcPrivate12;
  216.     somMToken somDefinedMethod;
  217.     somMToken somcPrivate13;
  218.     somMToken somcPrivate14;
  219.     somMToken somcPrivate15;
  220.     somMToken somcPrivate16;
  221.     somMToken somcPrivate17;
  222.     somMToken somcPrivate18;
  223.     somMToken somcPrivate19;
  224.     somMToken somcPrivate20;
  225.     somMToken _get_somDataAlignment;
  226.     somMToken somcPrivate21;
  227.     somMToken somcPrivate22;
  228.     somMToken somcPrivate23;
  229.     somMToken somcPrivate24;
  230.     somMToken somcPrivate25;
  231. } SOMDLINK SOMClassClassData;
  232. #define _SOMClass SOMClassClassData.classObject
  233.  
  234. /* The API to parentMtabs for SOMClass, and the instance data it introduces. */
  235. SOMEXTERN struct SOMClassCClassDataStructure {
  236.     somMethodTabs parentMtab;
  237.     somDToken              instanceDataToken;
  238. } SOMDLINK SOMClassCClassData;
  239.  
  240. /*
  241.  * -- Typedefs for SOMClass Method Procedures
  242.  */
  243. SOMEXTERN {
  244. typedef long   SOMLINK somTP_SOMClass__get_somDataAlignment(SOMClass *somSelf);
  245. typedef somTP_SOMClass__get_somDataAlignment *somTD_SOMClass__get_somDataAlignment;
  246. typedef SOMClass_somOffsets   SOMLINK somTP_SOMClass__get_somInstanceDataOffsets(SOMClass *somSelf);
  247. typedef somTP_SOMClass__get_somInstanceDataOffsets *somTD_SOMClass__get_somInstanceDataOffsets;
  248. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass__get_somDirectInitClasses(SOMClass *somSelf);
  249. typedef somTP_SOMClass__get_somDirectInitClasses *somTD_SOMClass__get_somDirectInitClasses;
  250. typedef SOMObject*   SOMLINK somTP_SOMClass_somNew(SOMClass *somSelf);
  251. typedef somTP_SOMClass_somNew *somTD_SOMClass_somNew;
  252. typedef SOMObject*   SOMLINK somTP_SOMClass_somNewNoInit(SOMClass *somSelf);
  253. typedef somTP_SOMClass_somNewNoInit *somTD_SOMClass_somNewNoInit;
  254. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenew(SOMClass *somSelf, 
  255.         void* obj);
  256. typedef somTP_SOMClass_somRenew *somTD_SOMClass_somRenew;
  257. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInit(SOMClass *somSelf, 
  258.         void* obj);
  259. typedef somTP_SOMClass_somRenewNoInit *somTD_SOMClass_somRenewNoInit;
  260. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoZero(SOMClass *somSelf, 
  261.         void* obj);
  262. typedef somTP_SOMClass_somRenewNoZero *somTD_SOMClass_somRenewNoZero;
  263. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInitNoZero(SOMClass *somSelf, 
  264.         void* obj);
  265. typedef somTP_SOMClass_somRenewNoInitNoZero *somTD_SOMClass_somRenewNoInitNoZero;
  266. typedef somToken   SOMLINK somTP_SOMClass_somAllocate(SOMClass *somSelf, 
  267.         long size);
  268. typedef somTP_SOMClass_somAllocate *somTD_SOMClass_somAllocate;
  269. typedef void   SOMLINK somTP_SOMClass_somDeallocate(SOMClass *somSelf, 
  270.         somToken memptr);
  271. typedef somTP_SOMClass_somDeallocate *somTD_SOMClass_somDeallocate;
  272. typedef void   SOMLINK somTP_SOMClass_somInitClass(SOMClass *somSelf, 
  273.         string className, 
  274.         SOMClass* parentClass, 
  275.         long dataSize, 
  276.         long maxStaticMethods, 
  277.         long majorVersion, 
  278.         long minorVersion);
  279. typedef somTP_SOMClass_somInitClass *somTD_SOMClass_somInitClass;
  280. typedef void   SOMLINK somTP_SOMClass_somInitMIClass(SOMClass *somSelf, 
  281.         long inherit_vars, 
  282.         string className, 
  283.         SOMClass_SOMClassSequence* parentClasses, 
  284.         long dataSize, 
  285.         long dataAlignment, 
  286.         long maxStaticMethods, 
  287.         long majorVersion, 
  288.         long minorVersion);
  289. typedef somTP_SOMClass_somInitMIClass *somTD_SOMClass_somInitMIClass;
  290. typedef somMToken   SOMLINK somTP_SOMClass_somAddStaticMethod(SOMClass *somSelf, 
  291.         somId methodId, 
  292.         somId methodDescriptor, 
  293.         somMethodPtr method, 
  294.         somMethodPtr redispatchStub, 
  295.         somMethodPtr applyStub);
  296. typedef somTP_SOMClass_somAddStaticMethod *somTD_SOMClass_somAddStaticMethod;
  297. typedef void   SOMLINK somTP_SOMClass_somAddDynamicMethod(SOMClass *somSelf, 
  298.         somId methodId, 
  299.         somId methodDescriptor, 
  300.         somMethodPtr method, 
  301.         somMethodPtr applyStub);
  302. typedef somTP_SOMClass_somAddDynamicMethod *somTD_SOMClass_somAddDynamicMethod;
  303. typedef void   SOMLINK somTP_SOMClass_somOverrideSMethod(SOMClass *somSelf, 
  304.         somId methodId, 
  305.         somMethodPtr method);
  306. typedef somTP_SOMClass_somOverrideSMethod *somTD_SOMClass_somOverrideSMethod;
  307. typedef void   SOMLINK somTP_SOMClass_somClassReady(SOMClass *somSelf);
  308. typedef somTP_SOMClass_somClassReady *somTD_SOMClass_somClassReady;
  309. typedef somMethodPtr   SOMLINK somTP_SOMClass_somGetApplyStub(SOMClass *somSelf, 
  310.         somId methodId);
  311. typedef somTP_SOMClass_somGetApplyStub *somTD_SOMClass_somGetApplyStub;
  312. typedef somClassDataStructure*   SOMLINK somTP_SOMClass_somGetClassData(SOMClass *somSelf);
  313. typedef somTP_SOMClass_somGetClassData *somTD_SOMClass_somGetClassData;
  314. typedef void   SOMLINK somTP_SOMClass_somSetClassData(SOMClass *somSelf, 
  315.         somClassDataStructure* cds);
  316. typedef somTP_SOMClass_somSetClassData *somTD_SOMClass_somSetClassData;
  317. typedef somMethodTab*   SOMLINK somTP_SOMClass_somGetClassMtab(SOMClass *somSelf);
  318. typedef somTP_SOMClass_somGetClassMtab *somTD_SOMClass_somGetClassMtab;
  319. typedef long   SOMLINK somTP_SOMClass_somGetInstanceOffset(SOMClass *somSelf);
  320. typedef somTP_SOMClass_somGetInstanceOffset *somTD_SOMClass_somGetInstanceOffset;
  321. typedef long   SOMLINK somTP_SOMClass_somGetInstancePartSize(SOMClass *somSelf);
  322. typedef somTP_SOMClass_somGetInstancePartSize *somTD_SOMClass_somGetInstancePartSize;
  323. typedef long   SOMLINK somTP_SOMClass_somGetInstanceSize(SOMClass *somSelf);
  324. typedef somTP_SOMClass_somGetInstanceSize *somTD_SOMClass_somGetInstanceSize;
  325. typedef somDToken   SOMLINK somTP_SOMClass_somGetInstanceToken(SOMClass *somSelf);
  326. typedef somTP_SOMClass_somGetInstanceToken *somTD_SOMClass_somGetInstanceToken;
  327. typedef somDToken   SOMLINK somTP_SOMClass_somGetMemberToken(SOMClass *somSelf, 
  328.         long memberOffset, 
  329.         somDToken instanceToken);
  330. typedef somTP_SOMClass_somGetMemberToken *somTD_SOMClass_somGetMemberToken;
  331. typedef boolean   SOMLINK somTP_SOMClass_somGetMethodData(SOMClass *somSelf, 
  332.         somId methodId, 
  333.         somMethodData* md);
  334. typedef somTP_SOMClass_somGetMethodData *somTD_SOMClass_somGetMethodData;
  335. typedef somMethodProc*   SOMLINK somTP_SOMClass_somGetRdStub(SOMClass *somSelf, 
  336.         somId methodId);
  337. typedef somTP_SOMClass_somGetRdStub *somTD_SOMClass_somGetRdStub;
  338. typedef somId   SOMLINK somTP_SOMClass_somGetMethodDescriptor(SOMClass *somSelf, 
  339.         somId methodId);
  340. typedef somTP_SOMClass_somGetMethodDescriptor *somTD_SOMClass_somGetMethodDescriptor;
  341. typedef long   SOMLINK somTP_SOMClass_somGetMethodIndex(SOMClass *somSelf, 
  342.         somId id);
  343. typedef somTP_SOMClass_somGetMethodIndex *somTD_SOMClass_somGetMethodIndex;
  344. typedef somMToken   SOMLINK somTP_SOMClass_somGetMethodToken(SOMClass *somSelf, 
  345.         somId methodId);
  346. typedef somTP_SOMClass_somGetMethodToken *somTD_SOMClass_somGetMethodToken;
  347. typedef string   SOMLINK somTP_SOMClass_somGetName(SOMClass *somSelf);
  348. typedef somTP_SOMClass_somGetName *somTD_SOMClass_somGetName;
  349. typedef boolean   SOMLINK somTP_SOMClass_somGetNthMethodData(SOMClass *somSelf, 
  350.         long n, 
  351.         somMethodData* md);
  352. typedef somTP_SOMClass_somGetNthMethodData *somTD_SOMClass_somGetNthMethodData;
  353. typedef somId   SOMLINK somTP_SOMClass_somGetNthMethodInfo(SOMClass *somSelf, 
  354.         long n, 
  355.         somId* descriptor);
  356. typedef somTP_SOMClass_somGetNthMethodInfo *somTD_SOMClass_somGetNthMethodInfo;
  357. typedef long   SOMLINK somTP_SOMClass_somGetNumMethods(SOMClass *somSelf);
  358. typedef somTP_SOMClass_somGetNumMethods *somTD_SOMClass_somGetNumMethods;
  359. typedef long   SOMLINK somTP_SOMClass_somGetNumStaticMethods(SOMClass *somSelf);
  360. typedef somTP_SOMClass_somGetNumStaticMethods *somTD_SOMClass_somGetNumStaticMethods;
  361. typedef SOMClass*   SOMLINK somTP_SOMClass_somGetParent(SOMClass *somSelf);
  362. typedef somTP_SOMClass_somGetParent *somTD_SOMClass_somGetParent;
  363. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass_somGetParents(SOMClass *somSelf);
  364. typedef somTP_SOMClass_somGetParents *somTD_SOMClass_somGetParents;
  365. typedef void   SOMLINK somTP_SOMClass_somGetVersionNumbers(SOMClass *somSelf, 
  366.         long* majorVersion, 
  367.         long* minorVersion);
  368. typedef somTP_SOMClass_somGetVersionNumbers *somTD_SOMClass_somGetVersionNumbers;
  369. typedef boolean   SOMLINK somTP_SOMClass_somFindMethod(SOMClass *somSelf, 
  370.         somId methodId, 
  371.         somMethodPtr* m);
  372. typedef somTP_SOMClass_somFindMethod *somTD_SOMClass_somFindMethod;
  373. typedef boolean   SOMLINK somTP_SOMClass_somFindMethodOk(SOMClass *somSelf, 
  374.         somId methodId, 
  375.         somMethodPtr* m);
  376. typedef somTP_SOMClass_somFindMethodOk *somTD_SOMClass_somFindMethodOk;
  377. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethod(SOMClass *somSelf, 
  378.         somId methodId);
  379. typedef somTP_SOMClass_somFindSMethod *somTD_SOMClass_somFindSMethod;
  380. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethodOk(SOMClass *somSelf, 
  381.         somId methodId);
  382. typedef somTP_SOMClass_somFindSMethodOk *somTD_SOMClass_somFindSMethodOk;
  383. typedef somMethodPtr   SOMLINK somTP_SOMClass_somLookupMethod(SOMClass *somSelf, 
  384.         somId methodId);
  385. typedef somTP_SOMClass_somLookupMethod *somTD_SOMClass_somLookupMethod;
  386. typedef boolean   SOMLINK somTP_SOMClass_somCheckVersion(SOMClass *somSelf, 
  387.         long majorVersion, 
  388.         long minorVersion);
  389. typedef somTP_SOMClass_somCheckVersion *somTD_SOMClass_somCheckVersion;
  390. typedef boolean   SOMLINK somTP_SOMClass_somDescendedFrom(SOMClass *somSelf, 
  391.         SOMClass* aClassObj);
  392. typedef somTP_SOMClass_somDescendedFrom *somTD_SOMClass_somDescendedFrom;
  393. typedef boolean   SOMLINK somTP_SOMClass_somSupportsMethod(SOMClass *somSelf, 
  394.         somId mId);
  395. typedef somTP_SOMClass_somSupportsMethod *somTD_SOMClass_somSupportsMethod;
  396. typedef somMethodPtr   SOMLINK somTP_SOMClass_somDefinedMethod(SOMClass *somSelf, 
  397.         somMToken method);
  398. typedef somTP_SOMClass_somDefinedMethod *somTD_SOMClass_somDefinedMethod;
  399. typedef void   SOMLINK somTP_SOMClass_somOverrideMtab(SOMClass *somSelf);
  400. typedef somTP_SOMClass_somOverrideMtab *somTD_SOMClass_somOverrideMtab;
  401.  
  402. /*
  403.  * -- Typedefs for Reintroduced Wrapper Methods
  404.  */
  405. typedef void   SOMLINK somTP_SOMClass_somDefaultInit(SOMClass *somSelf, 
  406.         som3InitCtrl* ctrl);
  407. typedef somTP_SOMClass_somDefaultInit *somTD_SOMClass_somDefaultInit;
  408. typedef void   SOMLINK somTP_SOMClass_somDestruct(SOMClass *somSelf, 
  409.         octet doFree, 
  410.         som3DestructCtrl* ctrl);
  411. typedef somTP_SOMClass_somDestruct *somTD_SOMClass_somDestruct;
  412. typedef void   SOMLINK somTP_SOMClass_somDefaultCopyInit(SOMClass *somSelf, 
  413.         som3InitCtrl* ctrl, 
  414.         SOMObject* fromObj);
  415. typedef somTP_SOMClass_somDefaultCopyInit *somTD_SOMClass_somDefaultCopyInit;
  416. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultAssign(SOMClass *somSelf, 
  417.         som3AssignCtrl* ctrl, 
  418.         SOMObject* fromObj);
  419. typedef somTP_SOMClass_somDefaultAssign *somTD_SOMClass_somDefaultAssign;
  420. typedef void   SOMLINK somTP_SOMClass_somDefaultConstCopyInit(SOMClass *somSelf, 
  421.         som3InitCtrl* ctrl, 
  422.         SOMObject* fromObj);
  423. typedef somTP_SOMClass_somDefaultConstCopyInit *somTD_SOMClass_somDefaultConstCopyInit;
  424. typedef void   SOMLINK somTP_SOMClass_somDefaultVCopyInit(SOMClass *somSelf, 
  425.         som3InitCtrl* ctrl, 
  426.         SOMObject* fromObj);
  427. typedef somTP_SOMClass_somDefaultVCopyInit *somTD_SOMClass_somDefaultVCopyInit;
  428. typedef void   SOMLINK somTP_SOMClass_somDefaultConstVCopyInit(SOMClass *somSelf, 
  429.         som3InitCtrl* ctrl, 
  430.         SOMObject* fromObj);
  431. typedef somTP_SOMClass_somDefaultConstVCopyInit *somTD_SOMClass_somDefaultConstVCopyInit;
  432. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultConstAssign(SOMClass *somSelf, 
  433.         som3AssignCtrl* ctrl, 
  434.         SOMObject* fromObj);
  435. typedef somTP_SOMClass_somDefaultConstAssign *somTD_SOMClass_somDefaultConstAssign;
  436. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultVAssign(SOMClass *somSelf, 
  437.         som3AssignCtrl* ctrl, 
  438.         SOMObject* fromObj);
  439. typedef somTP_SOMClass_somDefaultVAssign *somTD_SOMClass_somDefaultVAssign;
  440. typedef SOMClass*   SOMLINK somTP_SOMClass_somDefaultConstVAssign(SOMClass *somSelf, 
  441.         som3AssignCtrl* ctrl, 
  442.         SOMObject* fromObj);
  443. typedef somTP_SOMClass_somDefaultConstVAssign *somTD_SOMClass_somDefaultConstVAssign;
  444. typedef void   SOMLINK somTP_SOMClass_somInit(SOMClass *somSelf);
  445. typedef somTP_SOMClass_somInit *somTD_SOMClass_somInit;
  446. typedef void   SOMLINK somTP_SOMClass_somFree(SOMClass *somSelf);
  447. typedef somTP_SOMClass_somFree *somTD_SOMClass_somFree;
  448. typedef void   SOMLINK somTP_SOMClass_somUninit(SOMClass *somSelf);
  449. typedef somTP_SOMClass_somUninit *somTD_SOMClass_somUninit;
  450. typedef SOMClass*   SOMLINK somTP_SOMClass_somGetClass(SOMClass *somSelf);
  451. typedef somTP_SOMClass_somGetClass *somTD_SOMClass_somGetClass;
  452. typedef string   SOMLINK somTP_SOMClass_somGetClassName(SOMClass *somSelf);
  453. typedef somTP_SOMClass_somGetClassName *somTD_SOMClass_somGetClassName;
  454. typedef long   SOMLINK somTP_SOMClass_somGetSize(SOMClass *somSelf);
  455. typedef somTP_SOMClass_somGetSize *somTD_SOMClass_somGetSize;
  456. typedef boolean   SOMLINK somTP_SOMClass_somIsA(SOMClass *somSelf, 
  457.         SOMClass* aClassObj);
  458. typedef somTP_SOMClass_somIsA *somTD_SOMClass_somIsA;
  459. typedef boolean   SOMLINK somTP_SOMClass_somIsInstanceOf(SOMClass *somSelf, 
  460.         SOMClass* aClassObj);
  461. typedef somTP_SOMClass_somIsInstanceOf *somTD_SOMClass_somIsInstanceOf;
  462. typedef boolean   SOMLINK somTP_SOMClass_somRespondsTo(SOMClass *somSelf, 
  463.         somId mId);
  464. typedef somTP_SOMClass_somRespondsTo *somTD_SOMClass_somRespondsTo;
  465. typedef boolean   SOMLINK somTP_SOMClass_somDispatch(SOMClass *somSelf, 
  466.         somToken* retValue, 
  467.         somId methodId, 
  468.         va_list ap);
  469. typedef somTP_SOMClass_somDispatch *somTD_SOMClass_somDispatch;
  470. typedef boolean   SOMLINK somTP_SOMClass_somClassDispatch(SOMClass *somSelf, 
  471.         SOMClass* clsObj, 
  472.         somToken* retValue, 
  473.         somId methodId, 
  474.         va_list ap);
  475. typedef somTP_SOMClass_somClassDispatch *somTD_SOMClass_somClassDispatch;
  476. typedef boolean   SOMLINK somTP_SOMClass_somCastObj(SOMClass *somSelf, 
  477.         SOMClass* cls);
  478. typedef somTP_SOMClass_somCastObj *somTD_SOMClass_somCastObj;
  479. typedef boolean   SOMLINK somTP_SOMClass_somResetObj(SOMClass *somSelf);
  480. typedef somTP_SOMClass_somResetObj *somTD_SOMClass_somResetObj;
  481. typedef void   SOMLINK somTP_SOMClass_somDispatchV(SOMClass *somSelf, 
  482.         somId methodId, 
  483.         somId descriptor, 
  484.         va_list ap);
  485. typedef somTP_SOMClass_somDispatchV *somTD_SOMClass_somDispatchV;
  486. typedef long   SOMLINK somTP_SOMClass_somDispatchL(SOMClass *somSelf, 
  487.         somId methodId, 
  488.         somId descriptor, 
  489.         va_list ap);
  490. typedef somTP_SOMClass_somDispatchL *somTD_SOMClass_somDispatchL;
  491. typedef void*   SOMLINK somTP_SOMClass_somDispatchA(SOMClass *somSelf, 
  492.         somId methodId, 
  493.         somId descriptor, 
  494.         va_list ap);
  495. typedef somTP_SOMClass_somDispatchA *somTD_SOMClass_somDispatchA;
  496. typedef double   SOMLINK somTP_SOMClass_somDispatchD(SOMClass *somSelf, 
  497.         somId methodId, 
  498.         somId descriptor, 
  499.         va_list ap);
  500. typedef somTP_SOMClass_somDispatchD *somTD_SOMClass_somDispatchD;
  501. typedef SOMObject*   SOMLINK somTP_SOMClass_somPrintSelf(SOMClass *somSelf);
  502. typedef somTP_SOMClass_somPrintSelf *somTD_SOMClass_somPrintSelf;
  503. typedef void   SOMLINK somTP_SOMClass_somDumpSelf(SOMClass *somSelf, 
  504.         long level);
  505. typedef somTP_SOMClass_somDumpSelf *somTD_SOMClass_somDumpSelf;
  506. typedef void   SOMLINK somTP_SOMClass_somDumpSelfInt(SOMClass *somSelf, 
  507.         long level);
  508. typedef somTP_SOMClass_somDumpSelfInt *somTD_SOMClass_somDumpSelfInt;
  509. }
  510.  
  511. #endif /* SOMClass_API */
  512.