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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxdate.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxdate_xh
  11. #define SOM_ooxdate_xh
  12.  
  13. class ooxdate;
  14.  
  15. #define ooxdate_MajorVersion 0
  16. #define ooxdate_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 ooxdate_API
  28. #define ooxdate_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_ooxdate_ooxfield_error "::ooxdate::ooxfield_error"
  40. typedef
  41. struct ooxdate_ooxfield_error {
  42. long  ErrCode;
  43. string  Reason;
  44. } ooxdate_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_ooxdate_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 ooxdate_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 ooxdate Class */
  70. SOMEXTERN SOMClass * SOMLINK ooxdateNewClass(
  71.         integer4 majorVersion,
  72.         integer4 minorVersion);
  73.  
  74. /* The API to the ooxdate class object, and the methods it introduces. */
  75. SOMEXTERN struct ooxdateClassDataStructure {
  76.     SOMClass *classObject;
  77.     somMToken define;
  78.     somMToken get_month;
  79.     somMToken get_day;
  80.     somMToken get_year;
  81.     somMToken put_month;
  82.     somMToken put_day;
  83.     somMToken put_year;
  84. } SOMDLINK ooxdateClassData;
  85. #define _ooxdate ooxdateClassData.classObject
  86.  
  87. /* The API to parentMtabs for ooxdate, and the instance data it introduces. */
  88. SOMEXTERN struct ooxdateCClassDataStructure {
  89.     somMethodTabs parentMtab;
  90.     somDToken              instanceDataToken;
  91. } SOMDLINK ooxdateCClassData;
  92.  
  93. /*
  94.  * -- Typedefs for ooxdate Method Procedures
  95.  */
  96. SOMEXTERN {
  97. typedef void   SOMLINK somTP_ooxdate_define(ooxdate *somSelf, Environment *ev, 
  98.         somInitCtrl* ctrl, 
  99.         string name);
  100. typedef somTP_ooxdate_define *somTD_ooxdate_define;
  101. typedef short   SOMLINK somTP_ooxdate_get_month(ooxdate *somSelf, Environment *ev);
  102. typedef somTP_ooxdate_get_month *somTD_ooxdate_get_month;
  103. typedef short   SOMLINK somTP_ooxdate_get_day(ooxdate *somSelf, Environment *ev);
  104. typedef somTP_ooxdate_get_day *somTD_ooxdate_get_day;
  105. typedef short   SOMLINK somTP_ooxdate_get_year(ooxdate *somSelf, Environment *ev);
  106. typedef somTP_ooxdate_get_year *somTD_ooxdate_get_year;
  107. typedef void   SOMLINK somTP_ooxdate_put_month(ooxdate *somSelf, Environment *ev, 
  108.         short month);
  109. typedef somTP_ooxdate_put_month *somTD_ooxdate_put_month;
  110. typedef void   SOMLINK somTP_ooxdate_put_day(ooxdate *somSelf, Environment *ev, 
  111.         short day);
  112. typedef somTP_ooxdate_put_day *somTD_ooxdate_put_day;
  113. typedef void   SOMLINK somTP_ooxdate_put_year(ooxdate *somSelf, Environment *ev, 
  114.         short year);
  115. typedef somTP_ooxdate_put_year *somTD_ooxdate_put_year;
  116.  
  117. /*
  118.  * -- Typedefs for Reintroduced Wrapper Methods
  119.  */
  120. typedef string   SOMLINK somTP_ooxdate_get_name(ooxdate *somSelf, Environment *ev);
  121. typedef somTP_ooxdate_get_name *somTD_ooxdate_get_name;
  122. typedef string   SOMLINK somTP_ooxdate_get(ooxdate *somSelf, Environment *ev);
  123. typedef somTP_ooxdate_get *somTD_ooxdate_get;
  124. typedef long   SOMLINK somTP_ooxdate_put(ooxdate *somSelf, Environment *ev, 
  125.         string datum);
  126. typedef somTP_ooxdate_put *somTD_ooxdate_put;
  127. typedef char   SOMLINK somTP_ooxdate_get_type(ooxdate *somSelf, Environment *ev);
  128. typedef somTP_ooxdate_get_type *somTD_ooxdate_get_type;
  129. typedef short   SOMLINK somTP_ooxdate_get_length(ooxdate *somSelf, Environment *ev);
  130. typedef somTP_ooxdate_get_length *somTD_ooxdate_get_length;
  131. typedef short   SOMLINK somTP_ooxdate_get_dec_point(ooxdate *somSelf, Environment *ev);
  132. typedef somTP_ooxdate_get_dec_point *somTD_ooxdate_get_dec_point;
  133. typedef void   SOMLINK somTP_ooxdate_somDefaultInit(ooxdate *somSelf, 
  134.         som3InitCtrl* ctrl);
  135. typedef somTP_ooxdate_somDefaultInit *somTD_ooxdate_somDefaultInit;
  136. typedef void   SOMLINK somTP_ooxdate_somUninit(ooxdate *somSelf);
  137. typedef somTP_ooxdate_somUninit *somTD_ooxdate_somUninit;
  138. typedef void   SOMLINK somTP_ooxdate_somDestruct(ooxdate *somSelf, 
  139.         octet doFree, 
  140.         som3DestructCtrl* ctrl);
  141. typedef somTP_ooxdate_somDestruct *somTD_ooxdate_somDestruct;
  142. typedef void   SOMLINK somTP_ooxdate_somDefaultCopyInit(ooxdate *somSelf, 
  143.         som3InitCtrl* ctrl, 
  144.         SOMObject* fromObj);
  145. typedef somTP_ooxdate_somDefaultCopyInit *somTD_ooxdate_somDefaultCopyInit;
  146. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultAssign(ooxdate *somSelf, 
  147.         som3AssignCtrl* ctrl, 
  148.         SOMObject* fromObj);
  149. typedef somTP_ooxdate_somDefaultAssign *somTD_ooxdate_somDefaultAssign;
  150. typedef void   SOMLINK somTP_ooxdate_somDefaultConstCopyInit(ooxdate *somSelf, 
  151.         som3InitCtrl* ctrl, 
  152.         SOMObject* fromObj);
  153. typedef somTP_ooxdate_somDefaultConstCopyInit *somTD_ooxdate_somDefaultConstCopyInit;
  154. typedef void   SOMLINK somTP_ooxdate_somDefaultVCopyInit(ooxdate *somSelf, 
  155.         som3InitCtrl* ctrl, 
  156.         SOMObject* fromObj);
  157. typedef somTP_ooxdate_somDefaultVCopyInit *somTD_ooxdate_somDefaultVCopyInit;
  158. typedef void   SOMLINK somTP_ooxdate_somDefaultConstVCopyInit(ooxdate *somSelf, 
  159.         som3InitCtrl* ctrl, 
  160.         SOMObject* fromObj);
  161. typedef somTP_ooxdate_somDefaultConstVCopyInit *somTD_ooxdate_somDefaultConstVCopyInit;
  162. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultConstAssign(ooxdate *somSelf, 
  163.         som3AssignCtrl* ctrl, 
  164.         SOMObject* fromObj);
  165. typedef somTP_ooxdate_somDefaultConstAssign *somTD_ooxdate_somDefaultConstAssign;
  166. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultVAssign(ooxdate *somSelf, 
  167.         som3AssignCtrl* ctrl, 
  168.         SOMObject* fromObj);
  169. typedef somTP_ooxdate_somDefaultVAssign *somTD_ooxdate_somDefaultVAssign;
  170. typedef ooxdate*   SOMLINK somTP_ooxdate_somDefaultConstVAssign(ooxdate *somSelf, 
  171.         som3AssignCtrl* ctrl, 
  172.         SOMObject* fromObj);
  173. typedef somTP_ooxdate_somDefaultConstVAssign *somTD_ooxdate_somDefaultConstVAssign;
  174. typedef void   SOMLINK somTP_ooxdate_somInit(ooxdate *somSelf);
  175. typedef somTP_ooxdate_somInit *somTD_ooxdate_somInit;
  176. typedef void   SOMLINK somTP_ooxdate_somFree(ooxdate *somSelf);
  177. typedef somTP_ooxdate_somFree *somTD_ooxdate_somFree;
  178. typedef SOMClass*   SOMLINK somTP_ooxdate_somGetClass(ooxdate *somSelf);
  179. typedef somTP_ooxdate_somGetClass *somTD_ooxdate_somGetClass;
  180. typedef string   SOMLINK somTP_ooxdate_somGetClassName(ooxdate *somSelf);
  181. typedef somTP_ooxdate_somGetClassName *somTD_ooxdate_somGetClassName;
  182. typedef long   SOMLINK somTP_ooxdate_somGetSize(ooxdate *somSelf);
  183. typedef somTP_ooxdate_somGetSize *somTD_ooxdate_somGetSize;
  184. typedef boolean   SOMLINK somTP_ooxdate_somIsA(ooxdate *somSelf, 
  185.         SOMClass* aClassObj);
  186. typedef somTP_ooxdate_somIsA *somTD_ooxdate_somIsA;
  187. typedef boolean   SOMLINK somTP_ooxdate_somIsInstanceOf(ooxdate *somSelf, 
  188.         SOMClass* aClassObj);
  189. typedef somTP_ooxdate_somIsInstanceOf *somTD_ooxdate_somIsInstanceOf;
  190. typedef boolean   SOMLINK somTP_ooxdate_somRespondsTo(ooxdate *somSelf, 
  191.         somId mId);
  192. typedef somTP_ooxdate_somRespondsTo *somTD_ooxdate_somRespondsTo;
  193. typedef boolean   SOMLINK somTP_ooxdate_somDispatch(ooxdate *somSelf, 
  194.         somToken* retValue, 
  195.         somId methodId, 
  196.         va_list ap);
  197. typedef somTP_ooxdate_somDispatch *somTD_ooxdate_somDispatch;
  198. typedef boolean   SOMLINK somTP_ooxdate_somClassDispatch(ooxdate *somSelf, 
  199.         SOMClass* clsObj, 
  200.         somToken* retValue, 
  201.         somId methodId, 
  202.         va_list ap);
  203. typedef somTP_ooxdate_somClassDispatch *somTD_ooxdate_somClassDispatch;
  204. typedef boolean   SOMLINK somTP_ooxdate_somCastObj(ooxdate *somSelf, 
  205.         SOMClass* cls);
  206. typedef somTP_ooxdate_somCastObj *somTD_ooxdate_somCastObj;
  207. typedef boolean   SOMLINK somTP_ooxdate_somResetObj(ooxdate *somSelf);
  208. typedef somTP_ooxdate_somResetObj *somTD_ooxdate_somResetObj;
  209. typedef void   SOMLINK somTP_ooxdate_somDispatchV(ooxdate *somSelf, 
  210.         somId methodId, 
  211.         somId descriptor, 
  212.         va_list ap);
  213. typedef somTP_ooxdate_somDispatchV *somTD_ooxdate_somDispatchV;
  214. typedef long   SOMLINK somTP_ooxdate_somDispatchL(ooxdate *somSelf, 
  215.         somId methodId, 
  216.         somId descriptor, 
  217.         va_list ap);
  218. typedef somTP_ooxdate_somDispatchL *somTD_ooxdate_somDispatchL;
  219. typedef void*   SOMLINK somTP_ooxdate_somDispatchA(ooxdate *somSelf, 
  220.         somId methodId, 
  221.         somId descriptor, 
  222.         va_list ap);
  223. typedef somTP_ooxdate_somDispatchA *somTD_ooxdate_somDispatchA;
  224. typedef double   SOMLINK somTP_ooxdate_somDispatchD(ooxdate *somSelf, 
  225.         somId methodId, 
  226.         somId descriptor, 
  227.         va_list ap);
  228. typedef somTP_ooxdate_somDispatchD *somTD_ooxdate_somDispatchD;
  229. typedef SOMObject*   SOMLINK somTP_ooxdate_somPrintSelf(ooxdate *somSelf);
  230. typedef somTP_ooxdate_somPrintSelf *somTD_ooxdate_somPrintSelf;
  231. typedef void   SOMLINK somTP_ooxdate_somDumpSelf(ooxdate *somSelf, 
  232.         long level);
  233. typedef somTP_ooxdate_somDumpSelf *somTD_ooxdate_somDumpSelf;
  234. typedef void   SOMLINK somTP_ooxdate_somDumpSelfInt(ooxdate *somSelf, 
  235.         long level);
  236. typedef somTP_ooxdate_somDumpSelfInt *somTD_ooxdate_somDumpSelfInt;
  237. }
  238.  
  239. #endif /* ooxdate_API */
  240.  
  241.  
  242. /*
  243.  * -- This emitter treats Method Tokens as Thunks by default.
  244.  * -- Use the sc modifier "nothunks" to change this default
  245.  */
  246. #undef somresolve_
  247. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  248.  
  249. /*
  250.  * -- The C++ Wrapper Class for ooxdate
  251.  */
  252. class ooxdate : public ooxfield
  253. {
  254. public:
  255.  
  256. // ooxdate::new creates the class object if necessary, and then uses somNewNoInit
  257. // to allocate memory and create the object. Initialization is in ctors.
  258. void *operator new(size_t)
  259. {
  260.    if (!_ooxdate) ooxdateNewClass(ooxdate_MajorVersion,ooxdate_MinorVersion);
  261.    return (void*)
  262.       SOM_Resolve(_ooxdate,SOMClass,somNewNoInit)
  263.          ((SOMClass *)((void*)_ooxdate));
  264. }
  265.  
  266. // ooxdate::delete uses somDestruct.
  267. void operator delete(void * obj)
  268. {
  269.    if (obj && *(void**)obj) {
  270.       SOM_Resolve(obj,SOMObject,somFree)
  271.          ((SOMObject*)obj);
  272.    }
  273. }
  274.  
  275. ooxdate& operator=(ooxdate& fromObj)
  276. {
  277.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  278.    return *this;
  279. }
  280.  
  281. ooxdate()
  282. {
  283.    if (*(void**)this != 
  284.        ((somParentMtabStructPtr)
  285.         (ooxdateCClassData.parentMtab))->mtab)
  286.       return;
  287.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  288. }
  289.  
  290. ooxdate(ooxdate* fromObj)
  291. {
  292.    if (*(void**)this != 
  293.        ((somParentMtabStructPtr)
  294.         (ooxdateCClassData.parentMtab))->mtab)
  295.       return;
  296.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  297. }
  298.  
  299. #ifdef __IBMCPP__
  300. #pragma info(nocnv,nopar)
  301. #endif
  302. ooxdate(const ooxdate* fromObj)
  303. {
  304.    if (*(void**)this != 
  305.        ((somParentMtabStructPtr)
  306.         (ooxdateCClassData.parentMtab))->mtab)
  307.       return;
  308.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  309. }
  310. #ifdef __IBMCPP__
  311. #pragma info(restore)
  312. #endif
  313.  
  314. ooxdate(Environment *ev,string name) 
  315. {
  316.    define(ev,0,name);
  317. }
  318.  
  319.  
  320. /* initializer method: define */
  321. void   define(Environment *ev, 
  322.         somInitCtrl* ctrl, 
  323.         string name)
  324. {
  325.    SOM_ResolveD(this,ooxdate,ooxdate,define)
  326.     (this, ev,ctrl,name);
  327. }
  328.  
  329.  
  330. /* method: get_month */
  331. short   get_month(Environment *ev)
  332. {
  333.    return SOM_ResolveD(this,ooxdate,ooxdate,get_month)
  334.     (this, ev);
  335. }
  336.  
  337.  
  338. /* method: get_day */
  339. short   get_day(Environment *ev)
  340. {
  341.    return SOM_ResolveD(this,ooxdate,ooxdate,get_day)
  342.     (this, ev);
  343. }
  344.  
  345.  
  346. /* method: get_year */
  347. short   get_year(Environment *ev)
  348. {
  349.    return SOM_ResolveD(this,ooxdate,ooxdate,get_year)
  350.     (this, ev);
  351. }
  352.  
  353.  
  354. /* method: put_month */
  355. void   put_month(Environment *ev, 
  356.         short month)
  357. {
  358.    SOM_ResolveD(this,ooxdate,ooxdate,put_month)
  359.     (this, ev,month);
  360. }
  361.  
  362.  
  363. /* method: put_day */
  364. void   put_day(Environment *ev, 
  365.         short day)
  366. {
  367.    SOM_ResolveD(this,ooxdate,ooxdate,put_day)
  368.     (this, ev,day);
  369. }
  370.  
  371.  
  372. /* method: put_year */
  373. void   put_year(Environment *ev, 
  374.         short year)
  375. {
  376.    SOM_ResolveD(this,ooxdate,ooxdate,put_year)
  377.     (this, ev,year);
  378. }
  379.  
  380.  
  381. /*
  382.  * Reintroduce inherited methods
  383.  */
  384.  
  385. /* method: get_name */
  386. string   get_name(Environment *ev)
  387. {
  388.    return SOM_ResolveD(this,ooxdate,ooxfield,get_name)
  389.     (this, ev);
  390. }
  391.  
  392.  
  393. /* method: get */
  394. string   get(Environment *ev)
  395. {
  396.    return SOM_ResolveD(this,ooxdate,ooxfield,get)
  397.     (this, ev);
  398. }
  399.  
  400.  
  401. /* method: put */
  402. long   put(Environment *ev, 
  403.         string datum)
  404. {
  405.    return SOM_ResolveD(this,ooxdate,ooxfield,put)
  406.     (this, ev,datum);
  407. }
  408.  
  409.  
  410. /* method: get_type */
  411. char   get_type(Environment *ev)
  412. {
  413.    return SOM_ResolveD(this,ooxdate,ooxfield,get_type)
  414.     (this, ev);
  415. }
  416.  
  417.  
  418. /* method: get_length */
  419. short   get_length(Environment *ev)
  420. {
  421.    return SOM_ResolveD(this,ooxdate,ooxfield,get_length)
  422.     (this, ev);
  423. }
  424.  
  425.  
  426. /* method: get_dec_point */
  427. short   get_dec_point(Environment *ev)
  428. {
  429.    return SOM_ResolveD(this,ooxdate,ooxfield,get_dec_point)
  430.     (this, ev);
  431. }
  432.  
  433.  
  434. /* initializer method: somDefaultInit */
  435. void   somDefaultInit(som3InitCtrl* ctrl)
  436. {
  437.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultInit)
  438.     (this,ctrl);
  439. }
  440.  
  441.  
  442. /* method: somUninit */
  443. void   somUninit()
  444. {
  445.    SOM_ResolveD(this,ooxdate,SOMObject,somUninit)
  446.     (this);
  447. }
  448.  
  449.  
  450. /* method: somDestruct */
  451. void   somDestruct(octet doFree, 
  452.         som3DestructCtrl* ctrl)
  453. {
  454. /*
  455.  *  The default destructor for a SOM object. A nonzero <doFree>
  456.  *  indicates that the object storage should be freed by the
  457.  *  object's class (via somDeallocate) after uninitialization.
  458.  *  As with somDefaultInit, a null ctrl can be passed.
  459.  */
  460.    SOM_ResolveD(this,ooxdate,SOMObject,somDestruct)
  461.     (this,doFree,ctrl);
  462. }
  463.  
  464.  
  465. /* initializer method: somDefaultCopyInit */
  466. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  467.         SOMObject* fromObj)
  468. {
  469. /*
  470.  *  A default copy constructor. Use this to make copies of objects for
  471.  *  calling methods with "by-value" argument semantics.
  472.  */
  473.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultCopyInit)
  474.     (this,ctrl,fromObj);
  475. }
  476.  
  477.  
  478. /* method: somDefaultAssign */
  479. ooxdate*  somDefaultAssign(som3AssignCtrl* ctrl, 
  480.         SOMObject* fromObj)
  481. {
  482. /*
  483.  *  A default assignment operator. Use this to "assign" the state of one
  484.  *  object to another.
  485.  */
  486.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultAssign)
  487.     (this,ctrl,fromObj);
  488. }
  489.  
  490.  
  491. /* initializer method: somDefaultConstCopyInit */
  492. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  493.         SOMObject* fromObj)
  494. {
  495. /*
  496.  *  A default copy constructor that uses a const fromObj.
  497.  */
  498.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstCopyInit)
  499.     (this,ctrl,fromObj);
  500. }
  501.  
  502.  
  503. /* initializer method: somDefaultVCopyInit */
  504. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  505.         SOMObject* fromObj)
  506. {
  507. /*
  508.  *  A default copy constructor that uses a volatile fromObj.
  509.  */
  510.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultVCopyInit)
  511.     (this,ctrl,fromObj);
  512. }
  513.  
  514.  
  515. /* initializer method: somDefaultConstVCopyInit */
  516. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  517.         SOMObject* fromObj)
  518. {
  519. /*
  520.  *  A default copy constructor that uses a const volatile fromObj.
  521.  */
  522.    SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstVCopyInit)
  523.     (this,ctrl,fromObj);
  524. }
  525.  
  526.  
  527. /* method: somDefaultConstAssign */
  528. ooxdate*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  529.         SOMObject* fromObj)
  530. {
  531. /*
  532.  *  A default assignment operator that uses a const fromObj.
  533.  */
  534.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstAssign)
  535.     (this,ctrl,fromObj);
  536. }
  537.  
  538.  
  539. /* method: somDefaultVAssign */
  540. ooxdate*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  541.         SOMObject* fromObj)
  542. {
  543. /*
  544.  *  A default assignment operator that uses a volatile fromObj.
  545.  */
  546.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultVAssign)
  547.     (this,ctrl,fromObj);
  548. }
  549.  
  550.  
  551. /* method: somDefaultConstVAssign */
  552. ooxdate*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  553.         SOMObject* fromObj)
  554. {
  555. /*
  556.  *  A default assignment operator that uses a const volatile fromObj.
  557.  */
  558.    return SOM_ResolveD(this,ooxdate,SOMObject,somDefaultConstVAssign)
  559.     (this,ctrl,fromObj);
  560. }
  561.  
  562.  
  563. /* method: somInit */
  564. void   somInit()
  565. {
  566. /*
  567.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  568.  */
  569.    SOM_ResolveD(this,ooxdate,SOMObject,somInit)
  570.     (this);
  571. }
  572.  
  573.  
  574. /* method: somFree */
  575. void   somFree()
  576. {
  577. /*
  578.  *  Use as directed by framework implementations.
  579.  */
  580.    SOM_ResolveD(this,ooxdate,SOMObject,somFree)
  581.     (this);
  582. }
  583.  
  584.  
  585. /* method: somGetClass */
  586. SOMClass*   somGetClass()
  587. {
  588. /*
  589.  *  Return the receiver's class.
  590.  */
  591.    return SOM_ResolveD(this,ooxdate,SOMObject,somGetClass)
  592.     (this);
  593. }
  594.  
  595.  
  596. /* method: somGetClassName */
  597. string   somGetClassName()
  598. {
  599. /*
  600.  *  Return the name of the receiver's class.
  601.  */
  602.    return SOM_ResolveD(this,ooxdate,SOMObject,somGetClassName)
  603.     (this);
  604. }
  605.  
  606.  
  607. /* method: somGetSize */
  608. long   somGetSize()
  609. {
  610. /*
  611.  *  Return the size of the receiver.
  612.  */
  613.    return SOM_ResolveD(this,ooxdate,SOMObject,somGetSize)
  614.     (this);
  615. }
  616.  
  617.  
  618. /* method: somIsA */
  619. boolean   somIsA(SOMClass* aClassObj)
  620. {
  621. /*
  622.  *  Returns 1 (true) if the receiver responds to methods
  623.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  624.  */
  625.    return SOM_ResolveD(this,ooxdate,SOMObject,somIsA)
  626.     (this,aClassObj);
  627. }
  628.  
  629.  
  630. /* method: somIsInstanceOf */
  631. boolean   somIsInstanceOf(SOMClass* aClassObj)
  632. {
  633. /*
  634.  *  Returns 1 (true) if the receiver is an instance of
  635.  *  <aClassObj> and 0 (false) otherwise.
  636.  */
  637.    return SOM_ResolveD(this,ooxdate,SOMObject,somIsInstanceOf)
  638.     (this,aClassObj);
  639. }
  640.  
  641.  
  642. /* method: somRespondsTo */
  643. boolean   somRespondsTo(somId mId)
  644. {
  645. /*
  646.  *  Returns 1 (true) if the indicated method can be invoked
  647.  *  on the receiver and 0 (false) otherwise.
  648.  */
  649.    return SOM_ResolveD(this,ooxdate,SOMObject,somRespondsTo)
  650.     (this,mId);
  651. }
  652.  
  653.  
  654. /* va_list method: somDispatch */
  655.  
  656. /*
  657.  *  This method provides a generic, class-specific dispatch mechanism.
  658.  *  It accepts as input <retValue> a pointer to the memory area to be
  659.  *  loaded with the result of dispatching the method indicated by
  660.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  661.  *  on which the method is to be invoked as the first argument.
  662.  */
  663. /* the va_list invocation form */
  664. boolean   ooxdate_somDispatch(somToken* retValue, 
  665.         somId methodId, 
  666.         va_list ap)
  667. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatch)
  668.     (this,retValue,methodId,ap);
  669. }
  670.  
  671. /* the varargs invocation form */
  672. boolean   somDispatch(somToken* retValue, 
  673.         somId methodId, 
  674.         ...)
  675. {
  676. /*
  677.  *  This method provides a generic, class-specific dispatch mechanism.
  678.  *  It accepts as input <retValue> a pointer to the memory area to be
  679.  *  loaded with the result of dispatching the method indicated by
  680.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  681.  *  on which the method is to be invoked as the first argument.
  682.  */
  683.    va_list ap;
  684.    va_start(ap, methodId);
  685.    boolean __somResult = 
  686.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatch)
  687.     (this,retValue,methodId,ap);
  688.    va_end(ap);
  689.    return __somResult;
  690. }
  691.  
  692.  
  693. /* va_list method: somClassDispatch */
  694.  
  695. /*
  696.  *  Like somDispatch, but method resolution for static methods is done
  697.  *  according to the clsObj instance method table.
  698.  */
  699. /* the va_list invocation form */
  700. boolean   ooxdate_somClassDispatch(SOMClass* clsObj, 
  701.         somToken* retValue, 
  702.         somId methodId, 
  703.         va_list ap)
  704. {return SOM_ResolveD(this,ooxdate,SOMObject,somClassDispatch)
  705.     (this,clsObj,retValue,methodId,ap);
  706. }
  707.  
  708. /* the varargs invocation form */
  709. boolean   somClassDispatch(SOMClass* clsObj, 
  710.         somToken* retValue, 
  711.         somId methodId, 
  712.         ...)
  713. {
  714. /*
  715.  *  Like somDispatch, but method resolution for static methods is done
  716.  *  according to the clsObj instance method table.
  717.  */
  718.    va_list ap;
  719.    va_start(ap, methodId);
  720.    boolean __somResult = 
  721.       SOM_ResolveD(this,ooxdate,SOMObject,somClassDispatch)
  722.     (this,clsObj,retValue,methodId,ap);
  723.    va_end(ap);
  724.    return __somResult;
  725. }
  726.  
  727.  
  728. /* method: somCastObj */
  729. boolean   somCastObj(SOMClass* cls)
  730. {
  731. /*
  732.  *  cast the receiving object to cls (which must be an ancestor of the
  733.  *  objects true class. Returns true on success.
  734.  */
  735.    return SOM_ResolveD(this,ooxdate,SOMObject,somCastObj)
  736.     (this,cls);
  737. }
  738.  
  739.  
  740. /* method: somResetObj */
  741. boolean   somResetObj()
  742. {
  743. /*
  744.  *  reset an object to its true class. Returns true always.
  745.  */
  746.    return SOM_ResolveD(this,ooxdate,SOMObject,somResetObj)
  747.     (this);
  748. }
  749.  
  750.  
  751. /* va_list method: somDispatchV */
  752.  
  753. /*
  754.  *  Obsolete. Use somDispatch instead.
  755.  */
  756. /* the va_list invocation form */
  757. void   ooxdate_somDispatchV(somId methodId, 
  758.         somId descriptor, 
  759.         va_list ap)
  760. {   SOM_ResolveD(this,ooxdate,SOMObject,somDispatchV)
  761.     (this,methodId,descriptor,ap);
  762. }
  763.  
  764. /* the varargs invocation form */
  765. void   somDispatchV(somId methodId, 
  766.         somId descriptor, 
  767.         ...)
  768. {
  769. /*
  770.  *  Obsolete. Use somDispatch instead.
  771.  */
  772.    va_list ap;
  773.    va_start(ap, descriptor);
  774.    SOM_ResolveD(this,ooxdate,SOMObject,somDispatchV)
  775.     (this,methodId,descriptor,ap);
  776.    va_end(ap);
  777. }
  778.  
  779.  
  780. /* va_list method: somDispatchL */
  781.  
  782. /*
  783.  *  Obsolete. Use somDispatch instead.
  784.  */
  785. /* the va_list invocation form */
  786. long   ooxdate_somDispatchL(somId methodId, 
  787.         somId descriptor, 
  788.         va_list ap)
  789. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatchL)
  790.     (this,methodId,descriptor,ap);
  791. }
  792.  
  793. /* the varargs invocation form */
  794. long   somDispatchL(somId methodId, 
  795.         somId descriptor, 
  796.         ...)
  797. {
  798. /*
  799.  *  Obsolete. Use somDispatch instead.
  800.  */
  801.    va_list ap;
  802.    va_start(ap, descriptor);
  803.    long __somResult = 
  804.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatchL)
  805.     (this,methodId,descriptor,ap);
  806.    va_end(ap);
  807.    return __somResult;
  808. }
  809.  
  810.  
  811. /* va_list method: somDispatchA */
  812.  
  813. /*
  814.  *  Obsolete. Use somDispatch instead.
  815.  */
  816. /* the va_list invocation form */
  817. void*   ooxdate_somDispatchA(somId methodId, 
  818.         somId descriptor, 
  819.         va_list ap)
  820. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatchA)
  821.     (this,methodId,descriptor,ap);
  822. }
  823.  
  824. /* the varargs invocation form */
  825. void*   somDispatchA(somId methodId, 
  826.         somId descriptor, 
  827.         ...)
  828. {
  829. /*
  830.  *  Obsolete. Use somDispatch instead.
  831.  */
  832.    va_list ap;
  833.    va_start(ap, descriptor);
  834.    void* __somResult = 
  835.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatchA)
  836.     (this,methodId,descriptor,ap);
  837.    va_end(ap);
  838.    return __somResult;
  839. }
  840.  
  841.  
  842. /* va_list method: somDispatchD */
  843.  
  844. /*
  845.  *  Obsolete. Use somDispatch instead.
  846.  */
  847. /* the va_list invocation form */
  848. double   ooxdate_somDispatchD(somId methodId, 
  849.         somId descriptor, 
  850.         va_list ap)
  851. {return SOM_ResolveD(this,ooxdate,SOMObject,somDispatchD)
  852.     (this,methodId,descriptor,ap);
  853. }
  854.  
  855. /* the varargs invocation form */
  856. double   somDispatchD(somId methodId, 
  857.         somId descriptor, 
  858.         ...)
  859. {
  860. /*
  861.  *  Obsolete. Use somDispatch instead.
  862.  */
  863.    va_list ap;
  864.    va_start(ap, descriptor);
  865.    double __somResult = 
  866.       SOM_ResolveD(this,ooxdate,SOMObject,somDispatchD)
  867.     (this,methodId,descriptor,ap);
  868.    va_end(ap);
  869.    return __somResult;
  870. }
  871.  
  872.  
  873. /* method: somPrintSelf */
  874. SOMObject*   somPrintSelf()
  875. {
  876. /*
  877.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  878.  *  information about this object.  The default implementation just gives
  879.  *  the object's class name and its address in memory.
  880.  *  <self> is returned.
  881.  */
  882.    return SOM_ResolveD(this,ooxdate,SOMObject,somPrintSelf)
  883.     (this);
  884. }
  885.  
  886.  
  887. /* method: somDumpSelf */
  888. void   somDumpSelf(long level)
  889. {
  890. /*
  891.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  892.  *  and its current state.
  893.  * 
  894.  *  <level> indicates the nesting level for describing compound objects
  895.  *  it must be greater than or equal to zero.  All lines in the
  896.  *  description will be preceeded by <2*level> spaces.
  897.  * 
  898.  *  This routine only actually writes the data that concerns the object
  899.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  900.  *  the object's current state.  This approach allows readable
  901.  *  descriptions of compound objects to be constructed.
  902.  * 
  903.  *  Generally it is not necessary to override this method, if it is
  904.  *  overriden it generally must be completely replaced.
  905.  */
  906.    SOM_ResolveD(this,ooxdate,SOMObject,somDumpSelf)
  907.     (this,level);
  908. }
  909.  
  910.  
  911. /* method: somDumpSelfInt */
  912. void   somDumpSelfInt(long level)
  913. {
  914. /*
  915.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  916.  *  Generally this method will need to be overridden.  When overriding
  917.  *  it, begin by calling the parent class form of this method and then
  918.  *  write in a description of your class's instance data. This will
  919.  *  result in a description of all the object's instance data going
  920.  *  from its root ancestor class to its specific class.
  921.  */
  922.    SOM_ResolveD(this,ooxdate,SOMObject,somDumpSelfInt)
  923.     (this,level);
  924. }
  925.  
  926.  
  927.  
  928. };   /* ooxdate */
  929.  
  930.  
  931.  
  932. #endif       /* SOM_ooxdate_xh */
  933.