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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxcharacter.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxcharacter_xh
  11. #define SOM_ooxcharacter_xh
  12.  
  13. class ooxcharacter;
  14.  
  15. #define ooxcharacter_MajorVersion 0
  16. #define ooxcharacter_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 ooxcharacter_API
  28. #define ooxcharacter_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_ooxcharacter_ooxfield_error "::ooxcharacter::ooxfield_error"
  40. typedef
  41. struct ooxcharacter_ooxfield_error {
  42. long  ErrCode;
  43. string  Reason;
  44. } ooxcharacter_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_ooxcharacter_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 ooxcharacter_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 ooxcharacter Class */
  70. SOMEXTERN SOMClass * SOMLINK ooxcharacterNewClass(
  71.         integer4 majorVersion,
  72.         integer4 minorVersion);
  73.  
  74. /* The API to the ooxcharacter class object, and the methods it introduces. */
  75. SOMEXTERN struct ooxcharacterClassDataStructure {
  76.     SOMClass *classObject;
  77.     somMToken define;
  78. } SOMDLINK ooxcharacterClassData;
  79. #define _ooxcharacter ooxcharacterClassData.classObject
  80.  
  81. /* The API to parentMtabs for ooxcharacter, and the instance data it introduces. */
  82. SOMEXTERN struct ooxcharacterCClassDataStructure {
  83.     somMethodTabs parentMtab;
  84.     somDToken              instanceDataToken;
  85. } SOMDLINK ooxcharacterCClassData;
  86.  
  87. /*
  88.  * -- Typedefs for ooxcharacter Method Procedures
  89.  */
  90. SOMEXTERN {
  91. typedef void   SOMLINK somTP_ooxcharacter_define(ooxcharacter *somSelf, Environment *ev, 
  92.         somInitCtrl* ctrl, 
  93.         string name, 
  94.         short length);
  95. typedef somTP_ooxcharacter_define *somTD_ooxcharacter_define;
  96.  
  97. /*
  98.  * -- Typedefs for Reintroduced Wrapper Methods
  99.  */
  100. typedef string   SOMLINK somTP_ooxcharacter_get_name(ooxcharacter *somSelf, Environment *ev);
  101. typedef somTP_ooxcharacter_get_name *somTD_ooxcharacter_get_name;
  102. typedef string   SOMLINK somTP_ooxcharacter_get(ooxcharacter *somSelf, Environment *ev);
  103. typedef somTP_ooxcharacter_get *somTD_ooxcharacter_get;
  104. typedef long   SOMLINK somTP_ooxcharacter_put(ooxcharacter *somSelf, Environment *ev, 
  105.         string datum);
  106. typedef somTP_ooxcharacter_put *somTD_ooxcharacter_put;
  107. typedef char   SOMLINK somTP_ooxcharacter_get_type(ooxcharacter *somSelf, Environment *ev);
  108. typedef somTP_ooxcharacter_get_type *somTD_ooxcharacter_get_type;
  109. typedef short   SOMLINK somTP_ooxcharacter_get_length(ooxcharacter *somSelf, Environment *ev);
  110. typedef somTP_ooxcharacter_get_length *somTD_ooxcharacter_get_length;
  111. typedef short   SOMLINK somTP_ooxcharacter_get_dec_point(ooxcharacter *somSelf, Environment *ev);
  112. typedef somTP_ooxcharacter_get_dec_point *somTD_ooxcharacter_get_dec_point;
  113. typedef void   SOMLINK somTP_ooxcharacter_somDefaultInit(ooxcharacter *somSelf, 
  114.         som3InitCtrl* ctrl);
  115. typedef somTP_ooxcharacter_somDefaultInit *somTD_ooxcharacter_somDefaultInit;
  116. typedef void   SOMLINK somTP_ooxcharacter_somUninit(ooxcharacter *somSelf);
  117. typedef somTP_ooxcharacter_somUninit *somTD_ooxcharacter_somUninit;
  118. typedef void   SOMLINK somTP_ooxcharacter_somDestruct(ooxcharacter *somSelf, 
  119.         octet doFree, 
  120.         som3DestructCtrl* ctrl);
  121. typedef somTP_ooxcharacter_somDestruct *somTD_ooxcharacter_somDestruct;
  122. typedef void   SOMLINK somTP_ooxcharacter_somDefaultCopyInit(ooxcharacter *somSelf, 
  123.         som3InitCtrl* ctrl, 
  124.         SOMObject* fromObj);
  125. typedef somTP_ooxcharacter_somDefaultCopyInit *somTD_ooxcharacter_somDefaultCopyInit;
  126. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultAssign(ooxcharacter *somSelf, 
  127.         som3AssignCtrl* ctrl, 
  128.         SOMObject* fromObj);
  129. typedef somTP_ooxcharacter_somDefaultAssign *somTD_ooxcharacter_somDefaultAssign;
  130. typedef void   SOMLINK somTP_ooxcharacter_somDefaultConstCopyInit(ooxcharacter *somSelf, 
  131.         som3InitCtrl* ctrl, 
  132.         SOMObject* fromObj);
  133. typedef somTP_ooxcharacter_somDefaultConstCopyInit *somTD_ooxcharacter_somDefaultConstCopyInit;
  134. typedef void   SOMLINK somTP_ooxcharacter_somDefaultVCopyInit(ooxcharacter *somSelf, 
  135.         som3InitCtrl* ctrl, 
  136.         SOMObject* fromObj);
  137. typedef somTP_ooxcharacter_somDefaultVCopyInit *somTD_ooxcharacter_somDefaultVCopyInit;
  138. typedef void   SOMLINK somTP_ooxcharacter_somDefaultConstVCopyInit(ooxcharacter *somSelf, 
  139.         som3InitCtrl* ctrl, 
  140.         SOMObject* fromObj);
  141. typedef somTP_ooxcharacter_somDefaultConstVCopyInit *somTD_ooxcharacter_somDefaultConstVCopyInit;
  142. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultConstAssign(ooxcharacter *somSelf, 
  143.         som3AssignCtrl* ctrl, 
  144.         SOMObject* fromObj);
  145. typedef somTP_ooxcharacter_somDefaultConstAssign *somTD_ooxcharacter_somDefaultConstAssign;
  146. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultVAssign(ooxcharacter *somSelf, 
  147.         som3AssignCtrl* ctrl, 
  148.         SOMObject* fromObj);
  149. typedef somTP_ooxcharacter_somDefaultVAssign *somTD_ooxcharacter_somDefaultVAssign;
  150. typedef ooxcharacter*   SOMLINK somTP_ooxcharacter_somDefaultConstVAssign(ooxcharacter *somSelf, 
  151.         som3AssignCtrl* ctrl, 
  152.         SOMObject* fromObj);
  153. typedef somTP_ooxcharacter_somDefaultConstVAssign *somTD_ooxcharacter_somDefaultConstVAssign;
  154. typedef void   SOMLINK somTP_ooxcharacter_somInit(ooxcharacter *somSelf);
  155. typedef somTP_ooxcharacter_somInit *somTD_ooxcharacter_somInit;
  156. typedef void   SOMLINK somTP_ooxcharacter_somFree(ooxcharacter *somSelf);
  157. typedef somTP_ooxcharacter_somFree *somTD_ooxcharacter_somFree;
  158. typedef SOMClass*   SOMLINK somTP_ooxcharacter_somGetClass(ooxcharacter *somSelf);
  159. typedef somTP_ooxcharacter_somGetClass *somTD_ooxcharacter_somGetClass;
  160. typedef string   SOMLINK somTP_ooxcharacter_somGetClassName(ooxcharacter *somSelf);
  161. typedef somTP_ooxcharacter_somGetClassName *somTD_ooxcharacter_somGetClassName;
  162. typedef long   SOMLINK somTP_ooxcharacter_somGetSize(ooxcharacter *somSelf);
  163. typedef somTP_ooxcharacter_somGetSize *somTD_ooxcharacter_somGetSize;
  164. typedef boolean   SOMLINK somTP_ooxcharacter_somIsA(ooxcharacter *somSelf, 
  165.         SOMClass* aClassObj);
  166. typedef somTP_ooxcharacter_somIsA *somTD_ooxcharacter_somIsA;
  167. typedef boolean   SOMLINK somTP_ooxcharacter_somIsInstanceOf(ooxcharacter *somSelf, 
  168.         SOMClass* aClassObj);
  169. typedef somTP_ooxcharacter_somIsInstanceOf *somTD_ooxcharacter_somIsInstanceOf;
  170. typedef boolean   SOMLINK somTP_ooxcharacter_somRespondsTo(ooxcharacter *somSelf, 
  171.         somId mId);
  172. typedef somTP_ooxcharacter_somRespondsTo *somTD_ooxcharacter_somRespondsTo;
  173. typedef boolean   SOMLINK somTP_ooxcharacter_somDispatch(ooxcharacter *somSelf, 
  174.         somToken* retValue, 
  175.         somId methodId, 
  176.         va_list ap);
  177. typedef somTP_ooxcharacter_somDispatch *somTD_ooxcharacter_somDispatch;
  178. typedef boolean   SOMLINK somTP_ooxcharacter_somClassDispatch(ooxcharacter *somSelf, 
  179.         SOMClass* clsObj, 
  180.         somToken* retValue, 
  181.         somId methodId, 
  182.         va_list ap);
  183. typedef somTP_ooxcharacter_somClassDispatch *somTD_ooxcharacter_somClassDispatch;
  184. typedef boolean   SOMLINK somTP_ooxcharacter_somCastObj(ooxcharacter *somSelf, 
  185.         SOMClass* cls);
  186. typedef somTP_ooxcharacter_somCastObj *somTD_ooxcharacter_somCastObj;
  187. typedef boolean   SOMLINK somTP_ooxcharacter_somResetObj(ooxcharacter *somSelf);
  188. typedef somTP_ooxcharacter_somResetObj *somTD_ooxcharacter_somResetObj;
  189. typedef void   SOMLINK somTP_ooxcharacter_somDispatchV(ooxcharacter *somSelf, 
  190.         somId methodId, 
  191.         somId descriptor, 
  192.         va_list ap);
  193. typedef somTP_ooxcharacter_somDispatchV *somTD_ooxcharacter_somDispatchV;
  194. typedef long   SOMLINK somTP_ooxcharacter_somDispatchL(ooxcharacter *somSelf, 
  195.         somId methodId, 
  196.         somId descriptor, 
  197.         va_list ap);
  198. typedef somTP_ooxcharacter_somDispatchL *somTD_ooxcharacter_somDispatchL;
  199. typedef void*   SOMLINK somTP_ooxcharacter_somDispatchA(ooxcharacter *somSelf, 
  200.         somId methodId, 
  201.         somId descriptor, 
  202.         va_list ap);
  203. typedef somTP_ooxcharacter_somDispatchA *somTD_ooxcharacter_somDispatchA;
  204. typedef double   SOMLINK somTP_ooxcharacter_somDispatchD(ooxcharacter *somSelf, 
  205.         somId methodId, 
  206.         somId descriptor, 
  207.         va_list ap);
  208. typedef somTP_ooxcharacter_somDispatchD *somTD_ooxcharacter_somDispatchD;
  209. typedef SOMObject*   SOMLINK somTP_ooxcharacter_somPrintSelf(ooxcharacter *somSelf);
  210. typedef somTP_ooxcharacter_somPrintSelf *somTD_ooxcharacter_somPrintSelf;
  211. typedef void   SOMLINK somTP_ooxcharacter_somDumpSelf(ooxcharacter *somSelf, 
  212.         long level);
  213. typedef somTP_ooxcharacter_somDumpSelf *somTD_ooxcharacter_somDumpSelf;
  214. typedef void   SOMLINK somTP_ooxcharacter_somDumpSelfInt(ooxcharacter *somSelf, 
  215.         long level);
  216. typedef somTP_ooxcharacter_somDumpSelfInt *somTD_ooxcharacter_somDumpSelfInt;
  217. }
  218.  
  219. #endif /* ooxcharacter_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 ooxcharacter
  231.  */
  232. class ooxcharacter : public ooxfield
  233. {
  234. public:
  235.  
  236. // ooxcharacter::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 (!_ooxcharacter) ooxcharacterNewClass(ooxcharacter_MajorVersion,ooxcharacter_MinorVersion);
  241.    return (void*)
  242.       SOM_Resolve(_ooxcharacter,SOMClass,somNewNoInit)
  243.          ((SOMClass *)((void*)_ooxcharacter));
  244. }
  245.  
  246. // ooxcharacter::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. ooxcharacter& operator=(ooxcharacter& fromObj)
  256. {
  257.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  258.    return *this;
  259. }
  260.  
  261. ooxcharacter()
  262. {
  263.    if (*(void**)this != 
  264.        ((somParentMtabStructPtr)
  265.         (ooxcharacterCClassData.parentMtab))->mtab)
  266.       return;
  267.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  268. }
  269.  
  270. ooxcharacter(ooxcharacter* fromObj)
  271. {
  272.    if (*(void**)this != 
  273.        ((somParentMtabStructPtr)
  274.         (ooxcharacterCClassData.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. ooxcharacter(const ooxcharacter* fromObj)
  283. {
  284.    if (*(void**)this != 
  285.        ((somParentMtabStructPtr)
  286.         (ooxcharacterCClassData.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. ooxcharacter(Environment *ev,string name,short length) 
  295. {
  296.    define(ev,0,name,length);
  297. }
  298.  
  299.  
  300. /* initializer method: define */
  301. void   define(Environment *ev, 
  302.         somInitCtrl* ctrl, 
  303.         string name, 
  304.         short length)
  305. {
  306.    SOM_ResolveD(this,ooxcharacter,ooxcharacter,define)
  307.     (this, ev,ctrl,name,length);
  308. }
  309.  
  310.  
  311. /*
  312.  * Reintroduce inherited methods
  313.  */
  314.  
  315. /* method: get_name */
  316. string   get_name(Environment *ev)
  317. {
  318.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_name)
  319.     (this, ev);
  320. }
  321.  
  322.  
  323. /* method: get */
  324. string   get(Environment *ev)
  325. {
  326.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get)
  327.     (this, ev);
  328. }
  329.  
  330.  
  331. /* method: put */
  332. long   put(Environment *ev, 
  333.         string datum)
  334. {
  335.    return SOM_ResolveD(this,ooxcharacter,ooxfield,put)
  336.     (this, ev,datum);
  337. }
  338.  
  339.  
  340. /* method: get_type */
  341. char   get_type(Environment *ev)
  342. {
  343.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_type)
  344.     (this, ev);
  345. }
  346.  
  347.  
  348. /* method: get_length */
  349. short   get_length(Environment *ev)
  350. {
  351.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_length)
  352.     (this, ev);
  353. }
  354.  
  355.  
  356. /* method: get_dec_point */
  357. short   get_dec_point(Environment *ev)
  358. {
  359.    return SOM_ResolveD(this,ooxcharacter,ooxfield,get_dec_point)
  360.     (this, ev);
  361. }
  362.  
  363.  
  364. /* initializer method: somDefaultInit */
  365. void   somDefaultInit(som3InitCtrl* ctrl)
  366. {
  367.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultInit)
  368.     (this,ctrl);
  369. }
  370.  
  371.  
  372. /* method: somUninit */
  373. void   somUninit()
  374. {
  375.    SOM_ResolveD(this,ooxcharacter,SOMObject,somUninit)
  376.     (this);
  377. }
  378.  
  379.  
  380. /* method: somDestruct */
  381. void   somDestruct(octet doFree, 
  382.         som3DestructCtrl* ctrl)
  383. {
  384. /*
  385.  *  The default destructor for a SOM object. A nonzero <doFree>
  386.  *  indicates that the object storage should be freed by the
  387.  *  object's class (via somDeallocate) after uninitialization.
  388.  *  As with somDefaultInit, a null ctrl can be passed.
  389.  */
  390.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDestruct)
  391.     (this,doFree,ctrl);
  392. }
  393.  
  394.  
  395. /* initializer method: somDefaultCopyInit */
  396. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  397.         SOMObject* fromObj)
  398. {
  399. /*
  400.  *  A default copy constructor. Use this to make copies of objects for
  401.  *  calling methods with "by-value" argument semantics.
  402.  */
  403.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultCopyInit)
  404.     (this,ctrl,fromObj);
  405. }
  406.  
  407.  
  408. /* method: somDefaultAssign */
  409. ooxcharacter*  somDefaultAssign(som3AssignCtrl* ctrl, 
  410.         SOMObject* fromObj)
  411. {
  412. /*
  413.  *  A default assignment operator. Use this to "assign" the state of one
  414.  *  object to another.
  415.  */
  416.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultAssign)
  417.     (this,ctrl,fromObj);
  418. }
  419.  
  420.  
  421. /* initializer method: somDefaultConstCopyInit */
  422. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  423.         SOMObject* fromObj)
  424. {
  425. /*
  426.  *  A default copy constructor that uses a const fromObj.
  427.  */
  428.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstCopyInit)
  429.     (this,ctrl,fromObj);
  430. }
  431.  
  432.  
  433. /* initializer method: somDefaultVCopyInit */
  434. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  435.         SOMObject* fromObj)
  436. {
  437. /*
  438.  *  A default copy constructor that uses a volatile fromObj.
  439.  */
  440.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultVCopyInit)
  441.     (this,ctrl,fromObj);
  442. }
  443.  
  444.  
  445. /* initializer method: somDefaultConstVCopyInit */
  446. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  447.         SOMObject* fromObj)
  448. {
  449. /*
  450.  *  A default copy constructor that uses a const volatile fromObj.
  451.  */
  452.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstVCopyInit)
  453.     (this,ctrl,fromObj);
  454. }
  455.  
  456.  
  457. /* method: somDefaultConstAssign */
  458. ooxcharacter*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  459.         SOMObject* fromObj)
  460. {
  461. /*
  462.  *  A default assignment operator that uses a const fromObj.
  463.  */
  464.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstAssign)
  465.     (this,ctrl,fromObj);
  466. }
  467.  
  468.  
  469. /* method: somDefaultVAssign */
  470. ooxcharacter*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  471.         SOMObject* fromObj)
  472. {
  473. /*
  474.  *  A default assignment operator that uses a volatile fromObj.
  475.  */
  476.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultVAssign)
  477.     (this,ctrl,fromObj);
  478. }
  479.  
  480.  
  481. /* method: somDefaultConstVAssign */
  482. ooxcharacter*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  483.         SOMObject* fromObj)
  484. {
  485. /*
  486.  *  A default assignment operator that uses a const volatile fromObj.
  487.  */
  488.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somDefaultConstVAssign)
  489.     (this,ctrl,fromObj);
  490. }
  491.  
  492.  
  493. /* method: somInit */
  494. void   somInit()
  495. {
  496. /*
  497.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  498.  */
  499.    SOM_ResolveD(this,ooxcharacter,SOMObject,somInit)
  500.     (this);
  501. }
  502.  
  503.  
  504. /* method: somFree */
  505. void   somFree()
  506. {
  507. /*
  508.  *  Use as directed by framework implementations.
  509.  */
  510.    SOM_ResolveD(this,ooxcharacter,SOMObject,somFree)
  511.     (this);
  512. }
  513.  
  514.  
  515. /* method: somGetClass */
  516. SOMClass*   somGetClass()
  517. {
  518. /*
  519.  *  Return the receiver's class.
  520.  */
  521.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somGetClass)
  522.     (this);
  523. }
  524.  
  525.  
  526. /* method: somGetClassName */
  527. string   somGetClassName()
  528. {
  529. /*
  530.  *  Return the name of the receiver's class.
  531.  */
  532.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somGetClassName)
  533.     (this);
  534. }
  535.  
  536.  
  537. /* method: somGetSize */
  538. long   somGetSize()
  539. {
  540. /*
  541.  *  Return the size of the receiver.
  542.  */
  543.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somGetSize)
  544.     (this);
  545. }
  546.  
  547.  
  548. /* method: somIsA */
  549. boolean   somIsA(SOMClass* aClassObj)
  550. {
  551. /*
  552.  *  Returns 1 (true) if the receiver responds to methods
  553.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  554.  */
  555.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somIsA)
  556.     (this,aClassObj);
  557. }
  558.  
  559.  
  560. /* method: somIsInstanceOf */
  561. boolean   somIsInstanceOf(SOMClass* aClassObj)
  562. {
  563. /*
  564.  *  Returns 1 (true) if the receiver is an instance of
  565.  *  <aClassObj> and 0 (false) otherwise.
  566.  */
  567.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somIsInstanceOf)
  568.     (this,aClassObj);
  569. }
  570.  
  571.  
  572. /* method: somRespondsTo */
  573. boolean   somRespondsTo(somId mId)
  574. {
  575. /*
  576.  *  Returns 1 (true) if the indicated method can be invoked
  577.  *  on the receiver and 0 (false) otherwise.
  578.  */
  579.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somRespondsTo)
  580.     (this,mId);
  581. }
  582.  
  583.  
  584. /* va_list method: somDispatch */
  585.  
  586. /*
  587.  *  This method provides a generic, class-specific dispatch mechanism.
  588.  *  It accepts as input <retValue> a pointer to the memory area to be
  589.  *  loaded with the result of dispatching the method indicated by
  590.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  591.  *  on which the method is to be invoked as the first argument.
  592.  */
  593. /* the va_list invocation form */
  594. boolean   ooxcharacter_somDispatch(somToken* retValue, 
  595.         somId methodId, 
  596.         va_list ap)
  597. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatch)
  598.     (this,retValue,methodId,ap);
  599. }
  600.  
  601. /* the varargs invocation form */
  602. boolean   somDispatch(somToken* retValue, 
  603.         somId methodId, 
  604.         ...)
  605. {
  606. /*
  607.  *  This method provides a generic, class-specific dispatch mechanism.
  608.  *  It accepts as input <retValue> a pointer to the memory area to be
  609.  *  loaded with the result of dispatching the method indicated by
  610.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  611.  *  on which the method is to be invoked as the first argument.
  612.  */
  613.    va_list ap;
  614.    va_start(ap, methodId);
  615.    boolean __somResult = 
  616.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatch)
  617.     (this,retValue,methodId,ap);
  618.    va_end(ap);
  619.    return __somResult;
  620. }
  621.  
  622.  
  623. /* va_list method: somClassDispatch */
  624.  
  625. /*
  626.  *  Like somDispatch, but method resolution for static methods is done
  627.  *  according to the clsObj instance method table.
  628.  */
  629. /* the va_list invocation form */
  630. boolean   ooxcharacter_somClassDispatch(SOMClass* clsObj, 
  631.         somToken* retValue, 
  632.         somId methodId, 
  633.         va_list ap)
  634. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somClassDispatch)
  635.     (this,clsObj,retValue,methodId,ap);
  636. }
  637.  
  638. /* the varargs invocation form */
  639. boolean   somClassDispatch(SOMClass* clsObj, 
  640.         somToken* retValue, 
  641.         somId methodId, 
  642.         ...)
  643. {
  644. /*
  645.  *  Like somDispatch, but method resolution for static methods is done
  646.  *  according to the clsObj instance method table.
  647.  */
  648.    va_list ap;
  649.    va_start(ap, methodId);
  650.    boolean __somResult = 
  651.       SOM_ResolveD(this,ooxcharacter,SOMObject,somClassDispatch)
  652.     (this,clsObj,retValue,methodId,ap);
  653.    va_end(ap);
  654.    return __somResult;
  655. }
  656.  
  657.  
  658. /* method: somCastObj */
  659. boolean   somCastObj(SOMClass* cls)
  660. {
  661. /*
  662.  *  cast the receiving object to cls (which must be an ancestor of the
  663.  *  objects true class. Returns true on success.
  664.  */
  665.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somCastObj)
  666.     (this,cls);
  667. }
  668.  
  669.  
  670. /* method: somResetObj */
  671. boolean   somResetObj()
  672. {
  673. /*
  674.  *  reset an object to its true class. Returns true always.
  675.  */
  676.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somResetObj)
  677.     (this);
  678. }
  679.  
  680.  
  681. /* va_list method: somDispatchV */
  682.  
  683. /*
  684.  *  Obsolete. Use somDispatch instead.
  685.  */
  686. /* the va_list invocation form */
  687. void   ooxcharacter_somDispatchV(somId methodId, 
  688.         somId descriptor, 
  689.         va_list ap)
  690. {   SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchV)
  691.     (this,methodId,descriptor,ap);
  692. }
  693.  
  694. /* the varargs invocation form */
  695. void   somDispatchV(somId methodId, 
  696.         somId descriptor, 
  697.         ...)
  698. {
  699. /*
  700.  *  Obsolete. Use somDispatch instead.
  701.  */
  702.    va_list ap;
  703.    va_start(ap, descriptor);
  704.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchV)
  705.     (this,methodId,descriptor,ap);
  706.    va_end(ap);
  707. }
  708.  
  709.  
  710. /* va_list method: somDispatchL */
  711.  
  712. /*
  713.  *  Obsolete. Use somDispatch instead.
  714.  */
  715. /* the va_list invocation form */
  716. long   ooxcharacter_somDispatchL(somId methodId, 
  717.         somId descriptor, 
  718.         va_list ap)
  719. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchL)
  720.     (this,methodId,descriptor,ap);
  721. }
  722.  
  723. /* the varargs invocation form */
  724. long   somDispatchL(somId methodId, 
  725.         somId descriptor, 
  726.         ...)
  727. {
  728. /*
  729.  *  Obsolete. Use somDispatch instead.
  730.  */
  731.    va_list ap;
  732.    va_start(ap, descriptor);
  733.    long __somResult = 
  734.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchL)
  735.     (this,methodId,descriptor,ap);
  736.    va_end(ap);
  737.    return __somResult;
  738. }
  739.  
  740.  
  741. /* va_list method: somDispatchA */
  742.  
  743. /*
  744.  *  Obsolete. Use somDispatch instead.
  745.  */
  746. /* the va_list invocation form */
  747. void*   ooxcharacter_somDispatchA(somId methodId, 
  748.         somId descriptor, 
  749.         va_list ap)
  750. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchA)
  751.     (this,methodId,descriptor,ap);
  752. }
  753.  
  754. /* the varargs invocation form */
  755. void*   somDispatchA(somId methodId, 
  756.         somId descriptor, 
  757.         ...)
  758. {
  759. /*
  760.  *  Obsolete. Use somDispatch instead.
  761.  */
  762.    va_list ap;
  763.    va_start(ap, descriptor);
  764.    void* __somResult = 
  765.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchA)
  766.     (this,methodId,descriptor,ap);
  767.    va_end(ap);
  768.    return __somResult;
  769. }
  770.  
  771.  
  772. /* va_list method: somDispatchD */
  773.  
  774. /*
  775.  *  Obsolete. Use somDispatch instead.
  776.  */
  777. /* the va_list invocation form */
  778. double   ooxcharacter_somDispatchD(somId methodId, 
  779.         somId descriptor, 
  780.         va_list ap)
  781. {return SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchD)
  782.     (this,methodId,descriptor,ap);
  783. }
  784.  
  785. /* the varargs invocation form */
  786. double   somDispatchD(somId methodId, 
  787.         somId descriptor, 
  788.         ...)
  789. {
  790. /*
  791.  *  Obsolete. Use somDispatch instead.
  792.  */
  793.    va_list ap;
  794.    va_start(ap, descriptor);
  795.    double __somResult = 
  796.       SOM_ResolveD(this,ooxcharacter,SOMObject,somDispatchD)
  797.     (this,methodId,descriptor,ap);
  798.    va_end(ap);
  799.    return __somResult;
  800. }
  801.  
  802.  
  803. /* method: somPrintSelf */
  804. SOMObject*   somPrintSelf()
  805. {
  806. /*
  807.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  808.  *  information about this object.  The default implementation just gives
  809.  *  the object's class name and its address in memory.
  810.  *  <self> is returned.
  811.  */
  812.    return SOM_ResolveD(this,ooxcharacter,SOMObject,somPrintSelf)
  813.     (this);
  814. }
  815.  
  816.  
  817. /* method: somDumpSelf */
  818. void   somDumpSelf(long level)
  819. {
  820. /*
  821.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  822.  *  and its current state.
  823.  * 
  824.  *  <level> indicates the nesting level for describing compound objects
  825.  *  it must be greater than or equal to zero.  All lines in the
  826.  *  description will be preceeded by <2*level> spaces.
  827.  * 
  828.  *  This routine only actually writes the data that concerns the object
  829.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  830.  *  the object's current state.  This approach allows readable
  831.  *  descriptions of compound objects to be constructed.
  832.  * 
  833.  *  Generally it is not necessary to override this method, if it is
  834.  *  overriden it generally must be completely replaced.
  835.  */
  836.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDumpSelf)
  837.     (this,level);
  838. }
  839.  
  840.  
  841. /* method: somDumpSelfInt */
  842. void   somDumpSelfInt(long level)
  843. {
  844. /*
  845.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  846.  *  Generally this method will need to be overridden.  When overriding
  847.  *  it, begin by calling the parent class form of this method and then
  848.  *  write in a description of your class's instance data. This will
  849.  *  result in a description of all the object's instance data going
  850.  *  from its root ancestor class to its specific class.
  851.  */
  852.    SOM_ResolveD(this,ooxcharacter,SOMObject,somDumpSelfInt)
  853.     (this,level);
  854. }
  855.  
  856.  
  857.  
  858. };   /* ooxcharacter */
  859.  
  860.  
  861.  
  862. #endif       /* SOM_ooxcharacter_xh */
  863.