home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / fsagm.h < prev    next >
C/C++ Source or Header  |  1999-02-22  |  9KB  |  318 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: fsagm.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somp
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMPAscii_h
  26. #define SOM_SOMPAscii_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMPAscii
  42. #define SOMPAscii SOMObject
  43. #endif
  44. /*
  45.  *  This is an IO Group Manager which stores groups of objects
  46.  *  to the file system using the media interface SOMPAsciiMediaInterface.
  47.  * 
  48.  *  This IO Group Manager stores non-object data (for example the number
  49.  *  of objects in the group) in ASCII format.
  50.  *  The file is readable but should not be editted.
  51.  */
  52. #include <iogma.h>
  53.  
  54. /*
  55.  * Start of bindings for IDL types
  56.  */
  57.  
  58. #ifndef SOMClass
  59.     #define SOMClass SOMObject
  60. #endif /* SOMClass */
  61. #ifndef SOMPMediaInterfaceAbstract
  62.     #define SOMPMediaInterfaceAbstract SOMObject
  63. #endif /* SOMPMediaInterfaceAbstract */
  64. #ifndef SOMPIOGroup
  65.     #define SOMPIOGroup SOMObject
  66. #endif /* SOMPIOGroup */
  67. #ifndef SOMPPersistentId
  68.     #define SOMPPersistentId SOMObject
  69. #endif /* SOMPPersistentId */
  70. #ifndef SOMPPersistentObject
  71.     #define SOMPPersistentObject SOMObject
  72. #endif /* SOMPPersistentObject */
  73. typedef
  74. struct SOMPAscii_stack_contents {
  75. string  fileName;
  76. long  fileOffset;
  77. } SOMPAscii_stack_contents, SOMPAscii_SOMPTStackContents;
  78. /*
  79.  *  Following structure represents Table of Contents meta-data
  80.  */
  81.  
  82. typedef
  83. struct SOMPAscii_TOC_meta {
  84. unsigned long  numObjects;
  85. long  lastOffset;
  86. } SOMPAscii_TOC_meta, SOMPAscii_SOMPTTOCmeta;
  87. /*
  88.  *  Following structure represents Table of Contents entry data
  89.  */
  90.  
  91. typedef
  92. struct SOMPAscii_TOC_entry {
  93. long  podOffset;
  94. unsigned short  flags;
  95. long  podPos;
  96. long  podLen;
  97. } SOMPAscii_TOC_entry, SOMPAscii_SOMPTTOCentry;
  98.  
  99. #ifndef SOM_DONT_USE_SHORT_NAMES
  100. #ifndef SOMTGD_SOMPTStackContents
  101.     #ifdef SOMPTStackContents
  102.         #undef SOMPTStackContents
  103.         #define SOMTGD_SOMPTStackContents 1
  104.     #else
  105.         #define SOMPTStackContents SOMPAscii_SOMPTStackContents
  106.     #endif /* SOMPTStackContents */
  107. #endif /* SOMTGD_SOMPTStackContents */
  108. #endif /* SOM_DONT_USE_SHORT_NAMES */
  109.  
  110. #ifndef SOM_DONT_USE_SHORT_NAMES
  111. #ifndef SOMTGD_SOMPTTOCmeta
  112.     #ifdef SOMPTTOCmeta
  113.         #undef SOMPTTOCmeta
  114.         #define SOMTGD_SOMPTTOCmeta 1
  115.     #else
  116.         #define SOMPTTOCmeta SOMPAscii_SOMPTTOCmeta
  117.     #endif /* SOMPTTOCmeta */
  118. #endif /* SOMTGD_SOMPTTOCmeta */
  119. #endif /* SOM_DONT_USE_SHORT_NAMES */
  120.  
  121. #ifndef SOM_DONT_USE_SHORT_NAMES
  122. #ifndef SOMTGD_SOMPTTOCentry
  123.     #ifdef SOMPTTOCentry
  124.         #undef SOMPTTOCentry
  125.         #define SOMTGD_SOMPTTOCentry 1
  126.     #else
  127.         #define SOMPTTOCentry SOMPAscii_SOMPTTOCentry
  128.     #endif /* SOMPTTOCentry */
  129. #endif /* SOMTGD_SOMPTTOCentry */
  130. #endif /* SOM_DONT_USE_SHORT_NAMES */
  131.  
  132. /*
  133.  * End of bindings for IDL types.
  134.  */
  135.  
  136. #define SOMPAscii_MajorVersion 2
  137. #define SOMPAscii_MinorVersion 1
  138.  
  139. /*
  140.  * External name shortening if required
  141.  */
  142. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  143. #define SOMPAsciiNewClass c
  144. #pragma linkage(c, system)
  145. #define SOMPAsciiClassData d
  146. #define SOMPAsciiCClassData x
  147. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  148. /*--------------Migration------------*/
  149. #define SOMPAscii_classObj SOMPAsciiClassData.classObject
  150. #define _SOMPAscii SOMPAscii_classObj
  151.  
  152. /*
  153.  * Declare the class creation procedure
  154.  */
  155. SOMEXTERN SOMClass * SOMLINK SOMPAsciiNewClass(integer4 somtmajorVersion,
  156.         integer4 somtminorVersion);
  157. #pragma linkage(SOMPAsciiNewClass, system)
  158.  
  159. /*
  160.  * Declare the class data structure
  161.  */
  162. SOMEXTERN struct SOMPAsciiClassDataStructure {
  163.     SOMClass *classObject;
  164.     somMToken sompWriteAnObject;
  165.     somMToken sompReadAnObject;
  166.     somMToken sompWriteTOC;
  167.     somMToken sompGroupIsDirty;
  168.     somMToken sompObjectIsDirty;
  169.     somMToken sompFindObjectInGroup;
  170.     somMToken sompSetHeaderLength;
  171.     somMToken sompGetHeaderLength;
  172.     somMToken sompReadTOCOffset;
  173.     somMToken sompWriteTOCOffset;
  174.     somMToken sompReadTOCMeta;
  175.     somMToken sompWriteTOCMeta;
  176.     somMToken sompReadTOCEntry;
  177.     somMToken sompWriteTOCEntry;
  178.     somMToken sompCalcTOCEntryPos;
  179.     somMToken sompCopyGroup;
  180.     somMToken sompCopyObjectData;
  181. } SOMDLINK SOMPAsciiClassData;
  182.  
  183. /*
  184.  * Declare the C specific class data structure
  185.  */
  186. SOMEXTERN struct SOMPAsciiCClassDataStructure {
  187.     somMethodTabs parentMtab;
  188.     somDToken instanceDataToken;
  189. } SOMDLINK SOMPAsciiCClassData;
  190.  
  191. /*
  192.  * New and Renew macros for SOMPAscii
  193.  */
  194. #define SOMPAsciiNew() \
  195.    ( _SOMPAscii ? \
  196.     _somNew(_SOMPAscii) \
  197.     : ( SOMPAsciiNewClass(\
  198.         SOMPAscii_MajorVersion, \
  199.         SOMPAscii_MinorVersion),\
  200.        _somNew(_SOMPAscii)))
  201. #define SOMPAsciiRenew(buf) \
  202.    ( _SOMPAscii ? \
  203.     _somRenew(_SOMPAscii, buf) \
  204.     : ( SOMPAsciiNewClass(\
  205.         SOMPAscii_MajorVersion, \
  206.         SOMPAscii_MinorVersion),\
  207.        _somRenew(_SOMPAscii, buf)))
  208.  
  209. /*
  210.  * Override method: sompNewMediaInterface
  211.  */
  212. #define SOMPAscii_sompNewMediaInterface(somSelf,ev,IOInfo) \
  213.     SOMPIOGroupMgrAbstract_sompNewMediaInterface(somSelf,ev,IOInfo)
  214.  
  215. /*
  216.  * Override method: sompGetMediaInterface
  217.  */
  218. #define SOMPAscii_sompGetMediaInterface(somSelf,ev) \
  219.     SOMPIOGroupMgrAbstract_sompGetMediaInterface(somSelf,ev)
  220.  
  221. /*
  222.  * Override method: sompFreeMediaInterface
  223.  */
  224. #define SOMPAscii_sompFreeMediaInterface(somSelf,ev) \
  225.     SOMPIOGroupMgrAbstract_sompFreeMediaInterface(somSelf,ev)
  226.  
  227. /*
  228.  * Override method: sompInstantiateMediaInterface
  229.  */
  230. #define SOMPAscii_sompInstantiateMediaInterface(somSelf,ev) \
  231.     SOMPIOGroupMgrAbstract_sompInstantiateMediaInterface(somSelf,ev)
  232.  
  233. /*
  234.  * Override method: sompWriteGroup
  235.  */
  236. #define SOMPAscii_sompWriteGroup(somSelf,ev,thisPo) \
  237.     SOMPIOGroupMgrAbstract_sompWriteGroup(somSelf,ev,thisPo)
  238.  
  239. /*
  240.  * Override method: sompReadGroup
  241.  */
  242. #define SOMPAscii_sompReadGroup(somSelf,ev,objectID) \
  243.     SOMPIOGroupMgrAbstract_sompReadGroup(somSelf,ev,objectID)
  244.  
  245. /*
  246.  * Override method: sompReadObjectData
  247.  */
  248. #define SOMPAscii_sompReadObjectData(somSelf,ev,thisPo) \
  249.     SOMPIOGroupMgrAbstract_sompReadObjectData(somSelf,ev,thisPo)
  250.  
  251. /*
  252.  * Override method: sompDeleteObjectFromGroup
  253.  */
  254. #define SOMPAscii_sompDeleteObjectFromGroup(somSelf,ev,objectID) \
  255.     SOMPIOGroupMgrAbstract_sompDeleteObjectFromGroup(somSelf,ev,objectID)
  256.  
  257. /*
  258.  * Override method: sompGroupExists
  259.  */
  260. #define SOMPAscii_sompGroupExists(somSelf,ev,IOInfo) \
  261.     SOMPIOGroupMgrAbstract_sompGroupExists(somSelf,ev,IOInfo)
  262.  
  263. /*
  264.  * Override method: sompObjectInGroup
  265.  */
  266. #define SOMPAscii_sompObjectInGroup(somSelf,ev,objectID) \
  267.     SOMPIOGroupMgrAbstract_sompObjectInGroup(somSelf,ev,objectID)
  268.  
  269. /*
  270.  * Override method: sompMediaFormatOk
  271.  */
  272. #define SOMPAscii_sompMediaFormatOk(somSelf,ev,mediaFormatName) \
  273.     SOMPIOGroupMgrAbstract_sompMediaFormatOk(somSelf,ev,mediaFormatName)
  274.  
  275. /*
  276.  * Override method: somInit
  277.  */
  278. #define SOMPAscii_somInit(somSelf) \
  279.     SOMObject_somInit(somSelf)
  280.  
  281. /*
  282.  * Override method: somUninit
  283.  */
  284. #define SOMPAscii_somUninit(somSelf) \
  285.     SOMObject_somUninit(somSelf)
  286. #ifndef SOM_DONT_USE_INHERITED_MACROS
  287. #define SOMPAscii_somDefaultInit SOMObject_somDefaultInit
  288. #define SOMPAscii_somDestruct SOMObject_somDestruct
  289. #define SOMPAscii_somDefaultCopyInit SOMObject_somDefaultCopyInit
  290. #define SOMPAscii_somDefaultAssign SOMObject_somDefaultAssign
  291. #define SOMPAscii_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  292. #define SOMPAscii_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  293. #define SOMPAscii_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  294. #define SOMPAscii_somDefaultConstAssign SOMObject_somDefaultConstAssign
  295. #define SOMPAscii_somDefaultVAssign SOMObject_somDefaultVAssign
  296. #define SOMPAscii_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  297. #define SOMPAscii_somFree SOMObject_somFree
  298. #define SOMPAscii_somGetClass SOMObject_somGetClass
  299. #define SOMPAscii_somGetClassName SOMObject_somGetClassName
  300. #define SOMPAscii_somGetSize SOMObject_somGetSize
  301. #define SOMPAscii_somIsA SOMObject_somIsA
  302. #define SOMPAscii_somIsInstanceOf SOMObject_somIsInstanceOf
  303. #define SOMPAscii_somRespondsTo SOMObject_somRespondsTo
  304. #define SOMPAscii_somDispatch SOMObject_somDispatch
  305. #define SOMPAscii_somClassDispatch SOMObject_somClassDispatch
  306. #define SOMPAscii_somCastObj SOMObject_somCastObj
  307. #define SOMPAscii_somResetObj SOMObject_somResetObj
  308. #define SOMPAscii_somDispatchV SOMObject_somDispatchV
  309. #define SOMPAscii_somDispatchL SOMObject_somDispatchL
  310. #define SOMPAscii_somDispatchA SOMObject_somDispatchA
  311. #define SOMPAscii_somDispatchD SOMObject_somDispatchD
  312. #define SOMPAscii_somPrintSelf SOMObject_somPrintSelf
  313. #define SOMPAscii_somDumpSelf SOMObject_somDumpSelf
  314. #define SOMPAscii_somDumpSelfInt SOMObject_somDumpSelfInt
  315. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  316.  
  317. #endif       /* SOM_SOMPAscii_h */
  318.