home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / smxbs100.zip / somxbase.h < prev    next >
C/C++ Source or Header  |  1995-09-22  |  5KB  |  206 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somxbase.h.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emith: 1.11
  8.  */
  9.  
  10. /*
  11.  *    somxbase.csc
  12.  * 
  13.  *    a class defining a set of objects (somxbases)
  14.  */
  15.  
  16.  
  17. #ifndef somxbase_h
  18. #define somxbase_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * Define the class name as an object type
  25.  */
  26. #ifndef xdbf
  27. #define xdbf SOMAny
  28. #endif
  29. #include <somobj.h>
  30.  
  31. #define xdbf_MajorVersion 0
  32. #define xdbf_MinorVersion 0
  33.  
  34. /*
  35.  * External name shortening if required
  36.  */
  37. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  38. #define xdbfNewClass c
  39. #pragma linkage(c, system)
  40. #define xdbfClassData d
  41. #define xdbfCClassData x
  42. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  43. /*--------------Migration------------*/
  44. #define xdbf_classObj xdbfClassData.classObject
  45. #define _xdbf xdbf_classObj
  46.  
  47. /*
  48.  * New and Renew macros for xdbf
  49.  */
  50. #define _xdbfNew() (_somNew(xdbfClassData.classObject))
  51. #define xdbfNew() \
  52.     ( xdbfClassData.classObject \
  53.         ? _xdbfNew() \
  54.         : ( xdbfNewClass(xdbf_MajorVersion, xdbf_MinorVersion), _xdbfNew() ) )
  55. #define xdbfRenew(buf) \
  56.     ( _somRenew(xdbfClassData.classObject, buf) )
  57.  
  58. /*
  59.  * New Method: open
  60.  */
  61. typedef short    SOMLINK somTP_xdbf_open(xdbf *somSelf,
  62.         char *dbfname);
  63. #pragma linkage(somTP_xdbf_open, system)
  64. typedef somTP_xdbf_open *somTD_xdbf_open;
  65. #define somMD_xdbf_open "----"
  66. #define xdbf_open(somSelf,dbfname) \
  67.     (SOM_Resolve(somSelf, xdbf, open) \
  68.     (somSelf,dbfname))
  69. #define _open xdbf_open
  70.  
  71. /*
  72.  * New Method: read
  73.  */
  74. typedef short    SOMLINK somTP_xdbf_read(xdbf *somSelf);
  75. #pragma linkage(somTP_xdbf_read, system)
  76. typedef somTP_xdbf_read *somTD_xdbf_read;
  77. #define somMD_xdbf_read "----"
  78. #define xdbf_read(somSelf) \
  79.     (SOM_Resolve(somSelf, xdbf, read) \
  80.     (somSelf))
  81. #define _read xdbf_read
  82.  
  83. /*
  84.  * New Method: write
  85.  */
  86. typedef short    SOMLINK somTP_xdbf_write(xdbf *somSelf);
  87. #pragma linkage(somTP_xdbf_write, system)
  88. typedef somTP_xdbf_write *somTD_xdbf_write;
  89. #define somMD_xdbf_write "----"
  90. #define xdbf_write(somSelf) \
  91.     (SOM_Resolve(somSelf, xdbf, write) \
  92.     (somSelf))
  93. #define _write xdbf_write
  94.  
  95. /*
  96.  * New Method: go_to
  97.  */
  98. typedef short    SOMLINK somTP_xdbf_go_to(xdbf *somSelf,
  99.         int recno);
  100. #pragma linkage(somTP_xdbf_go_to, system)
  101. typedef somTP_xdbf_go_to *somTD_xdbf_go_to;
  102. #define somMD_xdbf_go_to "----"
  103. #define xdbf_go_to(somSelf,recno) \
  104.     (SOM_Resolve(somSelf, xdbf, go_to) \
  105.     (somSelf,recno))
  106. #define _go_to xdbf_go_to
  107.  
  108. /*
  109.  * New Method: update
  110.  */
  111. typedef short    SOMLINK somTP_xdbf_update(xdbf *somSelf);
  112. #pragma linkage(somTP_xdbf_update, system)
  113. typedef somTP_xdbf_update *somTD_xdbf_update;
  114. #define somMD_xdbf_update "----"
  115. #define xdbf_update(somSelf) \
  116.     (SOM_Resolve(somSelf, xdbf, update) \
  117.     (somSelf))
  118. #define _update xdbf_update
  119.  
  120. /*
  121.  * New Method: close
  122.  */
  123. typedef short    SOMLINK somTP_xdbf_close(xdbf *somSelf);
  124. #pragma linkage(somTP_xdbf_close, system)
  125. typedef somTP_xdbf_close *somTD_xdbf_close;
  126. #define somMD_xdbf_close "----"
  127. #define xdbf_close(somSelf) \
  128.     (SOM_Resolve(somSelf, xdbf, close) \
  129.     (somSelf))
  130. #define _close xdbf_close
  131.  
  132. /*
  133.  * New Method: getfld
  134.  */
  135. typedef short    SOMLINK somTP_xdbf_getfld(xdbf *somSelf,
  136.         char *fldname,
  137.         char *flddata);
  138. #pragma linkage(somTP_xdbf_getfld, system)
  139. typedef somTP_xdbf_getfld *somTD_xdbf_getfld;
  140. #define somMD_xdbf_getfld "----"
  141. #define xdbf_getfld(somSelf,fldname,flddata) \
  142.     (SOM_Resolve(somSelf, xdbf, getfld) \
  143.     (somSelf,fldname,flddata))
  144. #define _getfld xdbf_getfld
  145.  
  146. /*
  147.  * New Method: setfld
  148.  */
  149. typedef short    SOMLINK somTP_xdbf_setfld(xdbf *somSelf,
  150.         char *fldname,
  151.         char *flddata);
  152. #pragma linkage(somTP_xdbf_setfld, system)
  153. typedef somTP_xdbf_setfld *somTD_xdbf_setfld;
  154. #define somMD_xdbf_setfld "----"
  155. #define xdbf_setfld(somSelf,fldname,flddata) \
  156.     (SOM_Resolve(somSelf, xdbf, setfld) \
  157.     (somSelf,fldname,flddata))
  158. #define _setfld xdbf_setfld
  159.  
  160. /*
  161.  * New Method: whaterror
  162.  */
  163. typedef char *   SOMLINK somTP_xdbf_whaterror(xdbf *somSelf);
  164. #pragma linkage(somTP_xdbf_whaterror, system)
  165. typedef somTP_xdbf_whaterror *somTD_xdbf_whaterror;
  166. #define somMD_xdbf_whaterror "----"
  167. #define xdbf_whaterror(somSelf) \
  168.     (SOM_Resolve(somSelf, xdbf, whaterror) \
  169.     (somSelf))
  170. #define _whaterror xdbf_whaterror
  171.  
  172. /*
  173.  * Declare the class creation procedure
  174.  */
  175. SOMEXTERN SOMAny * SOMLINK xdbfNewClass(integer4 scemajorVersion,
  176.         integer4 sceminorVersion);
  177. #pragma linkage(xdbfNewClass, system)
  178.  
  179. /*
  180.  * Declare the class data structure
  181.  */
  182. SOMEXTERN struct xdbfClassDataStructure {
  183.     SOMAny *classObject;
  184.     somMToken open;
  185.     somMToken read;
  186.     somMToken write;
  187.     somMToken go_to;
  188.     somMToken update;
  189.     somMToken close;
  190.     somMToken getfld;
  191.     somMToken setfld;
  192.     somDToken file;
  193.     somDToken error;
  194.     somMToken whaterror;
  195. } xdbfClassData;
  196.  
  197. /*
  198.  * Declare the C specific class data structure
  199.  */
  200. SOMEXTERN struct xdbfCClassDataStructure {
  201.     somMethodTab *parentMtab;
  202.     somDToken instanceDataToken;
  203. } xdbfCClassData;
  204.  
  205. #endif       /* somxbase_h */
  206.