home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ooxdb210.zip / ooxlogical.xh < prev    next >
Text File  |  1996-12-31  |  25KB  |  885 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxlogical.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxlogical_xh
  11. #define SOM_ooxlogical_xh
  12.  
  13. class ooxlogical;
  14.  
  15. #define ooxlogical_MajorVersion 0
  16. #define ooxlogical_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_ooxfield_xh
  24. #include <ooxfield.xh>
  25. #endif
  26.  
  27. #ifndef ooxlogical_API
  28. #define ooxlogical_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of bindings for IDL types
  35.  */
  36.  
  37. class SOMClass;
  38. class SOMObject;
  39. #define ex_ooxlogical_ooxfield_error "::ooxlogical::ooxfield_error"
  40. typedef
  41. struct ooxlogical_ooxfield_error {
  42. long  ErrCode;
  43. string  Reason;
  44. } ooxlogical_ooxfield_error;
  45.  
  46. #ifndef SOM_DONT_USE_SHORT_NAMES
  47. #ifndef SOMTGD_ex_ooxfield_error
  48.     #ifdef ex_ooxfield_error
  49.         #undef ex_ooxfield_error
  50.         #define SOMTGD_ex_ooxfield_error 1
  51.     #else
  52.         #define ex_ooxfield_error ex_ooxlogical_ooxfield_error
  53.     #endif /* ex_ooxfield_error */
  54. #endif /* SOMTGD_ex_ooxfield_error */
  55. #ifndef SOMTGD_ooxfield_error
  56.     #ifdef ooxfield_error
  57.         #undef ooxfield_error
  58.         #define SOMTGD_ooxfield_error 1
  59.     #else
  60.         #define ooxfield_error ooxlogical_ooxfield_error
  61.     #endif /* ooxfield_error */
  62. #endif /* SOMTGD_ooxfield_error */
  63. #endif /* SOM_DONT_USE_SHORT_NAMES */
  64.  
  65. /*
  66.  * End of bindings for IDL types.
  67.  */
  68.  
  69. /* A procedure to create the ooxlogical Class */
  70. SOMEXTERN SOMClass * SOMLINK ooxlogicalNewClass(
  71.         integer4 majorVersion,
  72.         integer4 minorVersion);
  73.  
  74. /* The API to the ooxlogical class object, and the methods it introduces. */
  75. SOMEXTERN struct ooxlogicalClassDataStructure {
  76.     SOMClass *classObject;
  77.     somMToken define;
  78.     somMToken put_boolean;
  79.     somMToken get_boolean;
  80. } SOMDLINK ooxlogicalClassData;
  81. #define _ooxlogical ooxlogicalClassData.classObject
  82.  
  83. /* The API to parentMtabs for ooxlogical, and the instance data it introduces. */
  84. SOMEXTERN struct ooxlogicalCClassDataStructure {
  85.     somMethodTabs parentMtab;
  86.     somDToken              instanceDataToken;
  87. } SOMDLINK ooxlogicalCClassData;
  88.  
  89. /*
  90.  * -- Typedefs for ooxlogical Method Procedures
  91.  */
  92. SOMEXTERN {
  93. typedef void   SOMLINK somTP_ooxlogical_define(ooxlogical *somSelf, Environment *ev, 
  94.         somInitCtrl* ctrl, 
  95.         string name);
  96. typedef somTP_ooxlogical_define *somTD_ooxlogical_define;
  97. typedef void   SOMLINK somTP_ooxlogical_put_boolean(ooxlogical *somSelf, Environment *ev, 
  98.         boolean booleanv);
  99. typedef somTP_ooxlogical_put_boolean *somTD_ooxlogical_put_boolean;
  100. typedef boolean   SOMLINK somTP_ooxlogical_get_boolean(ooxlogical *somSelf, Environment *ev);
  101. typedef somTP_ooxlogical_get_boolean *somTD_ooxlogical_get_boolean;
  102.  
  103. /*
  104.  * -- Typedefs for Reintroduced Wrapper Methods
  105.  */
  106. typedef string   SOMLINK somTP_ooxlogical_get_name(ooxlogical *somSelf, Environment *ev);
  107. typedef somTP_ooxlogical_get_name *somTD_ooxlogical_get_name;
  108. typedef string   SOMLINK somTP_ooxlogical_get(ooxlogical *somSelf, Environment *ev);
  109. typedef somTP_ooxlogical_get *somTD_ooxlogical_get;
  110. typedef long   SOMLINK somTP_ooxlogical_put(ooxlogical *somSelf, Environment *ev, 
  111.         string datum);
  112. typedef somTP_ooxlogical_put *somTD_ooxlogical_put;
  113. typedef char   SOMLINK somTP_ooxlogical_get_type(ooxlogical *somSelf, Environment *ev);
  114. typedef somTP_ooxlogical_get_type *somTD_ooxlogical_get_type;
  115. typedef short   SOMLINK somTP_ooxlogical_get_length(ooxlogical *somSelf, Environment *ev);
  116. typedef somTP_ooxlogical_get_length *somTD_ooxlogical_get_length;
  117. typedef short   SOMLINK somTP_ooxlogical_get_dec_point(ooxlogical *somSelf, Environment *ev);
  118. typedef somTP_ooxlogical_get_dec_point *somTD_ooxlogical_get_dec_point;
  119. typedef void   SOMLINK somTP_ooxlogical_somDefaultInit(ooxlogical *somSelf, 
  120.         som3InitCtrl* ctrl);
  121. typedef somTP_ooxlogical_somDefaultInit *somTD_ooxlogical_somDefaultInit;
  122. typedef void   SOMLINK somTP_ooxlogical_somUninit(ooxlogical *somSelf);
  123. typedef somTP_ooxlogical_somUninit *somTD_ooxlogical_somUninit;
  124. typedef void   SOMLINK somTP_ooxlogical_somDestruct(ooxlogical *somSelf, 
  125.         octet doFree, 
  126.         som3DestructCtrl* ctrl);
  127. typedef somTP_ooxlogical_somDestruct *somTD_ooxlogical_somDestruct;
  128. typedef void   SOMLINK somTP_ooxlogical_somDefaultCopyInit(ooxlogical *somSelf, 
  129.         som3InitCtrl* ctrl, 
  130.         SOMObject* fromObj);
  131. typedef somTP_ooxlogical_somDefaultCopyInit *somTD_ooxlogical_somDefaultCopyInit;
  132. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultAssign(ooxlogical *somSelf, 
  133.         som3AssignCtrl* ctrl, 
  134.         SOMObject* fromObj);
  135. typedef somTP_ooxlogical_somDefaultAssign *somTD_ooxlogical_somDefaultAssign;
  136. typedef void   SOMLINK somTP_ooxlogical_somDefaultConstCopyInit(ooxlogical *somSelf, 
  137.         som3InitCtrl* ctrl, 
  138.         SOMObject* fromObj);
  139. typedef somTP_ooxlogical_somDefaultConstCopyInit *somTD_ooxlogical_somDefaultConstCopyInit;
  140. typedef void   SOMLINK somTP_ooxlogical_somDefaultVCopyInit(ooxlogical *somSelf, 
  141.         som3InitCtrl* ctrl, 
  142.         SOMObject* fromObj);
  143. typedef somTP_ooxlogical_somDefaultVCopyInit *somTD_ooxlogical_somDefaultVCopyInit;
  144. typedef void   SOMLINK somTP_ooxlogical_somDefaultConstVCopyInit(ooxlogical *somSelf, 
  145.         som3InitCtrl* ctrl, 
  146.         SOMObject* fromObj);
  147. typedef somTP_ooxlogical_somDefaultConstVCopyInit *somTD_ooxlogical_somDefaultConstVCopyInit;
  148. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultConstAssign(ooxlogical *somSelf, 
  149.         som3AssignCtrl* ctrl, 
  150.         SOMObject* fromObj);
  151. typedef somTP_ooxlogical_somDefaultConstAssign *somTD_ooxlogical_somDefaultConstAssign;
  152. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultVAssign(ooxlogical *somSelf, 
  153.         som3AssignCtrl* ctrl, 
  154.         SOMObject* fromObj);
  155. typedef somTP_ooxlogical_somDefaultVAssign *somTD_ooxlogical_somDefaultVAssign;
  156. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultConstVAssign(ooxlogical *somSelf, 
  157.         som3AssignCtrl* ctrl, 
  158.         SOMObject* fromObj);
  159. typedef somTP_ooxlogical_somDefaultConstVAssign *somTD_ooxlogical_somDefaultConstVAssign;
  160. typedef void   SOMLINK somTP_ooxlogical_somInit(ooxlogical *somSelf);
  161. typedef somTP_ooxlogical_somInit *somTD_ooxlogical_somInit;
  162. typedef void   SOMLINK somTP_ooxlogical_somFree(ooxlogical *somSelf);
  163. typedef somTP_ooxlogical_somFree *somTD_ooxlogical_somFree;
  164. typedef SOMClass*   SOMLINK somTP_ooxlogical_somGetClass(ooxlogical *somSelf);
  165. typedef somTP_ooxlogical_somGetClass *somTD_ooxlogical_somGetClass;
  166. typedef string   SOMLINK somTP_ooxlogical_somGetClassName(ooxlogical *somSelf);
  167. typedef somTP_ooxlogical_somGetClassName *somTD_ooxlogical_somGetClassName;
  168. typedef long   SOMLINK somTP_ooxlogical_somGetSize(ooxlogical *somSelf);
  169. typedef somTP_ooxlogical_somGetSize *somTD_ooxlogical_somGetSize;
  170. typedef boolean   SOMLINK somTP_ooxlogical_somIsA(ooxlogical *somSelf, 
  171.         SOMClass* aClassObj);
  172. typedef somTP_ooxlogical_somIsA *somTD_ooxlogical_somIsA;
  173. typedef boolean   SOMLINK somTP_ooxlogical_somIsInstanceOf(ooxlogical *somSelf, 
  174.         SOMClass* aClassObj);
  175. typedef somTP_ooxlogical_somIsInstanceOf *somTD_ooxlogical_somIsInstanceOf;
  176. typedef boolean   SOMLINK somTP_ooxlogical_somRespondsTo(ooxlogical *somSelf, 
  177.         somId mId);
  178. typedef somTP_ooxlogical_somRespondsTo *somTD_ooxlogical_somRespondsTo;
  179. typedef boolean   SOMLINK somTP_ooxlogical_somDispatch(ooxlogical *somSelf, 
  180.         somToken* retValue, 
  181.         somId methodId, 
  182.         va_list ap);
  183. typedef somTP_ooxlogical_somDispatch *somTD_ooxlogical_somDispatch;
  184. typedef boolean   SOMLINK somTP_ooxlogical_somClassDispatch(ooxlogical *somSelf, 
  185.         SOMClass* clsObj, 
  186.         somToken* retValue, 
  187.         somId methodId, 
  188.         va_list ap);
  189. typedef somTP_ooxlogical_somClassDispatch *somTD_ooxlogical_somClassDispatch;
  190. typedef boolean   SOMLINK somTP_ooxlogical_somCastObj(ooxlogical *somSelf, 
  191.         SOMClass* cls);
  192. typedef somTP_ooxlogical_somCastObj *somTD_ooxlogical_somCastObj;
  193. typedef boolean   SOMLINK somTP_ooxlogical_somResetObj(ooxlogical *somSelf);
  194. typedef somTP_ooxlogical_somResetObj *somTD_ooxlogical_somResetObj;
  195. typedef void   SOMLINK somTP_ooxlogical_somDispatchV(ooxlogical *somSelf, 
  196.         somId methodId, 
  197.         somId descriptor, 
  198.         va_list ap);
  199. typedef somTP_ooxlogical_somDispatchV *somTD_ooxlogical_somDispatchV;
  200. typedef long   SOMLINK somTP_ooxlogical_somDispatchL(ooxlogical *somSelf, 
  201.         somId methodId, 
  202.         somId descriptor, 
  203.         va_list ap);
  204. typedef somTP_ooxlogical_somDispatchL *somTD_ooxlogical_somDispatchL;
  205. typedef void*   SOMLINK somTP_ooxlogical_somDispatchA(ooxlogical *somSelf, 
  206.         somId methodId, 
  207.         somId descriptor, 
  208.         va_list ap);
  209. typedef somTP_ooxlogical_somDispatchA *somTD_ooxlogical_somDispatchA;
  210. typedef double   SOMLINK somTP_ooxlogical_somDispatchD(ooxlogical *somSelf, 
  211.         somId methodId, 
  212.         somId descriptor, 
  213.         va_list ap);
  214. typedef somTP_ooxlogical_somDispatchD *somTD_ooxlogical_somDispatchD;
  215. typedef SOMObject*   SOMLINK somTP_ooxlogical_somPrintSelf(ooxlogical *somSelf);
  216. typedef somTP_ooxlogical_somPrintSelf *somTD_ooxlogical_somPrintSelf;
  217. typedef void   SOMLINK somTP_ooxlogical_somDumpSelf(ooxlogical *somSelf, 
  218.         long level);
  219. typedef somTP_ooxlogical_somDumpSelf *somTD_ooxlogical_somDumpSelf;
  220. typedef void   SOMLINK somTP_ooxlogical_somDumpSelfInt(ooxlogical *somSelf, 
  221.         long level);
  222. typedef somTP_ooxlogical_somDumpSelfInt *somTD_ooxlogical_somDumpSelfInt;
  223. }
  224.  
  225. #endif /* ooxlogical_API */
  226.  
  227.  
  228. /*
  229.  * -- This emitter treats Method Tokens as Thunks by default.
  230.  * -- Use the sc modifier "nothunks" to change this default
  231.  */
  232. #undef somresolve_
  233. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  234.  
  235. /*
  236.  * -- The C++ Wrapper Class for ooxlogical
  237.  */
  238. class ooxlogical : public ooxfield
  239. {
  240. public:
  241.  
  242. // ooxlogical::new creates the class object if necessary, and then uses somNewNoInit
  243. // to allocate memory and create the object. Initialization is in ctors.
  244. void *operator new(size_t)
  245. {
  246.    if (!_ooxlogical) ooxlogicalNewClass(ooxlogical_MajorVersion,ooxlogical_MinorVersion);
  247.    return (void*)
  248.       SOM_Resolve(_ooxlogical,SOMClass,somNewNoInit)
  249.          ((SOMClass *)((void*)_ooxlogical));
  250. }
  251.  
  252. // ooxlogical::delete uses somDestruct.
  253. void operator delete(void * obj)
  254. {
  255.    if (obj && *(void**)obj) {
  256.       SOM_Resolve(obj,SOMObject,somFree)
  257.          ((SOMObject*)obj);
  258.    }
  259. }
  260.  
  261. ooxlogical& operator=(ooxlogical& fromObj)
  262. {
  263.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  264.    return *this;
  265. }
  266.  
  267. ooxlogical()
  268. {
  269.    if (*(void**)this != 
  270.        ((somParentMtabStructPtr)
  271.         (ooxlogicalCClassData.parentMtab))->mtab)
  272.       return;
  273.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  274. }
  275.  
  276. ooxlogical(ooxlogical* fromObj)
  277. {
  278.    if (*(void**)this != 
  279.        ((somParentMtabStructPtr)
  280.         (ooxlogicalCClassData.parentMtab))->mtab)
  281.       return;
  282.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  283. }
  284.  
  285. #ifdef __IBMCPP__
  286. #pragma info(nocnv,nopar)
  287. #endif
  288. ooxlogical(const ooxlogical* fromObj)
  289. {
  290.    if (*(void**)this != 
  291.        ((somParentMtabStructPtr)
  292.         (ooxlogicalCClassData.parentMtab))->mtab)
  293.       return;
  294.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  295. }
  296. #ifdef __IBMCPP__
  297. #pragma info(restore)
  298. #endif
  299.  
  300. ooxlogical(Environment *ev,string name) 
  301. {
  302.    define(ev,0,name);
  303. }
  304.  
  305.  
  306. /* initializer method: define */
  307. void   define(Environment *ev, 
  308.         somInitCtrl* ctrl, 
  309.         string name)
  310. {
  311.    SOM_ResolveD(this,ooxlogical,ooxlogical,define)
  312.     (this, ev,ctrl,name);
  313. }
  314.  
  315.  
  316. /* method: put_boolean */
  317. void   put_boolean(Environment *ev, 
  318.         boolean booleanv)
  319. {
  320.    SOM_ResolveD(this,ooxlogical,ooxlogical,put_boolean)
  321.     (this, ev,booleanv);
  322. }
  323.  
  324.  
  325. /* method: get_boolean */
  326. boolean   get_boolean(Environment *ev)
  327. {
  328.    return SOM_ResolveD(this,ooxlogical,ooxlogical,get_boolean)
  329.     (this, ev);
  330. }
  331.  
  332.  
  333. /*
  334.  * Reintroduce inherited methods
  335.  */
  336.  
  337. /* method: get_name */
  338. string   get_name(Environment *ev)
  339. {
  340.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_name)
  341.     (this, ev);
  342. }
  343.  
  344.  
  345. /* method: get */
  346. string   get(Environment *ev)
  347. {
  348.    return SOM_ResolveD(this,ooxlogical,ooxfield,get)
  349.     (this, ev);
  350. }
  351.  
  352.  
  353. /* method: put */
  354. long   put(Environment *ev, 
  355.         string datum)
  356. {
  357.    return SOM_ResolveD(this,ooxlogical,ooxfield,put)
  358.     (this, ev,datum);
  359. }
  360.  
  361.  
  362. /* method: get_type */
  363. char   get_type(Environment *ev)
  364. {
  365.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_type)
  366.     (this, ev);
  367. }
  368.  
  369.  
  370. /* method: get_length */
  371. short   get_length(Environment *ev)
  372. {
  373.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_length)
  374.     (this, ev);
  375. }
  376.  
  377.  
  378. /* method: get_dec_point */
  379. short   get_dec_point(Environment *ev)
  380. {
  381.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_dec_point)
  382.     (this, ev);
  383. }
  384.  
  385.  
  386. /* initializer method: somDefaultInit */
  387. void   somDefaultInit(som3InitCtrl* ctrl)
  388. {
  389.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultInit)
  390.     (this,ctrl);
  391. }
  392.  
  393.  
  394. /* method: somUninit */
  395. void   somUninit()
  396. {
  397.    SOM_ResolveD(this,ooxlogical,SOMObject,somUninit)
  398.     (this);
  399. }
  400.  
  401.  
  402. /* method: somDestruct */
  403. void   somDestruct(octet doFree, 
  404.         som3DestructCtrl* ctrl)
  405. {
  406. /*
  407.  *  The default destructor for a SOM object. A nonzero <doFree>
  408.  *  indicates that the object storage should be freed by the
  409.  *  object's class (via somDeallocate) after uninitialization.
  410.  *  As with somDefaultInit, a null ctrl can be passed.
  411.  */
  412.    SOM_ResolveD(this,ooxlogical,SOMObject,somDestruct)
  413.     (this,doFree,ctrl);
  414. }
  415.  
  416.  
  417. /* initializer method: somDefaultCopyInit */
  418. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  419.         SOMObject* fromObj)
  420. {
  421. /*
  422.  *  A default copy constructor. Use this to make copies of objects for
  423.  *  calling methods with "by-value" argument semantics.
  424.  */
  425.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultCopyInit)
  426.     (this,ctrl,fromObj);
  427. }
  428.  
  429.  
  430. /* method: somDefaultAssign */
  431. ooxlogical*  somDefaultAssign(som3AssignCtrl* ctrl, 
  432.         SOMObject* fromObj)
  433. {
  434. /*
  435.  *  A default assignment operator. Use this to "assign" the state of one
  436.  *  object to another.
  437.  */
  438.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultAssign)
  439.     (this,ctrl,fromObj);
  440. }
  441.  
  442.  
  443. /* initializer method: somDefaultConstCopyInit */
  444. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  445.         SOMObject* fromObj)
  446. {
  447. /*
  448.  *  A default copy constructor that uses a const fromObj.
  449.  */
  450.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstCopyInit)
  451.     (this,ctrl,fromObj);
  452. }
  453.  
  454.  
  455. /* initializer method: somDefaultVCopyInit */
  456. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  457.         SOMObject* fromObj)
  458. {
  459. /*
  460.  *  A default copy constructor that uses a volatile fromObj.
  461.  */
  462.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultVCopyInit)
  463.     (this,ctrl,fromObj);
  464. }
  465.  
  466.  
  467. /* initializer method: somDefaultConstVCopyInit */
  468. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  469.         SOMObject* fromObj)
  470. {
  471. /*
  472.  *  A default copy constructor that uses a const volatile fromObj.
  473.  */
  474.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstVCopyInit)
  475.     (this,ctrl,fromObj);
  476. }
  477.  
  478.  
  479. /* method: somDefaultConstAssign */
  480. ooxlogical*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  481.         SOMObject* fromObj)
  482. {
  483. /*
  484.  *  A default assignment operator that uses a const fromObj.
  485.  */
  486.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstAssign)
  487.     (this,ctrl,fromObj);
  488. }
  489.  
  490.  
  491. /* method: somDefaultVAssign */
  492. ooxlogical*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  493.         SOMObject* fromObj)
  494. {
  495. /*
  496.  *  A default assignment operator that uses a volatile fromObj.
  497.  */
  498.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultVAssign)
  499.     (this,ctrl,fromObj);
  500. }
  501.  
  502.  
  503. /* method: somDefaultConstVAssign */
  504. ooxlogical*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  505.         SOMObject* fromObj)
  506. {
  507. /*
  508.  *  A default assignment operator that uses a const volatile fromObj.
  509.  */
  510.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstVAssign)
  511.     (this,ctrl,fromObj);
  512. }
  513.  
  514.  
  515. /* method: somInit */
  516. void   somInit()
  517. {
  518. /*
  519.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  520.  */
  521.    SOM_ResolveD(this,ooxlogical,SOMObject,somInit)
  522.     (this);
  523. }
  524.  
  525.  
  526. /* method: somFree */
  527. void   somFree()
  528. {
  529. /*
  530.  *  Use as directed by framework implementations.
  531.  */
  532.    SOM_ResolveD(this,ooxlogical,SOMObject,somFree)
  533.     (this);
  534. }
  535.  
  536.  
  537. /* method: somGetClass */
  538. SOMClass*   somGetClass()
  539. {
  540. /*
  541.  *  Return the receiver's class.
  542.  */
  543.    return SOM_ResolveD(this,ooxlogical,SOMObject,somGetClass)
  544.     (this);
  545. }
  546.  
  547.  
  548. /* method: somGetClassName */
  549. string   somGetClassName()
  550. {
  551. /*
  552.  *  Return the name of the receiver's class.
  553.  */
  554.    return SOM_ResolveD(this,ooxlogical,SOMObject,somGetClassName)
  555.     (this);
  556. }
  557.  
  558.  
  559. /* method: somGetSize */
  560. long   somGetSize()
  561. {
  562. /*
  563.  *  Return the size of the receiver.
  564.  */
  565.    return SOM_ResolveD(this,ooxlogical,SOMObject,somGetSize)
  566.     (this);
  567. }
  568.  
  569.  
  570. /* method: somIsA */
  571. boolean   somIsA(SOMClass* aClassObj)
  572. {
  573. /*
  574.  *  Returns 1 (true) if the receiver responds to methods
  575.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  576.  */
  577.    return SOM_ResolveD(this,ooxlogical,SOMObject,somIsA)
  578.     (this,aClassObj);
  579. }
  580.  
  581.  
  582. /* method: somIsInstanceOf */
  583. boolean   somIsInstanceOf(SOMClass* aClassObj)
  584. {
  585. /*
  586.  *  Returns 1 (true) if the receiver is an instance of
  587.  *  <aClassObj> and 0 (false) otherwise.
  588.  */
  589.    return SOM_ResolveD(this,ooxlogical,SOMObject,somIsInstanceOf)
  590.     (this,aClassObj);
  591. }
  592.  
  593.  
  594. /* method: somRespondsTo */
  595. boolean   somRespondsTo(somId mId)
  596. {
  597. /*
  598.  *  Returns 1 (true) if the indicated method can be invoked
  599.  *  on the receiver and 0 (false) otherwise.
  600.  */
  601.    return SOM_ResolveD(this,ooxlogical,SOMObject,somRespondsTo)
  602.     (this,mId);
  603. }
  604.  
  605.  
  606. /* va_list method: somDispatch */
  607.  
  608. /*
  609.  *  This method provides a generic, class-specific dispatch mechanism.
  610.  *  It accepts as input <retValue> a pointer to the memory area to be
  611.  *  loaded with the result of dispatching the method indicated by
  612.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  613.  *  on which the method is to be invoked as the first argument.
  614.  */
  615. /* the va_list invocation form */
  616. boolean   ooxlogical_somDispatch(somToken* retValue, 
  617.         somId methodId, 
  618.         va_list ap)
  619. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatch)
  620.     (this,retValue,methodId,ap);
  621. }
  622.  
  623. /* the varargs invocation form */
  624. boolean   somDispatch(somToken* retValue, 
  625.         somId methodId, 
  626.         ...)
  627. {
  628. /*
  629.  *  This method provides a generic, class-specific dispatch mechanism.
  630.  *  It accepts as input <retValue> a pointer to the memory area to be
  631.  *  loaded with the result of dispatching the method indicated by
  632.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  633.  *  on which the method is to be invoked as the first argument.
  634.  */
  635.    va_list ap;
  636.    va_start(ap, methodId);
  637.    boolean __somResult = 
  638.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatch)
  639.     (this,retValue,methodId,ap);
  640.    va_end(ap);
  641.    return __somResult;
  642. }
  643.  
  644.  
  645. /* va_list method: somClassDispatch */
  646.  
  647. /*
  648.  *  Like somDispatch, but method resolution for static methods is done
  649.  *  according to the clsObj instance method table.
  650.  */
  651. /* the va_list invocation form */
  652. boolean   ooxlogical_somClassDispatch(SOMClass* clsObj, 
  653.         somToken* retValue, 
  654.         somId methodId, 
  655.         va_list ap)
  656. {return SOM_ResolveD(this,ooxlogical,SOMObject,somClassDispatch)
  657.     (this,clsObj,retValue,methodId,ap);
  658. }
  659.  
  660. /* the varargs invocation form */
  661. boolean   somClassDispatch(SOMClass* clsObj, 
  662.         somToken* retValue, 
  663.         somId methodId, 
  664.         ...)
  665. {
  666. /*
  667.  *  Like somDispatch, but method resolution for static methods is done
  668.  *  according to the clsObj instance method table.
  669.  */
  670.    va_list ap;
  671.    va_start(ap, methodId);
  672.    boolean __somResult = 
  673.       SOM_ResolveD(this,ooxlogical,SOMObject,somClassDispatch)
  674.     (this,clsObj,retValue,methodId,ap);
  675.    va_end(ap);
  676.    return __somResult;
  677. }
  678.  
  679.  
  680. /* method: somCastObj */
  681. boolean   somCastObj(SOMClass* cls)
  682. {
  683. /*
  684.  *  cast the receiving object to cls (which must be an ancestor of the
  685.  *  objects true class. Returns true on success.
  686.  */
  687.    return SOM_ResolveD(this,ooxlogical,SOMObject,somCastObj)
  688.     (this,cls);
  689. }
  690.  
  691.  
  692. /* method: somResetObj */
  693. boolean   somResetObj()
  694. {
  695. /*
  696.  *  reset an object to its true class. Returns true always.
  697.  */
  698.    return SOM_ResolveD(this,ooxlogical,SOMObject,somResetObj)
  699.     (this);
  700. }
  701.  
  702.  
  703. /* va_list method: somDispatchV */
  704.  
  705. /*
  706.  *  Obsolete. Use somDispatch instead.
  707.  */
  708. /* the va_list invocation form */
  709. void   ooxlogical_somDispatchV(somId methodId, 
  710.         somId descriptor, 
  711.         va_list ap)
  712. {   SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchV)
  713.     (this,methodId,descriptor,ap);
  714. }
  715.  
  716. /* the varargs invocation form */
  717. void   somDispatchV(somId methodId, 
  718.         somId descriptor, 
  719.         ...)
  720. {
  721. /*
  722.  *  Obsolete. Use somDispatch instead.
  723.  */
  724.    va_list ap;
  725.    va_start(ap, descriptor);
  726.    SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchV)
  727.     (this,methodId,descriptor,ap);
  728.    va_end(ap);
  729. }
  730.  
  731.  
  732. /* va_list method: somDispatchL */
  733.  
  734. /*
  735.  *  Obsolete. Use somDispatch instead.
  736.  */
  737. /* the va_list invocation form */
  738. long   ooxlogical_somDispatchL(somId methodId, 
  739.         somId descriptor, 
  740.         va_list ap)
  741. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchL)
  742.     (this,methodId,descriptor,ap);
  743. }
  744.  
  745. /* the varargs invocation form */
  746. long   somDispatchL(somId methodId, 
  747.         somId descriptor, 
  748.         ...)
  749. {
  750. /*
  751.  *  Obsolete. Use somDispatch instead.
  752.  */
  753.    va_list ap;
  754.    va_start(ap, descriptor);
  755.    long __somResult = 
  756.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchL)
  757.     (this,methodId,descriptor,ap);
  758.    va_end(ap);
  759.    return __somResult;
  760. }
  761.  
  762.  
  763. /* va_list method: somDispatchA */
  764.  
  765. /*
  766.  *  Obsolete. Use somDispatch instead.
  767.  */
  768. /* the va_list invocation form */
  769. void*   ooxlogical_somDispatchA(somId methodId, 
  770.         somId descriptor, 
  771.         va_list ap)
  772. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchA)
  773.     (this,methodId,descriptor,ap);
  774. }
  775.  
  776. /* the varargs invocation form */
  777. void*   somDispatchA(somId methodId, 
  778.         somId descriptor, 
  779.         ...)
  780. {
  781. /*
  782.  *  Obsolete. Use somDispatch instead.
  783.  */
  784.    va_list ap;
  785.    va_start(ap, descriptor);
  786.    void* __somResult = 
  787.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchA)
  788.     (this,methodId,descriptor,ap);
  789.    va_end(ap);
  790.    return __somResult;
  791. }
  792.  
  793.  
  794. /* va_list method: somDispatchD */
  795.  
  796. /*
  797.  *  Obsolete. Use somDispatch instead.
  798.  */
  799. /* the va_list invocation form */
  800. double   ooxlogical_somDispatchD(somId methodId, 
  801.         somId descriptor, 
  802.         va_list ap)
  803. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchD)
  804.     (this,methodId,descriptor,ap);
  805. }
  806.  
  807. /* the varargs invocation form */
  808. double   somDispatchD(somId methodId, 
  809.         somId descriptor, 
  810.         ...)
  811. {
  812. /*
  813.  *  Obsolete. Use somDispatch instead.
  814.  */
  815.    va_list ap;
  816.    va_start(ap, descriptor);
  817.    double __somResult = 
  818.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchD)
  819.     (this,methodId,descriptor,ap);
  820.    va_end(ap);
  821.    return __somResult;
  822. }
  823.  
  824.  
  825. /* method: somPrintSelf */
  826. SOMObject*   somPrintSelf()
  827. {
  828. /*
  829.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  830.  *  information about this object.  The default implementation just gives
  831.  *  the object's class name and its address in memory.
  832.  *  <self> is returned.
  833.  */
  834.    return SOM_ResolveD(this,ooxlogical,SOMObject,somPrintSelf)
  835.     (this);
  836. }
  837.  
  838.  
  839. /* method: somDumpSelf */
  840. void   somDumpSelf(long level)
  841. {
  842. /*
  843.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  844.  *  and its current state.
  845.  * 
  846.  *  <level> indicates the nesting level for describing compound objects
  847.  *  it must be greater than or equal to zero.  All lines in the
  848.  *  description will be preceeded by <2*level> spaces.
  849.  * 
  850.  *  This routine only actually writes the data that concerns the object
  851.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  852.  *  the object's current state.  This approach allows readable
  853.  *  descriptions of compound objects to be constructed.
  854.  * 
  855.  *  Generally it is not necessary to override this method, if it is
  856.  *  overriden it generally must be completely replaced.
  857.  */
  858.    SOM_ResolveD(this,ooxlogical,SOMObject,somDumpSelf)
  859.     (this,level);
  860. }
  861.  
  862.  
  863. /* method: somDumpSelfInt */
  864. void   somDumpSelfInt(long level)
  865. {
  866. /*
  867.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  868.  *  Generally this method will need to be overridden.  When overriding
  869.  *  it, begin by calling the parent class form of this method and then
  870.  *  write in a description of your class's instance data. This will
  871.  *  result in a description of all the object's instance data going
  872.  *  from its root ancestor class to its specific class.
  873.  */
  874.    SOM_ResolveD(this,ooxlogical,SOMObject,somDumpSelfInt)
  875.     (this,level);
  876. }
  877.  
  878.  
  879.  
  880. };   /* ooxlogical */
  881.  
  882.  
  883.  
  884. #endif       /* SOM_ooxlogical_xh */
  885.