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

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