home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / toolkt21 / c / os2h / somcls.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-22  |  18.3 KB  |  525 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somcls.h.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emith: 1.11
  8.  */
  9.  
  10. /*
  11.  *  SOMClass: System Object Model base metaclass
  12.  *  Copyright (c) International Business Machines Corporation
  13.  *                1991, 1992
  14.  */
  15.  
  16.  
  17. #ifndef somcls_h
  18. #define somcls_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * Define the class name as an object type
  25.  */
  26. #ifndef SOMClass
  27. #define SOMClass SOMAny
  28. #endif
  29. #include <somobj.h>
  30.  
  31. #define SOMClass_MajorVersion 1
  32. #define SOMClass_MinorVersion 1
  33.  
  34. /*
  35.  * External name shortening if required
  36.  */
  37. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  38. #define SOMClassNewClass sommcc
  39. #pragma linkage(sommcc, system)
  40. #define SOMClassClassData sommcd
  41. #define SOMClassCClassData sommcx
  42. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  43. /*--------------Migration------------*/
  44. #define SOMClass_classObj SOMClassClassData.classObject
  45. #define _SOMClass SOMClass_classObj
  46.  
  47. /*
  48.  * New and Renew macros for SOMClass
  49.  */
  50. #define _SOMClassNew() (_somNew(SOMClassClassData.classObject))
  51. #define SOMClassNew() \
  52.     ( SOMClassClassData.classObject \
  53.         ? _SOMClassNew() \
  54.         : ( SOMClassNewClass(SOMClass_MajorVersion, SOMClass_MinorVersion), _SOMClassNew() ) )
  55. #define SOMClassRenew(buf) \
  56.     ( _somRenew(SOMClassClassData.classObject, buf) )
  57.  
  58. /*
  59.  * Override method: somInit
  60.  */
  61. #define SOMClass_somInit(somSelf) \
  62.     SOMObject_somInit(somSelf)
  63.  
  64. /*
  65.  * Override method: somUninit
  66.  */
  67. #define SOMClass_somUninit(somSelf) \
  68.     SOMObject_somUninit(somSelf)
  69.  
  70. /*
  71.  * Override method: somDumpSelfInt
  72.  */
  73. #define SOMClass_somDumpSelfInt(somSelf,level) \
  74.     SOMObject_somDumpSelfInt(somSelf,level)
  75.  
  76. /*
  77.  * New Method: somAddStaticMethod
  78.  */
  79. typedef somMToken    SOMLINK somTP_SOMClass_somAddStaticMethod(SOMClass *somSelf,
  80.         INOUT somId methodId,
  81.         INOUT somId methodDescriptor,
  82.         IN somMethodProc *method,
  83.         IN somMethodProc *redispatchStub,
  84.         IN somMethodProc *applyStub);
  85. #pragma linkage(somTP_SOMClass_somAddStaticMethod, system)
  86. typedef somTP_SOMClass_somAddStaticMethod *somTD_SOMClass_somAddStaticMethod;
  87. #define somMD_SOMClass_somAddStaticMethod "----"
  88. #define SOMClass_somAddStaticMethod(somSelf,methodId,methodDescriptor,method,redispatchStub,applyStub) \
  89.     (SOM_Resolve(somSelf, SOMClass, somAddStaticMethod) \
  90.     (somSelf,methodId,methodDescriptor,method,redispatchStub,applyStub))
  91. #define _somAddStaticMethod SOMClass_somAddStaticMethod
  92.  
  93. /*
  94.  * New Method: somClassReady
  95.  */
  96. typedef void    SOMLINK somTP_SOMClass_somClassReady(SOMClass *somSelf);
  97. #pragma linkage(somTP_SOMClass_somClassReady, system)
  98. typedef somTP_SOMClass_somClassReady *somTD_SOMClass_somClassReady;
  99. #define somMD_SOMClass_somClassReady "----"
  100. #define SOMClass_somClassReady(somSelf) \
  101.     (SOM_Resolve(somSelf, SOMClass, somClassReady) \
  102.     (somSelf))
  103. #define _somClassReady SOMClass_somClassReady
  104.  
  105. /*
  106.  * New Method: somInitClass
  107.  */
  108. typedef void    SOMLINK somTP_SOMClass_somInitClass(SOMClass *somSelf,
  109.         IN zString className,
  110.         IN SOMAny *parentClass,
  111.         IN integer4 instanceSize,
  112.         IN int maxStaticMethods,
  113.         IN integer4 majorVersion,
  114.         IN integer4 minorVersion);
  115. #pragma linkage(somTP_SOMClass_somInitClass, system)
  116. typedef somTP_SOMClass_somInitClass *somTD_SOMClass_somInitClass;
  117. #define somMD_SOMClass_somInitClass "----"
  118. #define SOMClass_somInitClass(somSelf,className,parentClass,instanceSize,maxStaticMethods,majorVersion,minorVersion) \
  119.     (SOM_Resolve(somSelf, SOMClass, somInitClass) \
  120.     (somSelf,className,parentClass,instanceSize,maxStaticMethods,majorVersion,minorVersion))
  121. #define _somInitClass SOMClass_somInitClass
  122.  
  123. /*
  124.  * New Method: somOverrideSMethod
  125.  */
  126. typedef void    SOMLINK somTP_SOMClass_somOverrideSMethod(SOMClass *somSelf,
  127.         INOUT somId methodId,
  128.         IN somMethodProc *method);
  129. #pragma linkage(somTP_SOMClass_somOverrideSMethod, system)
  130. typedef somTP_SOMClass_somOverrideSMethod *somTD_SOMClass_somOverrideSMethod;
  131. #define somMD_SOMClass_somOverrideSMethod "----"
  132. #define SOMClass_somOverrideSMethod(somSelf,methodId,method) \
  133.     (SOM_Resolve(somSelf, SOMClass, somOverrideSMethod) \
  134.     (somSelf,methodId,method))
  135. #define _somOverrideSMethod SOMClass_somOverrideSMethod
  136.  
  137. /*
  138.  * New Method: somNew
  139.  */
  140. typedef SOMAny *   SOMLINK somTP_SOMClass_somNew(SOMClass *somSelf);
  141. #pragma linkage(somTP_SOMClass_somNew, system)
  142. typedef somTP_SOMClass_somNew *somTD_SOMClass_somNew;
  143. #define somMD_SOMClass_somNew "----"
  144. #define SOMClass_somNew(somSelf) \
  145.     (SOM_Resolve(somSelf, SOMClass, somNew) \
  146.     (somSelf))
  147. #define _somNew SOMClass_somNew
  148.  
  149. /*
  150.  * New Method: somNewNoInit
  151.  */
  152. typedef SOMAny *   SOMLINK somTP_SOMClass_somNewNoInit(SOMClass *somSelf);
  153. #pragma linkage(somTP_SOMClass_somNewNoInit, system)
  154. typedef somTP_SOMClass_somNewNoInit *somTD_SOMClass_somNewNoInit;
  155. #define somMD_SOMClass_somNewNoInit "----"
  156. #define SOMClass_somNewNoInit(somSelf) \
  157.     (SOM_Resolve(somSelf, SOMClass, somNewNoInit) \
  158.     (somSelf))
  159. #define _somNewNoInit SOMClass_somNewNoInit
  160.  
  161. /*
  162.  * New Method: somRenew
  163.  */
  164. typedef SOMAny *   SOMLINK somTP_SOMClass_somRenew(SOMClass *somSelf,
  165.         IN void *obj);
  166. #pragma linkage(somTP_SOMClass_somRenew, system)
  167. typedef somTP_SOMClass_somRenew *somTD_SOMClass_somRenew;
  168. #define somMD_SOMClass_somRenew "----"
  169. #define SOMClass_somRenew(somSelf,obj) \
  170.     (SOM_Resolve(somSelf, SOMClass, somRenew) \
  171.     (somSelf,obj))
  172. #define _somRenew SOMClass_somRenew
  173.  
  174. /*
  175.  * New Method: somRenewNoInit
  176.  */
  177. typedef SOMAny *   SOMLINK somTP_SOMClass_somRenewNoInit(SOMClass *somSelf,
  178.         IN void *obj);
  179. #pragma linkage(somTP_SOMClass_somRenewNoInit, system)
  180. typedef somTP_SOMClass_somRenewNoInit *somTD_SOMClass_somRenewNoInit;
  181. #define somMD_SOMClass_somRenewNoInit "----"
  182. #define SOMClass_somRenewNoInit(somSelf,obj) \
  183.     (SOM_Resolve(somSelf, SOMClass, somRenewNoInit) \
  184.     (somSelf,obj))
  185. #define _somRenewNoInit SOMClass_somRenewNoInit
  186.  
  187. /*
  188.  * New Method: somGetApplyStub
  189.  */
  190. typedef somMethodProc *   SOMLINK somTP_SOMClass_somGetApplyStub(SOMClass *somSelf,
  191.         INOUT somId methodId);
  192. #pragma linkage(somTP_SOMClass_somGetApplyStub, system)
  193. typedef somTP_SOMClass_somGetApplyStub *somTD_SOMClass_somGetApplyStub;
  194. #define somMD_SOMClass_somGetApplyStub "----"
  195. #define SOMClass_somGetApplyStub(somSelf,methodId) \
  196.     (SOM_Resolve(somSelf, SOMClass, somGetApplyStub) \
  197.     (somSelf,methodId))
  198. #define _somGetApplyStub SOMClass_somGetApplyStub
  199.  
  200. /*
  201.  * New Method: somGetClassData
  202.  */
  203. typedef somClassDataStructure *   SOMLINK somTP_SOMClass_somGetClassData(SOMClass *somSelf);
  204. #pragma linkage(somTP_SOMClass_somGetClassData, system)
  205. typedef somTP_SOMClass_somGetClassData *somTD_SOMClass_somGetClassData;
  206. #define somMD_SOMClass_somGetClassData "----"
  207. #define SOMClass_somGetClassData(somSelf) \
  208.     (SOM_Resolve(somSelf, SOMClass, somGetClassData) \
  209.     (somSelf))
  210. #define _somGetClassData SOMClass_somGetClassData
  211.  
  212. /*
  213.  * New Method: somGetClassMtab
  214.  */
  215. typedef somMethodTab *   SOMLINK somTP_SOMClass_somGetClassMtab(SOMClass *somSelf);
  216. #pragma linkage(somTP_SOMClass_somGetClassMtab, system)
  217. typedef somTP_SOMClass_somGetClassMtab *somTD_SOMClass_somGetClassMtab;
  218. #define somMD_SOMClass_somGetClassMtab "----"
  219. #define SOMClass_somGetClassMtab(somSelf) \
  220.     (SOM_Resolve(somSelf, SOMClass, somGetClassMtab) \
  221.     (somSelf))
  222. #define _somGetClassMtab SOMClass_somGetClassMtab
  223.  
  224. /*
  225.  * New Method: somGetInstanceToken
  226.  */
  227. typedef somDToken    SOMLINK somTP_SOMClass_somGetInstanceToken(SOMClass *somSelf);
  228. #pragma linkage(somTP_SOMClass_somGetInstanceToken, system)
  229. typedef somTP_SOMClass_somGetInstanceToken *somTD_SOMClass_somGetInstanceToken;
  230. #define somMD_SOMClass_somGetInstanceToken "----"
  231. #define SOMClass_somGetInstanceToken(somSelf) \
  232.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceToken) \
  233.     (somSelf))
  234. #define _somGetInstanceToken SOMClass_somGetInstanceToken
  235.  
  236. /*
  237.  * New Method: somGetMemberToken
  238.  */
  239. typedef somDToken    SOMLINK somTP_SOMClass_somGetMemberToken(SOMClass *somSelf,
  240.         integer4 memberOffset,
  241.         somDToken instanceToken);
  242. #pragma linkage(somTP_SOMClass_somGetMemberToken, system)
  243. typedef somTP_SOMClass_somGetMemberToken *somTD_SOMClass_somGetMemberToken;
  244. #define somMD_SOMClass_somGetMemberToken "----"
  245. #define SOMClass_somGetMemberToken(somSelf,memberOffset,instanceToken) \
  246.     (SOM_Resolve(somSelf, SOMClass, somGetMemberToken) \
  247.     (somSelf,memberOffset,instanceToken))
  248. #define _somGetMemberToken SOMClass_somGetMemberToken
  249.  
  250. /*
  251.  * New Method: somGetInstanceOffset
  252.  */
  253. typedef integer4    SOMLINK somTP_SOMClass_somGetInstanceOffset(SOMClass *somSelf);
  254. #pragma linkage(somTP_SOMClass_somGetInstanceOffset, system)
  255. typedef somTP_SOMClass_somGetInstanceOffset *somTD_SOMClass_somGetInstanceOffset;
  256. #define somMD_SOMClass_somGetInstanceOffset "----"
  257. #define SOMClass_somGetInstanceOffset(somSelf) \
  258.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceOffset) \
  259.     (somSelf))
  260. #define _somGetInstanceOffset SOMClass_somGetInstanceOffset
  261.  
  262. /*
  263.  * New Method: somGetInstancePartSize
  264.  */
  265. typedef integer4    SOMLINK somTP_SOMClass_somGetInstancePartSize(SOMClass *somSelf);
  266. #pragma linkage(somTP_SOMClass_somGetInstancePartSize, system)
  267. typedef somTP_SOMClass_somGetInstancePartSize *somTD_SOMClass_somGetInstancePartSize;
  268. #define somMD_SOMClass_somGetInstancePartSize "----"
  269. #define SOMClass_somGetInstancePartSize(somSelf) \
  270.     (SOM_Resolve(somSelf, SOMClass, somGetInstancePartSize) \
  271.     (somSelf))
  272. #define _somGetInstancePartSize SOMClass_somGetInstancePartSize
  273.  
  274. /*
  275.  * New Method: somGetInstanceSize
  276.  */
  277. typedef integer4    SOMLINK somTP_SOMClass_somGetInstanceSize(SOMClass *somSelf);
  278. #pragma linkage(somTP_SOMClass_somGetInstanceSize, system)
  279. typedef somTP_SOMClass_somGetInstanceSize *somTD_SOMClass_somGetInstanceSize;
  280. #define somMD_SOMClass_somGetInstanceSize "----"
  281. #define SOMClass_somGetInstanceSize(somSelf) \
  282.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceSize) \
  283.     (somSelf))
  284. #define _somGetInstanceSize SOMClass_somGetInstanceSize
  285.  
  286. /*
  287.  * New Method: somGetMethodDescriptor
  288.  */
  289. typedef somId    SOMLINK somTP_SOMClass_somGetMethodDescriptor(SOMClass *somSelf,
  290.         IN somId methodId);
  291. #pragma linkage(somTP_SOMClass_somGetMethodDescriptor, system)
  292. typedef somTP_SOMClass_somGetMethodDescriptor *somTD_SOMClass_somGetMethodDescriptor;
  293. #define somMD_SOMClass_somGetMethodDescriptor "----"
  294. #define SOMClass_somGetMethodDescriptor(somSelf,methodId) \
  295.     (SOM_Resolve(somSelf, SOMClass, somGetMethodDescriptor) \
  296.     (somSelf,methodId))
  297. #define _somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  298.  
  299. /*
  300.  * New Method: somGetName
  301.  */
  302. typedef zString    SOMLINK somTP_SOMClass_somGetName(SOMClass *somSelf);
  303. #pragma linkage(somTP_SOMClass_somGetName, system)
  304. typedef somTP_SOMClass_somGetName *somTD_SOMClass_somGetName;
  305. #define somMD_SOMClass_somGetName "----"
  306. #define SOMClass_somGetName(somSelf) \
  307.     (SOM_Resolve(somSelf, SOMClass, somGetName) \
  308.     (somSelf))
  309. #define _somGetName SOMClass_somGetName
  310.  
  311. /*
  312.  * New Method: somGetNumMethods
  313.  */
  314. typedef int    SOMLINK somTP_SOMClass_somGetNumMethods(SOMClass *somSelf);
  315. #pragma linkage(somTP_SOMClass_somGetNumMethods, system)
  316. typedef somTP_SOMClass_somGetNumMethods *somTD_SOMClass_somGetNumMethods;
  317. #define somMD_SOMClass_somGetNumMethods "----"
  318. #define SOMClass_somGetNumMethods(somSelf) \
  319.     (SOM_Resolve(somSelf, SOMClass, somGetNumMethods) \
  320.     (somSelf))
  321. #define _somGetNumMethods SOMClass_somGetNumMethods
  322.  
  323. /*
  324.  * New Method: somGetNumStaticMethods
  325.  */
  326. typedef int    SOMLINK somTP_SOMClass_somGetNumStaticMethods(SOMClass *somSelf);
  327. #pragma linkage(somTP_SOMClass_somGetNumStaticMethods, system)
  328. typedef somTP_SOMClass_somGetNumStaticMethods *somTD_SOMClass_somGetNumStaticMethods;
  329. #define somMD_SOMClass_somGetNumStaticMethods "----"
  330. #define SOMClass_somGetNumStaticMethods(somSelf) \
  331.     (SOM_Resolve(somSelf, SOMClass, somGetNumStaticMethods) \
  332.     (somSelf))
  333. #define _somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  334.  
  335. /*
  336.  * New Method: somGetParent
  337.  */
  338. typedef SOMClass *   SOMLINK somTP_SOMClass_somGetParent(SOMClass *somSelf);
  339. #pragma linkage(somTP_SOMClass_somGetParent, system)
  340. typedef somTP_SOMClass_somGetParent *somTD_SOMClass_somGetParent;
  341. #define somMD_SOMClass_somGetParent "----"
  342. #define SOMClass_somGetParent(somSelf) \
  343.     (SOM_Resolve(somSelf, SOMClass, somGetParent) \
  344.     (somSelf))
  345. #define _somGetParent SOMClass_somGetParent
  346.  
  347. /*
  348.  * New Method: somGetPClsMtab
  349.  */
  350. typedef somMethodTab *   SOMLINK somTP_SOMClass_somGetPClsMtab(SOMClass *somSelf);
  351. #pragma linkage(somTP_SOMClass_somGetPClsMtab, system)
  352. typedef somTP_SOMClass_somGetPClsMtab *somTD_SOMClass_somGetPClsMtab;
  353. #define somMD_SOMClass_somGetPClsMtab "----"
  354. #define SOMClass_somGetPClsMtab(somSelf) \
  355.     (SOM_Resolve(somSelf, SOMClass, somGetPClsMtab) \
  356.     (somSelf))
  357. #define _somGetPClsMtab SOMClass_somGetPClsMtab
  358.  
  359. /*
  360.  * New Method: somSetClassData
  361.  */
  362. typedef void    SOMLINK somTP_SOMClass_somSetClassData(SOMClass *somSelf,
  363.         IN somClassDataStructure *cds);
  364. #pragma linkage(somTP_SOMClass_somSetClassData, system)
  365. typedef somTP_SOMClass_somSetClassData *somTD_SOMClass_somSetClassData;
  366. #define somMD_SOMClass_somSetClassData "----"
  367. #define SOMClass_somSetClassData(somSelf,cds) \
  368.     (SOM_Resolve(somSelf, SOMClass, somSetClassData) \
  369.     (somSelf,cds))
  370. #define _somSetClassData SOMClass_somSetClassData
  371.  
  372. /*
  373.  * New Method: somCheckVersion
  374.  */
  375. typedef int    SOMLINK somTP_SOMClass_somCheckVersion(SOMClass *somSelf,
  376.         IN integer4 majorVersion,
  377.         IN integer4 minorVersion);
  378. #pragma linkage(somTP_SOMClass_somCheckVersion, system)
  379. typedef somTP_SOMClass_somCheckVersion *somTD_SOMClass_somCheckVersion;
  380. #define somMD_SOMClass_somCheckVersion "----"
  381. #define SOMClass_somCheckVersion(somSelf,majorVersion,minorVersion) \
  382.     (SOM_Resolve(somSelf, SOMClass, somCheckVersion) \
  383.     (somSelf,majorVersion,minorVersion))
  384. #define _somCheckVersion SOMClass_somCheckVersion
  385.  
  386. /*
  387.  * New Method: somDescendedFrom
  388.  */
  389. typedef int    SOMLINK somTP_SOMClass_somDescendedFrom(SOMClass *somSelf,
  390.         IN SOMClass *aClassObj);
  391. #pragma linkage(somTP_SOMClass_somDescendedFrom, system)
  392. typedef somTP_SOMClass_somDescendedFrom *somTD_SOMClass_somDescendedFrom;
  393. #define somMD_SOMClass_somDescendedFrom "----"
  394. #define SOMClass_somDescendedFrom(somSelf,aClassObj) \
  395.     (SOM_Resolve(somSelf, SOMClass, somDescendedFrom) \
  396.     (somSelf,aClassObj))
  397. #define _somDescendedFrom SOMClass_somDescendedFrom
  398.  
  399. /*
  400.  * New Method: somSupportsMethod
  401.  */
  402. typedef int    SOMLINK somTP_SOMClass_somSupportsMethod(SOMClass *somSelf,
  403.         INOUT somId mId);
  404. #pragma linkage(somTP_SOMClass_somSupportsMethod, system)
  405. typedef somTP_SOMClass_somSupportsMethod *somTD_SOMClass_somSupportsMethod;
  406. #define somMD_SOMClass_somSupportsMethod "----"
  407. #define SOMClass_somSupportsMethod(somSelf,mId) \
  408.     (SOM_Resolve(somSelf, SOMClass, somSupportsMethod) \
  409.     (somSelf,mId))
  410. #define _somSupportsMethod SOMClass_somSupportsMethod
  411.  
  412. /*
  413.  * New Method: somFindMethod
  414.  */
  415. typedef int    SOMLINK somTP_SOMClass_somFindMethod(SOMClass *somSelf,
  416.         INOUT somId methodId,
  417.         OUT somMethodProc **m);
  418. #pragma linkage(somTP_SOMClass_somFindMethod, system)
  419. typedef somTP_SOMClass_somFindMethod *somTD_SOMClass_somFindMethod;
  420. #define somMD_SOMClass_somFindMethod "----"
  421. #define SOMClass_somFindMethod(somSelf,methodId,m) \
  422.     (SOM_Resolve(somSelf, SOMClass, somFindMethod) \
  423.     (somSelf,methodId,m))
  424. #define _somFindMethod SOMClass_somFindMethod
  425.  
  426. /*
  427.  * New Method: somFindMethodOk
  428.  */
  429. typedef int    SOMLINK somTP_SOMClass_somFindMethodOk(SOMClass *somSelf,
  430.         INOUT somId methodId,
  431.         OUT somMethodProc **m);
  432. #pragma linkage(somTP_SOMClass_somFindMethodOk, system)
  433. typedef somTP_SOMClass_somFindMethodOk *somTD_SOMClass_somFindMethodOk;
  434. #define somMD_SOMClass_somFindMethodOk "----"
  435. #define SOMClass_somFindMethodOk(somSelf,methodId,m) \
  436.     (SOM_Resolve(somSelf, SOMClass, somFindMethodOk) \
  437.     (somSelf,methodId,m))
  438. #define _somFindMethodOk SOMClass_somFindMethodOk
  439.  
  440. /*
  441.  * New Method: somFindSMethod
  442.  */
  443. typedef somMethodProc *   SOMLINK somTP_SOMClass_somFindSMethod(SOMClass *somSelf,
  444.         INOUT somId methodId);
  445. #pragma linkage(somTP_SOMClass_somFindSMethod, system)
  446. typedef somTP_SOMClass_somFindSMethod *somTD_SOMClass_somFindSMethod;
  447. #define somMD_SOMClass_somFindSMethod "----"
  448. #define SOMClass_somFindSMethod(somSelf,methodId) \
  449.     (SOM_Resolve(somSelf, SOMClass, somFindSMethod) \
  450.     (somSelf,methodId))
  451. #define _somFindSMethod SOMClass_somFindSMethod
  452.  
  453. /*
  454.  * New Method: somFindSMethodOk
  455.  */
  456. typedef somMethodProc *   SOMLINK somTP_SOMClass_somFindSMethodOk(SOMClass *somSelf,
  457.         INOUT somId methodId);
  458. #pragma linkage(somTP_SOMClass_somFindSMethodOk, system)
  459. typedef somTP_SOMClass_somFindSMethodOk *somTD_SOMClass_somFindSMethodOk;
  460. #define somMD_SOMClass_somFindSMethodOk "----"
  461. #define SOMClass_somFindSMethodOk(somSelf,methodId) \
  462.     (SOM_Resolve(somSelf, SOMClass, somFindSMethodOk) \
  463.     (somSelf,methodId))
  464. #define _somFindSMethodOk SOMClass_somFindSMethodOk
  465.  
  466. /*
  467.  * Declare the class creation procedure
  468.  */
  469. SOMEXTERN SOMAny * SOMLINK SOMClassNewClass(integer4 scemajorVersion,
  470.         integer4 sceminorVersion);
  471. #pragma linkage(SOMClassNewClass, system)
  472.  
  473. /*
  474.  * Declare the class data structure
  475.  */
  476. SOMEXTERN struct SOMClassClassDataStructure {
  477.     SOMAny *classObject;
  478.     somMToken somNew;
  479.     somMToken somRenew;
  480.     somMToken somInitClass;
  481.     somMToken somClassReady;
  482.     somMToken somGetName;
  483.     somMToken somGetParent;
  484.     somMToken somDescendedFrom;
  485.     somMToken somCheckVersion;
  486.     somMToken somFindMethod;
  487.     somMToken somFindMethodOk;
  488.     somMToken somSupportsMethod;
  489.     somMToken somGetNumMethods;
  490.     somMToken somGetInstanceSize;
  491.     somMToken somGetInstanceOffset;
  492.     somMToken somGetInstancePartSize;
  493.     somMToken somGetMethodIndex;
  494.     somMToken somGetNumStaticMethods;
  495.     somMToken somGetPClsMtab;
  496.     somMToken somGetClassMtab;
  497.     somMToken somAddStaticMethod;
  498.     somMToken somOverrideSMethod;
  499.     somMToken somAddDynamicMethod;
  500.     somMToken somGetMethodOffset;
  501.     somMToken somGetApplyStub;
  502.     somMToken somFindSMethod;
  503.     somMToken somFindSMethodOk;
  504.     somMToken somGetMethodDescriptor;
  505.     somMToken somGetNthMethodInfo;
  506.     somMToken somSetClassData;
  507.     somMToken somGetClassData;
  508.     somMToken somNewNoInit;
  509.     somMToken somRenewNoInit;
  510.     somMToken somGetInstanceToken;
  511.     somMToken somGetMemberToken;
  512.     somMToken somSetMethodDescriptor;
  513.     somMToken somGetMethodData;
  514. } SOMClassClassData;
  515.  
  516. /*
  517.  * Declare the C specific class data structure
  518.  */
  519. SOMEXTERN struct SOMClassCClassDataStructure {
  520.     somMethodTab *parentMtab;
  521.     somDToken instanceDataToken;
  522. } SOMClassCClassData;
  523.  
  524. #endif       /* somcls_h */
  525.