home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Found / FWStream / SLASinks.xih < prev    next >
Encoding:
Text File  |  1996-09-16  |  6.9 KB  |  300 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: SLASinks.xih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxih.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *     File:        SLASinks.idl
  13.  * 
  14.  *     Contains:    Interface for abstract sink classes
  15.  * 
  16.  *     Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  17.  * 
  18.  */
  19.  
  20.  
  21. #ifndef SOM_FW_OSink_xih
  22. #define SOM_FW_OSink_xih
  23.  
  24. #include <somcls.xh>
  25. #include <somcm.xh>
  26.  
  27. /*
  28.  * Passthru lines: File: "C.xih", "before"
  29.  */
  30.  
  31.  
  32. #ifndef SOM_FW_OSink_xh
  33. #include <SLASinks.xh>
  34. #endif
  35.  
  36. /*
  37.  * Set the scope of methods functions
  38.  */
  39. #ifndef SOM_Scope
  40. #define SOM_Scope extern "C"
  41. #endif
  42.  
  43. #define FW_OSink_MaxNoMethods 4
  44.  
  45. /*
  46.  * -- Instance Data
  47.  */
  48. typedef void FW_OSinkData;
  49.  
  50. /*
  51.  * Trace/Debug macro
  52.  */
  53. #ifndef FW_OSinkMethodDebug
  54. #define FW_OSinkMethodDebug(c,m) SOMMethodDebug(c,m)
  55. #endif
  56.  
  57. /*
  58.  * -- Method Macros for use in Method Procedures
  59.  */
  60. #ifdef METHOD_MACROS
  61.   #define _somInit somSelf->somInit
  62.   #define _somUninit somSelf->somUninit
  63.   #define _somDuplicateReference somSelf->somDuplicateReference
  64.   #define _somCompareReference somSelf->somCompareReference
  65.   #define _somRelease somSelf->somRelease
  66.   #define _somFree somSelf->somFree
  67.   #define _somCanDelete somSelf->somCanDelete
  68.   #define _somGetClass somSelf->somGetClass
  69.   #define _somGetClassName somSelf->somGetClassName
  70.   #define _somGetSize somSelf->somGetSize
  71.   #define _somIsA somSelf->somIsA
  72.   #define _somRespondsTo somSelf->somRespondsTo
  73.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  74.   #define _somDispatch somSelf->somDispatch
  75.   #define _somClassDispatch somSelf->somClassDispatch
  76.   #define _somCastObj somSelf->somCastObj
  77.   #define _somResetObj somSelf->somResetObj
  78.   #define _somPrintSelf somSelf->somPrintSelf
  79.   #define _somDumpSelf somSelf->somDumpSelf
  80.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  81.   #define _GetReadableBytes somSelf->GetReadableBytes
  82.   #define _Read somSelf->Read
  83.   #define _GetWritableBytes somSelf->GetWritableBytes
  84.   #define _Write somSelf->Write
  85.   #define _somInit somSelf->somInit
  86.   #define _somUninit somSelf->somUninit
  87. #endif
  88.  
  89.  
  90. /*
  91.  * Introduced methods
  92.  */
  93.  
  94. /* New Method: GetReadableBytes */
  95. SOM_Scope long  SOMLINK FW_OSink__GetReadableBytes(FW_OSink *somSelf, Environment *ev);
  96.  
  97. /* New Method: Read */
  98. SOM_Scope void  SOMLINK FW_OSink__Read(FW_OSink *somSelf, Environment *ev,
  99.         void* destination,
  100.         long count);
  101.  
  102. /* New Method: GetWritableBytes */
  103. SOM_Scope long  SOMLINK FW_OSink__GetWritableBytes(FW_OSink *somSelf, Environment *ev);
  104.  
  105. /* New Method: Write */
  106. SOM_Scope void  SOMLINK FW_OSink__Write(FW_OSink *somSelf, Environment *ev,
  107.         void* source,
  108.         long count);
  109.  
  110. /*
  111.  * Overridden methods
  112.  */
  113.  
  114. /* Overridden method: somInit */
  115. SOM_Scope void  SOMLINK FW_OSink__somInit(FW_OSink *somSelf);
  116. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OSink_somInit)(FW_OSink *somSelf);
  117. inline void  SOMLINK FW_OSink_parent_SOMObject_somInit(FW_OSink *somSelf)
  118. {
  119.   (void)         (somSelf);
  120. }
  121. #define FW_OSink_parents_somInit(arg0) \
  122.   (void) FW_OSink_parent_SOMObject_somInit(arg0)
  123.  
  124. /* Overridden method: somUninit */
  125. SOM_Scope void  SOMLINK FW_OSink__somUninit(FW_OSink *somSelf);
  126. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OSink_somUninit)(FW_OSink *somSelf);
  127. inline void  SOMLINK FW_OSink_parent_SOMObject_somUninit(FW_OSink *somSelf)
  128. {
  129.   (void)         (somSelf);
  130. }
  131. #define FW_OSink_parents_somUninit(arg0) \
  132.   (void) FW_OSink_parent_SOMObject_somUninit(arg0)
  133.  
  134. /*
  135.  * -- Primary Implementation File Support
  136.  */
  137. #if (defined(FW_OSink_Class_Source) || defined(SOM_Module_slasinks_Source))
  138.  
  139. /*
  140.  * -- The FW_OSink ClassData Structure
  141.  */
  142.  
  143. #if PRAGMA_IMPORT_SUPPORTED
  144. #pragma export list FW_OSinkClassData
  145. #endif
  146.  
  147.  
  148. /*
  149.  * -- The FW_OSink Class Ancestor Table
  150.  */
  151. static somClassDataStructure * SOMDLINK FW_OSinkClassAncestors [] = {
  152.     (somClassDataStructure*) & SOMObjectClassData,    /* parent */
  153. };
  154.  
  155.  
  156. /*
  157.  * -- The FW_OSink Override ProcPtr Implementations Table
  158.  */
  159. static somMethodPtr FW_OSinkOverrideProcs [] = {
  160.     (somMethodPtr) FW_OSink__somInit,    /* override class SOMObject */
  161.     (somMethodPtr) FW_OSink__somUninit,    /* override class SOMObject */
  162. };
  163.  
  164.  
  165. static void FW_OSinkDLLD ( void ) { }
  166.  
  167.  
  168. /*
  169.  * -- The FW_OSink Static Class Info Master Table
  170.  */
  171. static somStaticClassInfo FW_OSinkSCI = {
  172.       70,    /* layout version */
  173.     (somClassDataStructure*)  & FW_OSinkClassData,    /* main token table */
  174.       FW_OSinkOverrideProcs,    /* override proc implemenations table */
  175.       FW_OSinkClassAncestors,    /* ancestor table */
  176.       FW_OSinkDLLD,    /* DLLdesignator */
  177.       0,    /* no special procs */
  178.       0,    /* rtci slot */
  179.       0,    /* count slot */
  180.       0,    /* dynamic ancestry */
  181.       0,    /* free */
  182.       0,    /* free */
  183.       0,    /* free */
  184.       0,    /* free */
  185.  
  186. /*
  187.  * -- The FW_OSink Counts Table
  188.  */
  189.     (somStaticClassCounts *)
  190.         "\x00\x00\x00\x01"    /* majorversion */
  191.         "\x00\x00\x00\x00"    /* minorversion */
  192.         "\x00\x00\x00\x01"    /* flags */
  193.             "\x00\x00"    /* type code alignment */
  194.             "\x00\x06"    /* classTokenCount */
  195.             "\x00\x01"    /* numDirectParents */
  196.             "\x00\x00"    /* numMetaClasses */
  197.             "\x00\x01"    /* numOverriddenAncestors */
  198.             "\x00\x00"    /* numMigratedMethods */
  199.             "\x00\x00"    /* numSelectedInherited */
  200.             "\x00\x00"    /* numUnused */
  201.             "\x00\x00"    /* free */
  202.             "\x00\x00"    /* free */
  203.             "\x00\x00"    /* free */
  204.             "\x00"    /* free */
  205.                 ,
  206.  
  207.     {
  208.       "FW_OSink",    /* the class name */
  209.       0, /* no class instance data */
  210.  
  211. /*
  212.  * -- The FW_OSink Parent Versions Table
  213.  */
  214.     (somParentVersions *)
  215.         "\x00\x00\x00\x46"    /* majorversion */
  216.         "\x00\x00\x00\x01"    /* minorversion */
  217.                 ,
  218.  
  219.  
  220. /*
  221.  * -- The FW_OSink Token Slot Usage Table
  222.  */
  223.     (somSlotUsage *)
  224.         "\x33\x00",
  225.  
  226.  
  227. /*
  228.  * -- The FW_OSink Method Signature Info
  229.  */
  230.     (somSignatureInfo *)
  231.         "\x02\x05"    /* GetReadableBytes */
  232.          "\x04\x07"    /* Read */
  233.          "\x02\x05"    /* GetWritableBytes */
  234.          "\x04\x07"    /* Write */
  235.              ,
  236.  
  237.  
  238. /*
  239.  * -- The FW_OSink Class Method Names
  240.  */
  241.         "somInit\0"
  242.         "somUninit\0"
  243.         "GetReadableBytes\0"
  244.         "Read\0"
  245.         "GetWritableBytes\0"
  246.         "Write\0"
  247.             ,
  248.  
  249.  
  250. /*
  251.  * -- The FW_OSink Override Slots Table
  252.  */
  253.     (somOverrideData *)
  254.         "\x00\x00\x00\x02"    /* parent SOMObject has 2 overrides */
  255.             "\x00\x00"    /* somInit */
  256.             "\x00\x01"    /* somUninit */
  257.                 ,
  258.  
  259.       0,    /* no migrated methods table */
  260.       0,    /* no selected inherited */
  261.       0,    /* unused */
  262.  
  263.       0,    /* free */
  264.       0,    /* free */
  265.       0,    /* free */
  266.       0,    /* free */
  267.     },
  268. };
  269.  
  270. /*
  271.  * -- The FW_OSink ClassData Structure
  272.  */
  273. struct FW_OSinkClassDataStructure SOMDLINK FW_OSinkClassData = {
  274.       0,            /* zero */
  275.     & FW_OSinkSCI,        /* SCI link */
  276.       0,            /* instanceDataToken */
  277.       0,            /* reserved */
  278.       0,            /* reserved */
  279.       0,            /* reserved */
  280.     (somMToken) 0,        /* somInit:empty */
  281.     (somMToken) 0,        /* somUninit:empty */
  282.     (somMToken) FW_OSink__GetReadableBytes,    /* GetReadableBytes:method */
  283.     (somMToken) FW_OSink__Read,    /* Read:method */
  284.     (somMToken) FW_OSink__GetWritableBytes,    /* GetWritableBytes:method */
  285.     (somMToken) FW_OSink__Write,    /* Write:method */
  286. };
  287.  
  288.  
  289. /*
  290.  * Functions for attributes.
  291.  */
  292.  
  293. /*
  294.  * Macros for initializers/destructors
  295.  */
  296.  
  297. #endif /* Primary Implementation Support */
  298.  
  299. #endif       /* SOM_FW_OSink_xih */
  300.