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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxbase.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxdbf_xh
  11. #define SOM_ooxdbf_xh
  12.  
  13. class ooxdbf;
  14.  
  15. #define ooxdbf_MajorVersion 0
  16. #define ooxdbf_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 ooxdbf_API
  28. #define ooxdbf_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. class ooxfield;
  40. #define ex_ooxdbf_ooxdbf_error "::ooxdbf::ooxdbf_error"
  41. typedef
  42. struct ooxdbf_ooxdbf_error {
  43. long  ErrCode;
  44. string  Reason;
  45. } ooxdbf_ooxdbf_error;
  46.  
  47. #ifndef SOM_DONT_USE_SHORT_NAMES
  48. #ifndef SOMTGD_ex_ooxdbf_error
  49.     #ifdef ex_ooxdbf_error
  50.         #undef ex_ooxdbf_error
  51.         #define SOMTGD_ex_ooxdbf_error 1
  52.     #else
  53.         #define ex_ooxdbf_error ex_ooxdbf_ooxdbf_error
  54.     #endif /* ex_ooxdbf_error */
  55. #endif /* SOMTGD_ex_ooxdbf_error */
  56. #ifndef SOMTGD_ooxdbf_error
  57.     #ifdef ooxdbf_error
  58.         #undef ooxdbf_error
  59.         #define SOMTGD_ooxdbf_error 1
  60.     #else
  61.         #define ooxdbf_error ooxdbf_ooxdbf_error
  62.     #endif /* ooxdbf_error */
  63. #endif /* SOMTGD_ooxdbf_error */
  64. #endif /* SOM_DONT_USE_SHORT_NAMES */
  65.  
  66. /*
  67.  * End of bindings for IDL types.
  68.  */
  69.  
  70. /* A procedure to create the ooxdbf Class */
  71. SOMEXTERN SOMClass * SOMLINK ooxdbfNewClass(
  72.         integer4 majorVersion,
  73.         integer4 minorVersion);
  74.  
  75. /* The API to the ooxdbf class object, and the methods it introduces. */
  76. SOMEXTERN struct ooxdbfClassDataStructure {
  77.     SOMClass *classObject;
  78.     somMToken _get_current_record;
  79.     somMToken _get_record_count;
  80.     somMToken _get_field_count;
  81.     somMToken _get_new_record_size;
  82.     somMToken _set_new_record_size;
  83.     somMToken Open;
  84.     somMToken Read;
  85.     somMToken Write;
  86.     somMToken GoTo;
  87.     somMToken Update;
  88.     somMToken Close;
  89.     somMToken field;
  90.     somMToken field_by_name;
  91.     somMToken reset_index;
  92.     somMToken attach_index;
  93.     somMToken use_index;
  94.     somMToken createindex;
  95.     somMToken buildindex;
  96.     somMToken add_tag;
  97.     somMToken find;
  98.     somMToken reindex;
  99.     somMToken Read_prev;
  100.     somMToken Delete;
  101.     somMToken Undelete;
  102.     somMToken Pack;
  103.     somMToken drop_tag;
  104.     somMToken export;
  105.     somMToken import;
  106.     somMToken sort;
  107.     somMToken usingfilename;
  108.     somMToken defineDBF;
  109.     somMToken defineDBFusing;
  110.     somMToken DBFdefined;
  111.     somMToken _get_deleted;
  112.     somMToken addfld;
  113.     somMToken dropfld;
  114.     somMToken modifyfld;
  115. } SOMDLINK ooxdbfClassData;
  116. #define _ooxdbf ooxdbfClassData.classObject
  117.  
  118. /* The API to parentMtabs for ooxdbf, and the instance data it introduces. */
  119. SOMEXTERN struct ooxdbfCClassDataStructure {
  120.     somMethodTabs parentMtab;
  121.     somDToken              instanceDataToken;
  122. } SOMDLINK ooxdbfCClassData;
  123.  
  124. /*
  125.  * -- Typedefs for ooxdbf Method Procedures
  126.  */
  127. SOMEXTERN {
  128. typedef long   SOMLINK somTP_ooxdbf__get_current_record(ooxdbf *somSelf, Environment *ev);
  129. typedef somTP_ooxdbf__get_current_record *somTD_ooxdbf__get_current_record;
  130. typedef long   SOMLINK somTP_ooxdbf__get_record_count(ooxdbf *somSelf, Environment *ev);
  131. typedef somTP_ooxdbf__get_record_count *somTD_ooxdbf__get_record_count;
  132. typedef long   SOMLINK somTP_ooxdbf__get_field_count(ooxdbf *somSelf, Environment *ev);
  133. typedef somTP_ooxdbf__get_field_count *somTD_ooxdbf__get_field_count;
  134. typedef boolean   SOMLINK somTP_ooxdbf__get_deleted(ooxdbf *somSelf, Environment *ev);
  135. typedef somTP_ooxdbf__get_deleted *somTD_ooxdbf__get_deleted;
  136. typedef short   SOMLINK somTP_ooxdbf_Open(ooxdbf *somSelf, Environment *ev, 
  137.         string dbfname);
  138. typedef somTP_ooxdbf_Open *somTD_ooxdbf_Open;
  139. typedef short   SOMLINK somTP_ooxdbf_Read(ooxdbf *somSelf, Environment *ev);
  140. typedef somTP_ooxdbf_Read *somTD_ooxdbf_Read;
  141. typedef short   SOMLINK somTP_ooxdbf_Read_prev(ooxdbf *somSelf, Environment *ev);
  142. typedef somTP_ooxdbf_Read_prev *somTD_ooxdbf_Read_prev;
  143. typedef short   SOMLINK somTP_ooxdbf_Write(ooxdbf *somSelf, Environment *ev);
  144. typedef somTP_ooxdbf_Write *somTD_ooxdbf_Write;
  145. typedef short   SOMLINK somTP_ooxdbf_GoTo(ooxdbf *somSelf, Environment *ev, 
  146.         long recno);
  147. typedef somTP_ooxdbf_GoTo *somTD_ooxdbf_GoTo;
  148. typedef short   SOMLINK somTP_ooxdbf_Update(ooxdbf *somSelf, Environment *ev);
  149. typedef somTP_ooxdbf_Update *somTD_ooxdbf_Update;
  150. typedef short   SOMLINK somTP_ooxdbf_Delete(ooxdbf *somSelf, Environment *ev);
  151. typedef somTP_ooxdbf_Delete *somTD_ooxdbf_Delete;
  152. typedef short   SOMLINK somTP_ooxdbf_Undelete(ooxdbf *somSelf, Environment *ev);
  153. typedef somTP_ooxdbf_Undelete *somTD_ooxdbf_Undelete;
  154. typedef short   SOMLINK somTP_ooxdbf_Pack(ooxdbf *somSelf, Environment *ev);
  155. typedef somTP_ooxdbf_Pack *somTD_ooxdbf_Pack;
  156. typedef short   SOMLINK somTP_ooxdbf_Close(ooxdbf *somSelf, Environment *ev);
  157. typedef somTP_ooxdbf_Close *somTD_ooxdbf_Close;
  158. typedef ooxfield*   SOMLINK somTP_ooxdbf_field(ooxdbf *somSelf, Environment *ev, 
  159.         long i);
  160. typedef somTP_ooxdbf_field *somTD_ooxdbf_field;
  161. typedef ooxfield*   SOMLINK somTP_ooxdbf_field_by_name(ooxdbf *somSelf, Environment *ev, 
  162.         string name);
  163. typedef somTP_ooxdbf_field_by_name *somTD_ooxdbf_field_by_name;
  164. typedef void   SOMLINK somTP_ooxdbf_reset_index(ooxdbf *somSelf, Environment *ev, 
  165.         long from);
  166. typedef somTP_ooxdbf_reset_index *somTD_ooxdbf_reset_index;
  167. typedef short   SOMLINK somTP_ooxdbf_find(ooxdbf *somSelf, Environment *ev, 
  168.         string key);
  169. typedef somTP_ooxdbf_find *somTD_ooxdbf_find;
  170. typedef short   SOMLINK somTP_ooxdbf_reindex(ooxdbf *somSelf, Environment *ev);
  171. typedef somTP_ooxdbf_reindex *somTD_ooxdbf_reindex;
  172. typedef long   SOMLINK somTP_ooxdbf_attach_index(ooxdbf *somSelf, Environment *ev, 
  173.         string ndxdata);
  174. typedef somTP_ooxdbf_attach_index *somTD_ooxdbf_attach_index;
  175. typedef long   SOMLINK somTP_ooxdbf_use_index(ooxdbf *somSelf, Environment *ev, 
  176.         string ndxdata);
  177. typedef somTP_ooxdbf_use_index *somTD_ooxdbf_use_index;
  178. typedef long   SOMLINK somTP_ooxdbf_createindex(ooxdbf *somSelf, Environment *ev, 
  179.         string name, 
  180.         string ndxdata);
  181. typedef somTP_ooxdbf_createindex *somTD_ooxdbf_createindex;
  182. typedef long   SOMLINK somTP_ooxdbf_buildindex(ooxdbf *somSelf, Environment *ev, 
  183.         string ndxdata);
  184. typedef somTP_ooxdbf_buildindex *somTD_ooxdbf_buildindex;
  185. typedef long   SOMLINK somTP_ooxdbf_add_tag(ooxdbf *somSelf, Environment *ev, 
  186.         string ndxdata, 
  187.         string key);
  188. typedef somTP_ooxdbf_add_tag *somTD_ooxdbf_add_tag;
  189. typedef long   SOMLINK somTP_ooxdbf_drop_tag(ooxdbf *somSelf, Environment *ev, 
  190.         string ndxdata);
  191. typedef somTP_ooxdbf_drop_tag *somTD_ooxdbf_drop_tag;
  192. typedef long   SOMLINK somTP_ooxdbf_export(ooxdbf *somSelf, Environment *ev, 
  193.         string filename, 
  194.         char delimiter);
  195. typedef somTP_ooxdbf_export *somTD_ooxdbf_export;
  196. typedef long   SOMLINK somTP_ooxdbf_import(ooxdbf *somSelf, Environment *ev, 
  197.         string filename, 
  198.         char delimiter);
  199. typedef somTP_ooxdbf_import *somTD_ooxdbf_import;
  200. typedef long   SOMLINK somTP_ooxdbf_sort(ooxdbf *somSelf, Environment *ev, 
  201.         string filename, 
  202.         string fields);
  203. typedef somTP_ooxdbf_sort *somTD_ooxdbf_sort;
  204. typedef void   SOMLINK somTP_ooxdbf_usingfilename(ooxdbf *somSelf, Environment *ev, 
  205.         somInitCtrl* ctrl, 
  206.         string Name);
  207. typedef somTP_ooxdbf_usingfilename *somTD_ooxdbf_usingfilename;
  208. typedef void   SOMLINK somTP_ooxdbf_defineDBF(ooxdbf *somSelf, Environment *ev, 
  209.         somInitCtrl* ctrl, 
  210.         string Name, 
  211.         ooxfield* field);
  212. typedef somTP_ooxdbf_defineDBF *somTD_ooxdbf_defineDBF;
  213. typedef void   SOMLINK somTP_ooxdbf_defineDBFusing(ooxdbf *somSelf, Environment *ev, 
  214.         somInitCtrl* ctrl, 
  215.         string Name, 
  216.         ooxdbf* usingDBF);
  217. typedef somTP_ooxdbf_defineDBFusing *somTD_ooxdbf_defineDBFusing;
  218. typedef long   SOMLINK somTP_ooxdbf_DBFdefined(ooxdbf *somSelf, Environment *ev);
  219. typedef somTP_ooxdbf_DBFdefined *somTD_ooxdbf_DBFdefined;
  220. typedef long   SOMLINK somTP_ooxdbf_addfld(ooxdbf *somSelf, Environment *ev, 
  221.         ooxfield* field);
  222. typedef somTP_ooxdbf_addfld *somTD_ooxdbf_addfld;
  223. typedef long   SOMLINK somTP_ooxdbf_dropfld(ooxdbf *somSelf, Environment *ev, 
  224.         ooxfield* field);
  225. typedef somTP_ooxdbf_dropfld *somTD_ooxdbf_dropfld;
  226. typedef long   SOMLINK somTP_ooxdbf_modifyfld(ooxdbf *somSelf, Environment *ev, 
  227.         ooxfield* oldfield, 
  228.         ooxfield* newfield);
  229. typedef somTP_ooxdbf_modifyfld *somTD_ooxdbf_modifyfld;
  230.  
  231. /*
  232.  * -- Typedefs for Reintroduced Wrapper Methods
  233.  */
  234. typedef void   SOMLINK somTP_ooxdbf_somDefaultInit(ooxdbf *somSelf, 
  235.         som3InitCtrl* ctrl);
  236. typedef somTP_ooxdbf_somDefaultInit *somTD_ooxdbf_somDefaultInit;
  237. typedef void   SOMLINK somTP_ooxdbf_somDestruct(ooxdbf *somSelf, 
  238.         octet doFree, 
  239.         som3DestructCtrl* ctrl);
  240. typedef somTP_ooxdbf_somDestruct *somTD_ooxdbf_somDestruct;
  241. typedef void   SOMLINK somTP_ooxdbf_somDefaultCopyInit(ooxdbf *somSelf, 
  242.         som3InitCtrl* ctrl, 
  243.         SOMObject* fromObj);
  244. typedef somTP_ooxdbf_somDefaultCopyInit *somTD_ooxdbf_somDefaultCopyInit;
  245. typedef ooxdbf*   SOMLINK somTP_ooxdbf_somDefaultAssign(ooxdbf *somSelf, 
  246.         som3AssignCtrl* ctrl, 
  247.         SOMObject* fromObj);
  248. typedef somTP_ooxdbf_somDefaultAssign *somTD_ooxdbf_somDefaultAssign;
  249. typedef void   SOMLINK somTP_ooxdbf_somDefaultConstCopyInit(ooxdbf *somSelf, 
  250.         som3InitCtrl* ctrl, 
  251.         SOMObject* fromObj);
  252. typedef somTP_ooxdbf_somDefaultConstCopyInit *somTD_ooxdbf_somDefaultConstCopyInit;
  253. typedef void   SOMLINK somTP_ooxdbf_somDefaultVCopyInit(ooxdbf *somSelf, 
  254.         som3InitCtrl* ctrl, 
  255.         SOMObject* fromObj);
  256. typedef somTP_ooxdbf_somDefaultVCopyInit *somTD_ooxdbf_somDefaultVCopyInit;
  257. typedef void   SOMLINK somTP_ooxdbf_somDefaultConstVCopyInit(ooxdbf *somSelf, 
  258.         som3InitCtrl* ctrl, 
  259.         SOMObject* fromObj);
  260. typedef somTP_ooxdbf_somDefaultConstVCopyInit *somTD_ooxdbf_somDefaultConstVCopyInit;
  261. typedef ooxdbf*   SOMLINK somTP_ooxdbf_somDefaultConstAssign(ooxdbf *somSelf, 
  262.         som3AssignCtrl* ctrl, 
  263.         SOMObject* fromObj);
  264. typedef somTP_ooxdbf_somDefaultConstAssign *somTD_ooxdbf_somDefaultConstAssign;
  265. typedef ooxdbf*   SOMLINK somTP_ooxdbf_somDefaultVAssign(ooxdbf *somSelf, 
  266.         som3AssignCtrl* ctrl, 
  267.         SOMObject* fromObj);
  268. typedef somTP_ooxdbf_somDefaultVAssign *somTD_ooxdbf_somDefaultVAssign;
  269. typedef ooxdbf*   SOMLINK somTP_ooxdbf_somDefaultConstVAssign(ooxdbf *somSelf, 
  270.         som3AssignCtrl* ctrl, 
  271.         SOMObject* fromObj);
  272. typedef somTP_ooxdbf_somDefaultConstVAssign *somTD_ooxdbf_somDefaultConstVAssign;
  273. typedef void   SOMLINK somTP_ooxdbf_somInit(ooxdbf *somSelf);
  274. typedef somTP_ooxdbf_somInit *somTD_ooxdbf_somInit;
  275. typedef void   SOMLINK somTP_ooxdbf_somFree(ooxdbf *somSelf);
  276. typedef somTP_ooxdbf_somFree *somTD_ooxdbf_somFree;
  277. typedef void   SOMLINK somTP_ooxdbf_somUninit(ooxdbf *somSelf);
  278. typedef somTP_ooxdbf_somUninit *somTD_ooxdbf_somUninit;
  279. typedef SOMClass*   SOMLINK somTP_ooxdbf_somGetClass(ooxdbf *somSelf);
  280. typedef somTP_ooxdbf_somGetClass *somTD_ooxdbf_somGetClass;
  281. typedef string   SOMLINK somTP_ooxdbf_somGetClassName(ooxdbf *somSelf);
  282. typedef somTP_ooxdbf_somGetClassName *somTD_ooxdbf_somGetClassName;
  283. typedef long   SOMLINK somTP_ooxdbf_somGetSize(ooxdbf *somSelf);
  284. typedef somTP_ooxdbf_somGetSize *somTD_ooxdbf_somGetSize;
  285. typedef boolean   SOMLINK somTP_ooxdbf_somIsA(ooxdbf *somSelf, 
  286.         SOMClass* aClassObj);
  287. typedef somTP_ooxdbf_somIsA *somTD_ooxdbf_somIsA;
  288. typedef boolean   SOMLINK somTP_ooxdbf_somIsInstanceOf(ooxdbf *somSelf, 
  289.         SOMClass* aClassObj);
  290. typedef somTP_ooxdbf_somIsInstanceOf *somTD_ooxdbf_somIsInstanceOf;
  291. typedef boolean   SOMLINK somTP_ooxdbf_somRespondsTo(ooxdbf *somSelf, 
  292.         somId mId);
  293. typedef somTP_ooxdbf_somRespondsTo *somTD_ooxdbf_somRespondsTo;
  294. typedef boolean   SOMLINK somTP_ooxdbf_somDispatch(ooxdbf *somSelf, 
  295.         somToken* retValue, 
  296.         somId methodId, 
  297.         va_list ap);
  298. typedef somTP_ooxdbf_somDispatch *somTD_ooxdbf_somDispatch;
  299. typedef boolean   SOMLINK somTP_ooxdbf_somClassDispatch(ooxdbf *somSelf, 
  300.         SOMClass* clsObj, 
  301.         somToken* retValue, 
  302.         somId methodId, 
  303.         va_list ap);
  304. typedef somTP_ooxdbf_somClassDispatch *somTD_ooxdbf_somClassDispatch;
  305. typedef boolean   SOMLINK somTP_ooxdbf_somCastObj(ooxdbf *somSelf, 
  306.         SOMClass* cls);
  307. typedef somTP_ooxdbf_somCastObj *somTD_ooxdbf_somCastObj;
  308. typedef boolean   SOMLINK somTP_ooxdbf_somResetObj(ooxdbf *somSelf);
  309. typedef somTP_ooxdbf_somResetObj *somTD_ooxdbf_somResetObj;
  310. typedef void   SOMLINK somTP_ooxdbf_somDispatchV(ooxdbf *somSelf, 
  311.         somId methodId, 
  312.         somId descriptor, 
  313.         va_list ap);
  314. typedef somTP_ooxdbf_somDispatchV *somTD_ooxdbf_somDispatchV;
  315. typedef long   SOMLINK somTP_ooxdbf_somDispatchL(ooxdbf *somSelf, 
  316.         somId methodId, 
  317.         somId descriptor, 
  318.         va_list ap);
  319. typedef somTP_ooxdbf_somDispatchL *somTD_ooxdbf_somDispatchL;
  320. typedef void*   SOMLINK somTP_ooxdbf_somDispatchA(ooxdbf *somSelf, 
  321.         somId methodId, 
  322.         somId descriptor, 
  323.         va_list ap);
  324. typedef somTP_ooxdbf_somDispatchA *somTD_ooxdbf_somDispatchA;
  325. typedef double   SOMLINK somTP_ooxdbf_somDispatchD(ooxdbf *somSelf, 
  326.         somId methodId, 
  327.         somId descriptor, 
  328.         va_list ap);
  329. typedef somTP_ooxdbf_somDispatchD *somTD_ooxdbf_somDispatchD;
  330. typedef SOMObject*   SOMLINK somTP_ooxdbf_somPrintSelf(ooxdbf *somSelf);
  331. typedef somTP_ooxdbf_somPrintSelf *somTD_ooxdbf_somPrintSelf;
  332. typedef void   SOMLINK somTP_ooxdbf_somDumpSelf(ooxdbf *somSelf, 
  333.         long level);
  334. typedef somTP_ooxdbf_somDumpSelf *somTD_ooxdbf_somDumpSelf;
  335. typedef void   SOMLINK somTP_ooxdbf_somDumpSelfInt(ooxdbf *somSelf, 
  336.         long level);
  337. typedef somTP_ooxdbf_somDumpSelfInt *somTD_ooxdbf_somDumpSelfInt;
  338. }
  339.  
  340. #endif /* ooxdbf_API */
  341.  
  342.  
  343. /*
  344.  * -- This emitter treats Method Tokens as Thunks by default.
  345.  * -- Use the sc modifier "nothunks" to change this default
  346.  */
  347. #undef somresolve_
  348. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  349.  
  350. /*
  351.  * -- The C++ Wrapper Class for ooxdbf
  352.  */
  353. class ooxdbf : public SOMObject
  354. {
  355. public:
  356.  
  357. // ooxdbf::new creates the class object if necessary, and then uses somNewNoInit
  358. // to allocate memory and create the object. Initialization is in ctors.
  359. void *operator new(size_t)
  360. {
  361.    if (!_ooxdbf) ooxdbfNewClass(ooxdbf_MajorVersion,ooxdbf_MinorVersion);
  362.    return (void*)
  363.       SOM_Resolve(_ooxdbf,SOMClass,somNewNoInit)
  364.          ((SOMClass *)((void*)_ooxdbf));
  365. }
  366.  
  367. // ooxdbf::delete uses somDestruct.
  368. void operator delete(void * obj)
  369. {
  370.    if (obj && *(void**)obj) {
  371.       SOM_Resolve(obj,SOMObject,somFree)
  372.          ((SOMObject*)obj);
  373.    }
  374. }
  375.  
  376. ooxdbf& operator=(ooxdbf& fromObj)
  377. {
  378.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  379.    return *this;
  380. }
  381.  
  382. ooxdbf()
  383. {
  384.    if (*(void**)this != 
  385.        ((somParentMtabStructPtr)
  386.         (ooxdbfCClassData.parentMtab))->mtab)
  387.       return;
  388.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  389. }
  390.  
  391. ooxdbf(ooxdbf* fromObj)
  392. {
  393.    if (*(void**)this != 
  394.        ((somParentMtabStructPtr)
  395.         (ooxdbfCClassData.parentMtab))->mtab)
  396.       return;
  397.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  398. }
  399.  
  400. #ifdef __IBMCPP__
  401. #pragma info(nocnv,nopar)
  402. #endif
  403. ooxdbf(const ooxdbf* fromObj)
  404. {
  405.    if (*(void**)this != 
  406.        ((somParentMtabStructPtr)
  407.         (ooxdbfCClassData.parentMtab))->mtab)
  408.       return;
  409.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  410. }
  411. #ifdef __IBMCPP__
  412. #pragma info(restore)
  413. #endif
  414.  
  415. ooxdbf(Environment *ev,string Name) 
  416. {
  417.    usingfilename(ev,0,Name);
  418. }
  419.  
  420. ooxdbf(Environment *ev,string Name,ooxfield* field) 
  421. {
  422.    defineDBF(ev,0,Name,field);
  423. }
  424.  
  425. ooxdbf(Environment *ev,string Name,ooxdbf* usingDBF) 
  426. {
  427.    defineDBFusing(ev,0,Name,usingDBF);
  428. }
  429.  
  430.  
  431. /* method: _get_current_record */
  432. long   _get_current_record(Environment *ev)
  433. {
  434. /*
  435.  * Method from the IDL attribute statement:
  436.  * "readonly attribute long current_record"
  437.  */
  438.    return SOM_ResolveD(this,ooxdbf,ooxdbf,_get_current_record)
  439.     (this, ev);
  440. }
  441.  
  442.  
  443. /* method: _get_record_count */
  444. long   _get_record_count(Environment *ev)
  445. {
  446. /*
  447.  * Method from the IDL attribute statement:
  448.  * "readonly attribute long record_count"
  449.  */
  450.    return SOM_ResolveD(this,ooxdbf,ooxdbf,_get_record_count)
  451.     (this, ev);
  452. }
  453.  
  454.  
  455. /* method: _get_field_count */
  456. long   _get_field_count(Environment *ev)
  457. {
  458. /*
  459.  * Method from the IDL attribute statement:
  460.  * "readonly attribute long field_count"
  461.  */
  462.    return SOM_ResolveD(this,ooxdbf,ooxdbf,_get_field_count)
  463.     (this, ev);
  464. }
  465.  
  466.  
  467. /* method: _get_deleted */
  468. boolean   _get_deleted(Environment *ev)
  469. {
  470. /*
  471.  * Method from the IDL attribute statement:
  472.  * "readonly attribute boolean deleted"
  473.  */
  474.    return SOM_ResolveD(this,ooxdbf,ooxdbf,_get_deleted)
  475.     (this, ev);
  476. }
  477.  
  478.  
  479. /* method: Open */
  480. short   Open(Environment *ev, 
  481.         string dbfname)
  482. {
  483.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Open)
  484.     (this, ev,dbfname);
  485. }
  486.  
  487.  
  488. /* method: Read */
  489. short   Read(Environment *ev)
  490. {
  491.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Read)
  492.     (this, ev);
  493. }
  494.  
  495.  
  496. /* method: Read_prev */
  497. short   Read_prev(Environment *ev)
  498. {
  499.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Read_prev)
  500.     (this, ev);
  501. }
  502.  
  503.  
  504. /* method: Write */
  505. short   Write(Environment *ev)
  506. {
  507.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Write)
  508.     (this, ev);
  509. }
  510.  
  511.  
  512. /* method: GoTo */
  513. short   GoTo(Environment *ev, 
  514.         long recno)
  515. {
  516.    return SOM_ResolveD(this,ooxdbf,ooxdbf,GoTo)
  517.     (this, ev,recno);
  518. }
  519.  
  520.  
  521. /* method: Update */
  522. short   Update(Environment *ev)
  523. {
  524.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Update)
  525.     (this, ev);
  526. }
  527.  
  528.  
  529. /* method: Delete */
  530. short   Delete(Environment *ev)
  531. {
  532.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Delete)
  533.     (this, ev);
  534. }
  535.  
  536.  
  537. /* method: Undelete */
  538. short   Undelete(Environment *ev)
  539. {
  540.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Undelete)
  541.     (this, ev);
  542. }
  543.  
  544.  
  545. /* method: Pack */
  546. short   Pack(Environment *ev)
  547. {
  548.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Pack)
  549.     (this, ev);
  550. }
  551.  
  552.  
  553. /* method: Close */
  554. short   Close(Environment *ev)
  555. {
  556.    return SOM_ResolveD(this,ooxdbf,ooxdbf,Close)
  557.     (this, ev);
  558. }
  559.  
  560.  
  561. /* method: field */
  562. ooxfield*   field(Environment *ev, 
  563.         long i)
  564. {
  565.    return SOM_ResolveD(this,ooxdbf,ooxdbf,field)
  566.     (this, ev,i);
  567. }
  568.  
  569.  
  570. /* method: field_by_name */
  571. ooxfield*   field_by_name(Environment *ev, 
  572.         string name)
  573. {
  574.    return SOM_ResolveD(this,ooxdbf,ooxdbf,field_by_name)
  575.     (this, ev,name);
  576. }
  577.  
  578.  
  579. /* method: reset_index */
  580. void   reset_index(Environment *ev, 
  581.         long from)
  582. {
  583.    SOM_ResolveD(this,ooxdbf,ooxdbf,reset_index)
  584.     (this, ev,from);
  585. }
  586.  
  587.  
  588. /* method: find */
  589. short   find(Environment *ev, 
  590.         string key)
  591. {
  592.    return SOM_ResolveD(this,ooxdbf,ooxdbf,find)
  593.     (this, ev,key);
  594. }
  595.  
  596.  
  597. /* method: reindex */
  598. short   reindex(Environment *ev)
  599. {
  600.    return SOM_ResolveD(this,ooxdbf,ooxdbf,reindex)
  601.     (this, ev);
  602. }
  603.  
  604.  
  605. /* method: attach_index */
  606. long   attach_index(Environment *ev, 
  607.         string ndxdata)
  608. {
  609.    return SOM_ResolveD(this,ooxdbf,ooxdbf,attach_index)
  610.     (this, ev,ndxdata);
  611. }
  612.  
  613.  
  614. /* method: use_index */
  615. long   use_index(Environment *ev, 
  616.         string ndxdata)
  617. {
  618.    return SOM_ResolveD(this,ooxdbf,ooxdbf,use_index)
  619.     (this, ev,ndxdata);
  620. }
  621.  
  622.  
  623. /* method: createindex */
  624. long   createindex(Environment *ev, 
  625.         string name, 
  626.         string ndxdata)
  627. {
  628.    return SOM_ResolveD(this,ooxdbf,ooxdbf,createindex)
  629.     (this, ev,name,ndxdata);
  630. }
  631.  
  632.  
  633. /* method: buildindex */
  634. long   buildindex(Environment *ev, 
  635.         string ndxdata)
  636. {
  637.    return SOM_ResolveD(this,ooxdbf,ooxdbf,buildindex)
  638.     (this, ev,ndxdata);
  639. }
  640.  
  641.  
  642. /* method: add_tag */
  643. long   add_tag(Environment *ev, 
  644.         string ndxdata, 
  645.         string key)
  646. {
  647.    return SOM_ResolveD(this,ooxdbf,ooxdbf,add_tag)
  648.     (this, ev,ndxdata,key);
  649. }
  650.  
  651.  
  652. /* method: drop_tag */
  653. long   drop_tag(Environment *ev, 
  654.         string ndxdata)
  655. {
  656.    return SOM_ResolveD(this,ooxdbf,ooxdbf,drop_tag)
  657.     (this, ev,ndxdata);
  658. }
  659.  
  660.  
  661. /* method: export */
  662. long   export(Environment *ev, 
  663.         string filename, 
  664.         char delimiter)
  665. {
  666.    return SOM_ResolveD(this,ooxdbf,ooxdbf,export)
  667.     (this, ev,filename,delimiter);
  668. }
  669.  
  670.  
  671. /* method: import */
  672. long   import(Environment *ev, 
  673.         string filename, 
  674.         char delimiter)
  675. {
  676.    return SOM_ResolveD(this,ooxdbf,ooxdbf,import)
  677.     (this, ev,filename,delimiter);
  678. }
  679.  
  680.  
  681. /* method: sort */
  682. long   sort(Environment *ev, 
  683.         string filename, 
  684.         string fields)
  685. {
  686.    return SOM_ResolveD(this,ooxdbf,ooxdbf,sort)
  687.     (this, ev,filename,fields);
  688. }
  689.  
  690.  
  691. /* initializer method: usingfilename */
  692. void   usingfilename(Environment *ev, 
  693.         somInitCtrl* ctrl, 
  694.         string Name)
  695. {
  696.    SOM_ResolveD(this,ooxdbf,ooxdbf,usingfilename)
  697.     (this, ev,ctrl,Name);
  698. }
  699.  
  700.  
  701. /* initializer method: defineDBF */
  702. void   defineDBF(Environment *ev, 
  703.         somInitCtrl* ctrl, 
  704.         string Name, 
  705.         ooxfield* field)
  706. {
  707.    SOM_ResolveD(this,ooxdbf,ooxdbf,defineDBF)
  708.     (this, ev,ctrl,Name,field);
  709. }
  710.  
  711.  
  712. /* initializer method: defineDBFusing */
  713. void   defineDBFusing(Environment *ev, 
  714.         somInitCtrl* ctrl, 
  715.         string Name, 
  716.         ooxdbf* usingDBF)
  717. {
  718.    SOM_ResolveD(this,ooxdbf,ooxdbf,defineDBFusing)
  719.     (this, ev,ctrl,Name,usingDBF);
  720. }
  721.  
  722.  
  723. /* method: DBFdefined */
  724. long   DBFdefined(Environment *ev)
  725. {
  726.    return SOM_ResolveD(this,ooxdbf,ooxdbf,DBFdefined)
  727.     (this, ev);
  728. }
  729.  
  730.  
  731. /* method: addfld */
  732. long   addfld(Environment *ev, 
  733.         ooxfield* field)
  734. {
  735.    return SOM_ResolveD(this,ooxdbf,ooxdbf,addfld)
  736.     (this, ev,field);
  737. }
  738.  
  739.  
  740. /* method: dropfld */
  741. long   dropfld(Environment *ev, 
  742.         ooxfield* field)
  743. {
  744.    return SOM_ResolveD(this,ooxdbf,ooxdbf,dropfld)
  745.     (this, ev,field);
  746. }
  747.  
  748.  
  749. /* method: modifyfld */
  750. long   modifyfld(Environment *ev, 
  751.         ooxfield* oldfield, 
  752.         ooxfield* newfield)
  753. {
  754.    return SOM_ResolveD(this,ooxdbf,ooxdbf,modifyfld)
  755.     (this, ev,oldfield,newfield);
  756. }
  757.  
  758.  
  759. /*
  760.  * Reintroduce inherited methods
  761.  */
  762.  
  763. /* initializer method: somDefaultInit */
  764. void   somDefaultInit(som3InitCtrl* ctrl)
  765. {
  766. /*
  767.  *  A default initializer for a SOM object. Passing a null ctrl
  768.  *  indicates to the receiver that its class is the class of the
  769.  *  object being initialized, whereby the initializer will determine
  770.  *  an appropriate control structure.
  771.  */
  772.    SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultInit)
  773.     (this,ctrl);
  774. }
  775.  
  776.  
  777. /* method: somDestruct */
  778. void   somDestruct(octet doFree, 
  779.         som3DestructCtrl* ctrl)
  780. {
  781. /*
  782.  *  The default destructor for a SOM object. A nonzero <doFree>
  783.  *  indicates that the object storage should be freed by the
  784.  *  object's class (via somDeallocate) after uninitialization.
  785.  *  As with somDefaultInit, a null ctrl can be passed.
  786.  */
  787.    SOM_ResolveD(this,ooxdbf,SOMObject,somDestruct)
  788.     (this,doFree,ctrl);
  789. }
  790.  
  791.  
  792. /* initializer method: somDefaultCopyInit */
  793. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  794.         SOMObject* fromObj)
  795. {
  796. /*
  797.  *  A default copy constructor. Use this to make copies of objects for
  798.  *  calling methods with "by-value" argument semantics.
  799.  */
  800.    SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultCopyInit)
  801.     (this,ctrl,fromObj);
  802. }
  803.  
  804.  
  805. /* method: somDefaultAssign */
  806. ooxdbf*  somDefaultAssign(som3AssignCtrl* ctrl, 
  807.         SOMObject* fromObj)
  808. {
  809. /*
  810.  *  A default assignment operator. Use this to "assign" the state of one
  811.  *  object to another.
  812.  */
  813.    return SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultAssign)
  814.     (this,ctrl,fromObj);
  815. }
  816.  
  817.  
  818. /* initializer method: somDefaultConstCopyInit */
  819. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  820.         SOMObject* fromObj)
  821. {
  822. /*
  823.  *  A default copy constructor that uses a const fromObj.
  824.  */
  825.    SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultConstCopyInit)
  826.     (this,ctrl,fromObj);
  827. }
  828.  
  829.  
  830. /* initializer method: somDefaultVCopyInit */
  831. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  832.         SOMObject* fromObj)
  833. {
  834. /*
  835.  *  A default copy constructor that uses a volatile fromObj.
  836.  */
  837.    SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultVCopyInit)
  838.     (this,ctrl,fromObj);
  839. }
  840.  
  841.  
  842. /* initializer method: somDefaultConstVCopyInit */
  843. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  844.         SOMObject* fromObj)
  845. {
  846. /*
  847.  *  A default copy constructor that uses a const volatile fromObj.
  848.  */
  849.    SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultConstVCopyInit)
  850.     (this,ctrl,fromObj);
  851. }
  852.  
  853.  
  854. /* method: somDefaultConstAssign */
  855. ooxdbf*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  856.         SOMObject* fromObj)
  857. {
  858. /*
  859.  *  A default assignment operator that uses a const fromObj.
  860.  */
  861.    return SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultConstAssign)
  862.     (this,ctrl,fromObj);
  863. }
  864.  
  865.  
  866. /* method: somDefaultVAssign */
  867. ooxdbf*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  868.         SOMObject* fromObj)
  869. {
  870. /*
  871.  *  A default assignment operator that uses a volatile fromObj.
  872.  */
  873.    return SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultVAssign)
  874.     (this,ctrl,fromObj);
  875. }
  876.  
  877.  
  878. /* method: somDefaultConstVAssign */
  879. ooxdbf*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  880.         SOMObject* fromObj)
  881. {
  882. /*
  883.  *  A default assignment operator that uses a const volatile fromObj.
  884.  */
  885.    return SOM_ResolveD(this,ooxdbf,SOMObject,somDefaultConstVAssign)
  886.     (this,ctrl,fromObj);
  887. }
  888.  
  889.  
  890. /* method: somInit */
  891. void   somInit()
  892. {
  893. /*
  894.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  895.  */
  896.    SOM_ResolveD(this,ooxdbf,SOMObject,somInit)
  897.     (this);
  898. }
  899.  
  900.  
  901. /* method: somFree */
  902. void   somFree()
  903. {
  904. /*
  905.  *  Use as directed by framework implementations.
  906.  */
  907.    SOM_ResolveD(this,ooxdbf,SOMObject,somFree)
  908.     (this);
  909. }
  910.  
  911.  
  912. /* method: somUninit */
  913. void   somUninit()
  914. {
  915. /*
  916.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  917.  */
  918.    SOM_ResolveD(this,ooxdbf,SOMObject,somUninit)
  919.     (this);
  920. }
  921.  
  922.  
  923. /* method: somGetClass */
  924. SOMClass*   somGetClass()
  925. {
  926. /*
  927.  *  Return the receiver's class.
  928.  */
  929.    return SOM_ResolveD(this,ooxdbf,SOMObject,somGetClass)
  930.     (this);
  931. }
  932.  
  933.  
  934. /* method: somGetClassName */
  935. string   somGetClassName()
  936. {
  937. /*
  938.  *  Return the name of the receiver's class.
  939.  */
  940.    return SOM_ResolveD(this,ooxdbf,SOMObject,somGetClassName)
  941.     (this);
  942. }
  943.  
  944.  
  945. /* method: somGetSize */
  946. long   somGetSize()
  947. {
  948. /*
  949.  *  Return the size of the receiver.
  950.  */
  951.    return SOM_ResolveD(this,ooxdbf,SOMObject,somGetSize)
  952.     (this);
  953. }
  954.  
  955.  
  956. /* method: somIsA */
  957. boolean   somIsA(SOMClass* aClassObj)
  958. {
  959. /*
  960.  *  Returns 1 (true) if the receiver responds to methods
  961.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  962.  */
  963.    return SOM_ResolveD(this,ooxdbf,SOMObject,somIsA)
  964.     (this,aClassObj);
  965. }
  966.  
  967.  
  968. /* method: somIsInstanceOf */
  969. boolean   somIsInstanceOf(SOMClass* aClassObj)
  970. {
  971. /*
  972.  *  Returns 1 (true) if the receiver is an instance of
  973.  *  <aClassObj> and 0 (false) otherwise.
  974.  */
  975.    return SOM_ResolveD(this,ooxdbf,SOMObject,somIsInstanceOf)
  976.     (this,aClassObj);
  977. }
  978.  
  979.  
  980. /* method: somRespondsTo */
  981. boolean   somRespondsTo(somId mId)
  982. {
  983. /*
  984.  *  Returns 1 (true) if the indicated method can be invoked
  985.  *  on the receiver and 0 (false) otherwise.
  986.  */
  987.    return SOM_ResolveD(this,ooxdbf,SOMObject,somRespondsTo)
  988.     (this,mId);
  989. }
  990.  
  991.  
  992. /* va_list method: somDispatch */
  993.  
  994. /*
  995.  *  This method provides a generic, class-specific dispatch mechanism.
  996.  *  It accepts as input <retValue> a pointer to the memory area to be
  997.  *  loaded with the result of dispatching the method indicated by
  998.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  999.  *  on which the method is to be invoked as the first argument.
  1000.  */
  1001. /* the va_list invocation form */
  1002. boolean   ooxdbf_somDispatch(somToken* retValue, 
  1003.         somId methodId, 
  1004.         va_list ap)
  1005. {return SOM_ResolveD(this,ooxdbf,SOMObject,somDispatch)
  1006.     (this,retValue,methodId,ap);
  1007. }
  1008.  
  1009. /* the varargs invocation form */
  1010. boolean   somDispatch(somToken* retValue, 
  1011.         somId methodId, 
  1012.         ...)
  1013. {
  1014. /*
  1015.  *  This method provides a generic, class-specific dispatch mechanism.
  1016.  *  It accepts as input <retValue> a pointer to the memory area to be
  1017.  *  loaded with the result of dispatching the method indicated by
  1018.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  1019.  *  on which the method is to be invoked as the first argument.
  1020.  */
  1021.    va_list ap;
  1022.    va_start(ap, methodId);
  1023.    boolean __somResult = 
  1024.       SOM_ResolveD(this,ooxdbf,SOMObject,somDispatch)
  1025.     (this,retValue,methodId,ap);
  1026.    va_end(ap);
  1027.    return __somResult;
  1028. }
  1029.  
  1030.  
  1031. /* va_list method: somClassDispatch */
  1032.  
  1033. /*
  1034.  *  Like somDispatch, but method resolution for static methods is done
  1035.  *  according to the clsObj instance method table.
  1036.  */
  1037. /* the va_list invocation form */
  1038. boolean   ooxdbf_somClassDispatch(SOMClass* clsObj, 
  1039.         somToken* retValue, 
  1040.         somId methodId, 
  1041.         va_list ap)
  1042. {return SOM_ResolveD(this,ooxdbf,SOMObject,somClassDispatch)
  1043.     (this,clsObj,retValue,methodId,ap);
  1044. }
  1045.  
  1046. /* the varargs invocation form */
  1047. boolean   somClassDispatch(SOMClass* clsObj, 
  1048.         somToken* retValue, 
  1049.         somId methodId, 
  1050.         ...)
  1051. {
  1052. /*
  1053.  *  Like somDispatch, but method resolution for static methods is done
  1054.  *  according to the clsObj instance method table.
  1055.  */
  1056.    va_list ap;
  1057.    va_start(ap, methodId);
  1058.    boolean __somResult = 
  1059.       SOM_ResolveD(this,ooxdbf,SOMObject,somClassDispatch)
  1060.     (this,clsObj,retValue,methodId,ap);
  1061.    va_end(ap);
  1062.    return __somResult;
  1063. }
  1064.  
  1065.  
  1066. /* method: somCastObj */
  1067. boolean   somCastObj(SOMClass* cls)
  1068. {
  1069. /*
  1070.  *  cast the receiving object to cls (which must be an ancestor of the
  1071.  *  objects true class. Returns true on success.
  1072.  */
  1073.    return SOM_ResolveD(this,ooxdbf,SOMObject,somCastObj)
  1074.     (this,cls);
  1075. }
  1076.  
  1077.  
  1078. /* method: somResetObj */
  1079. boolean   somResetObj()
  1080. {
  1081. /*
  1082.  *  reset an object to its true class. Returns true always.
  1083.  */
  1084.    return SOM_ResolveD(this,ooxdbf,SOMObject,somResetObj)
  1085.     (this);
  1086. }
  1087.  
  1088.  
  1089. /* va_list method: somDispatchV */
  1090.  
  1091. /*
  1092.  *  Obsolete. Use somDispatch instead.
  1093.  */
  1094. /* the va_list invocation form */
  1095. void   ooxdbf_somDispatchV(somId methodId, 
  1096.         somId descriptor, 
  1097.         va_list ap)
  1098. {   SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchV)
  1099.     (this,methodId,descriptor,ap);
  1100. }
  1101.  
  1102. /* the varargs invocation form */
  1103. void   somDispatchV(somId methodId, 
  1104.         somId descriptor, 
  1105.         ...)
  1106. {
  1107. /*
  1108.  *  Obsolete. Use somDispatch instead.
  1109.  */
  1110.    va_list ap;
  1111.    va_start(ap, descriptor);
  1112.    SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchV)
  1113.     (this,methodId,descriptor,ap);
  1114.    va_end(ap);
  1115. }
  1116.  
  1117.  
  1118. /* va_list method: somDispatchL */
  1119.  
  1120. /*
  1121.  *  Obsolete. Use somDispatch instead.
  1122.  */
  1123. /* the va_list invocation form */
  1124. long   ooxdbf_somDispatchL(somId methodId, 
  1125.         somId descriptor, 
  1126.         va_list ap)
  1127. {return SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchL)
  1128.     (this,methodId,descriptor,ap);
  1129. }
  1130.  
  1131. /* the varargs invocation form */
  1132. long   somDispatchL(somId methodId, 
  1133.         somId descriptor, 
  1134.         ...)
  1135. {
  1136. /*
  1137.  *  Obsolete. Use somDispatch instead.
  1138.  */
  1139.    va_list ap;
  1140.    va_start(ap, descriptor);
  1141.    long __somResult = 
  1142.       SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchL)
  1143.     (this,methodId,descriptor,ap);
  1144.    va_end(ap);
  1145.    return __somResult;
  1146. }
  1147.  
  1148.  
  1149. /* va_list method: somDispatchA */
  1150.  
  1151. /*
  1152.  *  Obsolete. Use somDispatch instead.
  1153.  */
  1154. /* the va_list invocation form */
  1155. void*   ooxdbf_somDispatchA(somId methodId, 
  1156.         somId descriptor, 
  1157.         va_list ap)
  1158. {return SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchA)
  1159.     (this,methodId,descriptor,ap);
  1160. }
  1161.  
  1162. /* the varargs invocation form */
  1163. void*   somDispatchA(somId methodId, 
  1164.         somId descriptor, 
  1165.         ...)
  1166. {
  1167. /*
  1168.  *  Obsolete. Use somDispatch instead.
  1169.  */
  1170.    va_list ap;
  1171.    va_start(ap, descriptor);
  1172.    void* __somResult = 
  1173.       SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchA)
  1174.     (this,methodId,descriptor,ap);
  1175.    va_end(ap);
  1176.    return __somResult;
  1177. }
  1178.  
  1179.  
  1180. /* va_list method: somDispatchD */
  1181.  
  1182. /*
  1183.  *  Obsolete. Use somDispatch instead.
  1184.  */
  1185. /* the va_list invocation form */
  1186. double   ooxdbf_somDispatchD(somId methodId, 
  1187.         somId descriptor, 
  1188.         va_list ap)
  1189. {return SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchD)
  1190.     (this,methodId,descriptor,ap);
  1191. }
  1192.  
  1193. /* the varargs invocation form */
  1194. double   somDispatchD(somId methodId, 
  1195.         somId descriptor, 
  1196.         ...)
  1197. {
  1198. /*
  1199.  *  Obsolete. Use somDispatch instead.
  1200.  */
  1201.    va_list ap;
  1202.    va_start(ap, descriptor);
  1203.    double __somResult = 
  1204.       SOM_ResolveD(this,ooxdbf,SOMObject,somDispatchD)
  1205.     (this,methodId,descriptor,ap);
  1206.    va_end(ap);
  1207.    return __somResult;
  1208. }
  1209.  
  1210.  
  1211. /* method: somPrintSelf */
  1212. SOMObject*   somPrintSelf()
  1213. {
  1214. /*
  1215.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  1216.  *  information about this object.  The default implementation just gives
  1217.  *  the object's class name and its address in memory.
  1218.  *  <self> is returned.
  1219.  */
  1220.    return SOM_ResolveD(this,ooxdbf,SOMObject,somPrintSelf)
  1221.     (this);
  1222. }
  1223.  
  1224.  
  1225. /* method: somDumpSelf */
  1226. void   somDumpSelf(long level)
  1227. {
  1228. /*
  1229.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  1230.  *  and its current state.
  1231.  * 
  1232.  *  <level> indicates the nesting level for describing compound objects
  1233.  *  it must be greater than or equal to zero.  All lines in the
  1234.  *  description will be preceeded by <2*level> spaces.
  1235.  * 
  1236.  *  This routine only actually writes the data that concerns the object
  1237.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  1238.  *  the object's current state.  This approach allows readable
  1239.  *  descriptions of compound objects to be constructed.
  1240.  * 
  1241.  *  Generally it is not necessary to override this method, if it is
  1242.  *  overriden it generally must be completely replaced.
  1243.  */
  1244.    SOM_ResolveD(this,ooxdbf,SOMObject,somDumpSelf)
  1245.     (this,level);
  1246. }
  1247.  
  1248.  
  1249. /* method: somDumpSelfInt */
  1250. void   somDumpSelfInt(long level)
  1251. {
  1252. /*
  1253.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  1254.  *  Generally this method will need to be overridden.  When overriding
  1255.  *  it, begin by calling the parent class form of this method and then
  1256.  *  write in a description of your class's instance data. This will
  1257.  *  result in a description of all the object's instance data going
  1258.  *  from its root ancestor class to its specific class.
  1259.  */
  1260.    SOM_ResolveD(this,ooxdbf,SOMObject,somDumpSelfInt)
  1261.     (this,level);
  1262. }
  1263.  
  1264.  
  1265.  
  1266. };   /* ooxdbf */
  1267.  
  1268.  
  1269.  
  1270. #endif       /* SOM_ooxdbf_xh */
  1271.