home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / mia.xh < prev    next >
Text File  |  1999-02-22  |  26KB  |  815 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: mia.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 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_SOMPMediaInterfaceAbstract_xh
  26. #define SOM_SOMPMediaInterfaceAbstract_xh
  27.  
  28. class SOMPMediaInterfaceAbstract;
  29.  
  30. /*
  31.  *  This is the abstract class definition for an interface to
  32.  *  some media.
  33.  */
  34.  
  35. #define SOMPMediaInterfaceAbstract_MajorVersion 2
  36. #define SOMPMediaInterfaceAbstract_MinorVersion 1
  37.  
  38. /* C++ SOM defs */
  39. #include <somcls.xh>
  40. #include <somcm.xh>
  41.  
  42. /* C++ parent defs */
  43. #ifndef SOM_SOMObject_xh
  44. #include <somobj.xh>
  45. #endif
  46.  
  47. #ifndef SOMPMediaInterfaceAbstract_API
  48. #define SOMPMediaInterfaceAbstract_API
  49. /*
  50.  * -- The Class API
  51.  */
  52.  
  53. /*
  54.  * Start of bindings for IDL types
  55.  */
  56.  
  57. class SOMClass;
  58. class SOMObject;
  59.  
  60. /*
  61.  * End of bindings for IDL types.
  62.  */
  63.  
  64. /* A procedure to create the SOMPMediaInterfaceAbstract Class */
  65. SOMEXTERN SOMClass * SOMLINK SOMPMediaInterfaceAbstractNewClass(
  66.         integer4 majorVersion,
  67.         integer4 minorVersion);
  68.  
  69. /* The API to the SOMPMediaInterfaceAbstract class object, and the methods it introduces. */
  70. SOMEXTERN struct SOMPMediaInterfaceAbstractClassDataStructure {
  71.     SOMClass *classObject;
  72.     somMToken sompOpen;
  73.     somMToken sompClose;
  74. } SOMDLINK SOMPMediaInterfaceAbstractClassData;
  75. #define _SOMPMediaInterfaceAbstract SOMPMediaInterfaceAbstractClassData.classObject
  76.  
  77. /* The API to parentMtabs for SOMPMediaInterfaceAbstract, and the instance data it introduces. */
  78. SOMEXTERN struct SOMPMediaInterfaceAbstractCClassDataStructure {
  79.     somMethodTabs parentMtab;
  80.     somDToken              instanceDataToken;
  81. } SOMDLINK SOMPMediaInterfaceAbstractCClassData;
  82.  
  83. /*
  84.  * -- Typedefs for SOMPMediaInterfaceAbstract Method Procedures
  85.  */
  86. SOMEXTERN {
  87. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_sompOpen(SOMPMediaInterfaceAbstract *somSelf, Environment *ev);
  88. typedef somTP_SOMPMediaInterfaceAbstract_sompOpen *somTD_SOMPMediaInterfaceAbstract_sompOpen;
  89. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_sompClose(SOMPMediaInterfaceAbstract *somSelf, Environment *ev);
  90. typedef somTP_SOMPMediaInterfaceAbstract_sompClose *somTD_SOMPMediaInterfaceAbstract_sompClose;
  91.  
  92. /*
  93.  * -- Typedefs for Reintroduced Wrapper Methods
  94.  */
  95. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultInit(SOMPMediaInterfaceAbstract *somSelf, 
  96.         som3InitCtrl* ctrl);
  97. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultInit *somTD_SOMPMediaInterfaceAbstract_somDefaultInit;
  98. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDestruct(SOMPMediaInterfaceAbstract *somSelf, 
  99.         octet doFree, 
  100.         som3DestructCtrl* ctrl);
  101. typedef somTP_SOMPMediaInterfaceAbstract_somDestruct *somTD_SOMPMediaInterfaceAbstract_somDestruct;
  102. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultCopyInit(SOMPMediaInterfaceAbstract *somSelf, 
  103.         som3InitCtrl* ctrl, 
  104.         SOMObject* fromObj);
  105. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultCopyInit *somTD_SOMPMediaInterfaceAbstract_somDefaultCopyInit;
  106. typedef SOMPMediaInterfaceAbstract*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultAssign(SOMPMediaInterfaceAbstract *somSelf, 
  107.         som3AssignCtrl* ctrl, 
  108.         SOMObject* fromObj);
  109. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultAssign *somTD_SOMPMediaInterfaceAbstract_somDefaultAssign;
  110. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultConstCopyInit(SOMPMediaInterfaceAbstract *somSelf, 
  111.         som3InitCtrl* ctrl, 
  112.         SOMObject* fromObj);
  113. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultConstCopyInit *somTD_SOMPMediaInterfaceAbstract_somDefaultConstCopyInit;
  114. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultVCopyInit(SOMPMediaInterfaceAbstract *somSelf, 
  115.         som3InitCtrl* ctrl, 
  116.         SOMObject* fromObj);
  117. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultVCopyInit *somTD_SOMPMediaInterfaceAbstract_somDefaultVCopyInit;
  118. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultConstVCopyInit(SOMPMediaInterfaceAbstract *somSelf, 
  119.         som3InitCtrl* ctrl, 
  120.         SOMObject* fromObj);
  121. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultConstVCopyInit *somTD_SOMPMediaInterfaceAbstract_somDefaultConstVCopyInit;
  122. typedef SOMPMediaInterfaceAbstract*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultConstAssign(SOMPMediaInterfaceAbstract *somSelf, 
  123.         som3AssignCtrl* ctrl, 
  124.         SOMObject* fromObj);
  125. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultConstAssign *somTD_SOMPMediaInterfaceAbstract_somDefaultConstAssign;
  126. typedef SOMPMediaInterfaceAbstract*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultVAssign(SOMPMediaInterfaceAbstract *somSelf, 
  127.         som3AssignCtrl* ctrl, 
  128.         SOMObject* fromObj);
  129. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultVAssign *somTD_SOMPMediaInterfaceAbstract_somDefaultVAssign;
  130. typedef SOMPMediaInterfaceAbstract*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDefaultConstVAssign(SOMPMediaInterfaceAbstract *somSelf, 
  131.         som3AssignCtrl* ctrl, 
  132.         SOMObject* fromObj);
  133. typedef somTP_SOMPMediaInterfaceAbstract_somDefaultConstVAssign *somTD_SOMPMediaInterfaceAbstract_somDefaultConstVAssign;
  134. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somInit(SOMPMediaInterfaceAbstract *somSelf);
  135. typedef somTP_SOMPMediaInterfaceAbstract_somInit *somTD_SOMPMediaInterfaceAbstract_somInit;
  136. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somFree(SOMPMediaInterfaceAbstract *somSelf);
  137. typedef somTP_SOMPMediaInterfaceAbstract_somFree *somTD_SOMPMediaInterfaceAbstract_somFree;
  138. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somUninit(SOMPMediaInterfaceAbstract *somSelf);
  139. typedef somTP_SOMPMediaInterfaceAbstract_somUninit *somTD_SOMPMediaInterfaceAbstract_somUninit;
  140. typedef SOMClass*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somGetClass(SOMPMediaInterfaceAbstract *somSelf);
  141. typedef somTP_SOMPMediaInterfaceAbstract_somGetClass *somTD_SOMPMediaInterfaceAbstract_somGetClass;
  142. typedef string   SOMLINK somTP_SOMPMediaInterfaceAbstract_somGetClassName(SOMPMediaInterfaceAbstract *somSelf);
  143. typedef somTP_SOMPMediaInterfaceAbstract_somGetClassName *somTD_SOMPMediaInterfaceAbstract_somGetClassName;
  144. typedef long   SOMLINK somTP_SOMPMediaInterfaceAbstract_somGetSize(SOMPMediaInterfaceAbstract *somSelf);
  145. typedef somTP_SOMPMediaInterfaceAbstract_somGetSize *somTD_SOMPMediaInterfaceAbstract_somGetSize;
  146. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somIsA(SOMPMediaInterfaceAbstract *somSelf, 
  147.         SOMClass* aClassObj);
  148. typedef somTP_SOMPMediaInterfaceAbstract_somIsA *somTD_SOMPMediaInterfaceAbstract_somIsA;
  149. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somIsInstanceOf(SOMPMediaInterfaceAbstract *somSelf, 
  150.         SOMClass* aClassObj);
  151. typedef somTP_SOMPMediaInterfaceAbstract_somIsInstanceOf *somTD_SOMPMediaInterfaceAbstract_somIsInstanceOf;
  152. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somRespondsTo(SOMPMediaInterfaceAbstract *somSelf, 
  153.         somId mId);
  154. typedef somTP_SOMPMediaInterfaceAbstract_somRespondsTo *somTD_SOMPMediaInterfaceAbstract_somRespondsTo;
  155. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDispatch(SOMPMediaInterfaceAbstract *somSelf, 
  156.         somToken* retValue, 
  157.         somId methodId, 
  158.         va_list ap);
  159. typedef somTP_SOMPMediaInterfaceAbstract_somDispatch *somTD_SOMPMediaInterfaceAbstract_somDispatch;
  160. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somClassDispatch(SOMPMediaInterfaceAbstract *somSelf, 
  161.         SOMClass* clsObj, 
  162.         somToken* retValue, 
  163.         somId methodId, 
  164.         va_list ap);
  165. typedef somTP_SOMPMediaInterfaceAbstract_somClassDispatch *somTD_SOMPMediaInterfaceAbstract_somClassDispatch;
  166. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somCastObj(SOMPMediaInterfaceAbstract *somSelf, 
  167.         SOMClass* cls);
  168. typedef somTP_SOMPMediaInterfaceAbstract_somCastObj *somTD_SOMPMediaInterfaceAbstract_somCastObj;
  169. typedef boolean   SOMLINK somTP_SOMPMediaInterfaceAbstract_somResetObj(SOMPMediaInterfaceAbstract *somSelf);
  170. typedef somTP_SOMPMediaInterfaceAbstract_somResetObj *somTD_SOMPMediaInterfaceAbstract_somResetObj;
  171. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDispatchV(SOMPMediaInterfaceAbstract *somSelf, 
  172.         somId methodId, 
  173.         somId descriptor, 
  174.         va_list ap);
  175. typedef somTP_SOMPMediaInterfaceAbstract_somDispatchV *somTD_SOMPMediaInterfaceAbstract_somDispatchV;
  176. typedef long   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDispatchL(SOMPMediaInterfaceAbstract *somSelf, 
  177.         somId methodId, 
  178.         somId descriptor, 
  179.         va_list ap);
  180. typedef somTP_SOMPMediaInterfaceAbstract_somDispatchL *somTD_SOMPMediaInterfaceAbstract_somDispatchL;
  181. typedef void*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDispatchA(SOMPMediaInterfaceAbstract *somSelf, 
  182.         somId methodId, 
  183.         somId descriptor, 
  184.         va_list ap);
  185. typedef somTP_SOMPMediaInterfaceAbstract_somDispatchA *somTD_SOMPMediaInterfaceAbstract_somDispatchA;
  186. typedef double   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDispatchD(SOMPMediaInterfaceAbstract *somSelf, 
  187.         somId methodId, 
  188.         somId descriptor, 
  189.         va_list ap);
  190. typedef somTP_SOMPMediaInterfaceAbstract_somDispatchD *somTD_SOMPMediaInterfaceAbstract_somDispatchD;
  191. typedef SOMObject*   SOMLINK somTP_SOMPMediaInterfaceAbstract_somPrintSelf(SOMPMediaInterfaceAbstract *somSelf);
  192. typedef somTP_SOMPMediaInterfaceAbstract_somPrintSelf *somTD_SOMPMediaInterfaceAbstract_somPrintSelf;
  193. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDumpSelf(SOMPMediaInterfaceAbstract *somSelf, 
  194.         long level);
  195. typedef somTP_SOMPMediaInterfaceAbstract_somDumpSelf *somTD_SOMPMediaInterfaceAbstract_somDumpSelf;
  196. typedef void   SOMLINK somTP_SOMPMediaInterfaceAbstract_somDumpSelfInt(SOMPMediaInterfaceAbstract *somSelf, 
  197.         long level);
  198. typedef somTP_SOMPMediaInterfaceAbstract_somDumpSelfInt *somTD_SOMPMediaInterfaceAbstract_somDumpSelfInt;
  199. }
  200.  
  201. #endif /* SOMPMediaInterfaceAbstract_API */
  202.  
  203.  
  204. /*
  205.  * -- This emitter treats Method Tokens as Thunks by default.
  206.  * -- Use the sc modifier "nothunks" to change this default
  207.  */
  208. #undef somresolve_
  209. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  210.  
  211. /*
  212.  * -- The C++ Wrapper Class for SOMPMediaInterfaceAbstract
  213.  */
  214. class SOMPMediaInterfaceAbstract : public SOMObject
  215. {
  216. /*
  217.  *  This is the abstract class definition for an interface to
  218.  *  some media.
  219.  */
  220. public:
  221.  
  222. // SOMPMediaInterfaceAbstract::new creates the class object if necessary, and then uses somNewNoInit
  223. // to allocate memory and create the object. Initialization is in ctors.
  224. void *operator new(size_t)
  225. {
  226.    if (!_SOMPMediaInterfaceAbstract) SOMPMediaInterfaceAbstractNewClass(SOMPMediaInterfaceAbstract_MajorVersion,SOMPMediaInterfaceAbstract_MinorVersion);
  227.    return (void*)
  228.       SOM_Resolve(_SOMPMediaInterfaceAbstract,SOMClass,somNewNoInit)
  229.          ((SOMClass *)((void*)_SOMPMediaInterfaceAbstract));
  230. }
  231.  
  232. // SOMPMediaInterfaceAbstract::delete uses somDestruct.
  233. void operator delete(void * obj)
  234. {
  235.    if (obj && *(void**)obj) {
  236.       SOM_Resolve(obj,SOMObject,somFree)
  237.          ((SOMObject*)obj);
  238.    }
  239. }
  240.  
  241. SOMPMediaInterfaceAbstract& operator=(SOMPMediaInterfaceAbstract& fromObj)
  242. {
  243.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  244.    return *this;
  245. }
  246.  
  247. SOMPMediaInterfaceAbstract()
  248. {
  249.    if (*(void**)this != 
  250.        ((somParentMtabStructPtr)
  251.         (SOMPMediaInterfaceAbstractCClassData.parentMtab))->mtab)
  252.       return;
  253.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  254. }
  255.  
  256. SOMPMediaInterfaceAbstract(SOMPMediaInterfaceAbstract* fromObj)
  257. {
  258.    if (*(void**)this != 
  259.        ((somParentMtabStructPtr)
  260.         (SOMPMediaInterfaceAbstractCClassData.parentMtab))->mtab)
  261.       return;
  262.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  263. }
  264.  
  265. #ifdef __IBMCPP__
  266. #pragma info(nocnv,nopar)
  267. #endif
  268. SOMPMediaInterfaceAbstract(const SOMPMediaInterfaceAbstract* fromObj)
  269. {
  270.    if (*(void**)this != 
  271.        ((somParentMtabStructPtr)
  272.         (SOMPMediaInterfaceAbstractCClassData.parentMtab))->mtab)
  273.       return;
  274.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  275. }
  276. #ifdef __IBMCPP__
  277. #pragma info(restore)
  278. #endif
  279.  
  280.  
  281. /* method: sompOpen */
  282. void   sompOpen(Environment *ev)
  283. {
  284. /*
  285.  *  Open the media interface.
  286.  */
  287.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMPMediaInterfaceAbstract,sompOpen)
  288.     (this, ev);
  289. }
  290.  
  291.  
  292. /* method: sompClose */
  293. void   sompClose(Environment *ev)
  294. {
  295. /*
  296.  *  Close the media interface.
  297.  */
  298.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMPMediaInterfaceAbstract,sompClose)
  299.     (this, ev);
  300. }
  301.  
  302.  
  303. /*
  304.  * Reintroduce inherited methods
  305.  */
  306.  
  307. /* initializer method: somDefaultInit */
  308. void   somDefaultInit(som3InitCtrl* ctrl)
  309. {
  310. /*
  311.  *  A default initializer for a SOM object. Passing a null ctrl
  312.  *  indicates to the receiver that its class is the class of the
  313.  *  object being initialized, whereby the initializer will determine
  314.  *  an appropriate control structure.
  315.  */
  316.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultInit)
  317.     (this,ctrl);
  318. }
  319.  
  320.  
  321. /* method: somDestruct */
  322. void   somDestruct(octet doFree, 
  323.         som3DestructCtrl* ctrl)
  324. {
  325. /*
  326.  *  The default destructor for a SOM object. A nonzero <doFree>
  327.  *  indicates that the object storage should be freed by the
  328.  *  object's class (via somDeallocate) after uninitialization.
  329.  *  As with somDefaultInit, a null ctrl can be passed.
  330.  */
  331.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDestruct)
  332.     (this,doFree,ctrl);
  333. }
  334.  
  335.  
  336. /* initializer method: somDefaultCopyInit */
  337. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  338.         SOMObject* fromObj)
  339. {
  340. /*
  341.  *  A default copy constructor. Use this to make copies of objects for
  342.  *  calling methods with "by-value" argument semantics.
  343.  */
  344.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultCopyInit)
  345.     (this,ctrl,fromObj);
  346. }
  347.  
  348.  
  349. /* method: somDefaultAssign */
  350. SOMPMediaInterfaceAbstract*  somDefaultAssign(som3AssignCtrl* ctrl, 
  351.         SOMObject* fromObj)
  352. {
  353. /*
  354.  *  A default assignment operator. Use this to "assign" the state of one
  355.  *  object to another.
  356.  */
  357.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultAssign)
  358.     (this,ctrl,fromObj);
  359. }
  360.  
  361.  
  362. /* initializer method: somDefaultConstCopyInit */
  363. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  364.         SOMObject* fromObj)
  365. {
  366. /*
  367.  *  A default copy constructor that uses a const fromObj.
  368.  */
  369.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultConstCopyInit)
  370.     (this,ctrl,fromObj);
  371. }
  372.  
  373.  
  374. /* initializer method: somDefaultVCopyInit */
  375. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  376.         SOMObject* fromObj)
  377. {
  378. /*
  379.  *  A default copy constructor that uses a volatile fromObj.
  380.  */
  381.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultVCopyInit)
  382.     (this,ctrl,fromObj);
  383. }
  384.  
  385.  
  386. /* initializer method: somDefaultConstVCopyInit */
  387. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  388.         SOMObject* fromObj)
  389. {
  390. /*
  391.  *  A default copy constructor that uses a const volatile fromObj.
  392.  */
  393.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultConstVCopyInit)
  394.     (this,ctrl,fromObj);
  395. }
  396.  
  397.  
  398. /* method: somDefaultConstAssign */
  399. SOMPMediaInterfaceAbstract*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  400.         SOMObject* fromObj)
  401. {
  402. /*
  403.  *  A default assignment operator that uses a const fromObj.
  404.  */
  405.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultConstAssign)
  406.     (this,ctrl,fromObj);
  407. }
  408.  
  409.  
  410. /* method: somDefaultVAssign */
  411. SOMPMediaInterfaceAbstract*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  412.         SOMObject* fromObj)
  413. {
  414. /*
  415.  *  A default assignment operator that uses a volatile fromObj.
  416.  */
  417.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultVAssign)
  418.     (this,ctrl,fromObj);
  419. }
  420.  
  421.  
  422. /* method: somDefaultConstVAssign */
  423. SOMPMediaInterfaceAbstract*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  424.         SOMObject* fromObj)
  425. {
  426. /*
  427.  *  A default assignment operator that uses a const volatile fromObj.
  428.  */
  429.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDefaultConstVAssign)
  430.     (this,ctrl,fromObj);
  431. }
  432.  
  433.  
  434. /* method: somInit */
  435. void   somInit()
  436. {
  437. /*
  438.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  439.  */
  440.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somInit)
  441.     (this);
  442. }
  443.  
  444.  
  445. /* method: somFree */
  446. void   somFree()
  447. {
  448. /*
  449.  *  Use as directed by framework implementations.
  450.  */
  451.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somFree)
  452.     (this);
  453. }
  454.  
  455.  
  456. /* method: somUninit */
  457. void   somUninit()
  458. {
  459. /*
  460.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  461.  */
  462.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somUninit)
  463.     (this);
  464. }
  465.  
  466.  
  467. /* method: somGetClass */
  468. SOMClass*   somGetClass()
  469. {
  470. /*
  471.  *  Return the receiver's class.
  472.  */
  473.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somGetClass)
  474.     (this);
  475. }
  476.  
  477.  
  478. /* method: somGetClassName */
  479. string   somGetClassName()
  480. {
  481. /*
  482.  *  Return the name of the receiver's class.
  483.  */
  484.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somGetClassName)
  485.     (this);
  486. }
  487.  
  488.  
  489. /* method: somGetSize */
  490. long   somGetSize()
  491. {
  492. /*
  493.  *  Return the size of the receiver.
  494.  */
  495.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somGetSize)
  496.     (this);
  497. }
  498.  
  499.  
  500. /* method: somIsA */
  501. boolean   somIsA(SOMClass* aClassObj)
  502. {
  503. /*
  504.  *  Returns 1 (true) if the receiver responds to methods
  505.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  506.  */
  507.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somIsA)
  508.     (this,aClassObj);
  509. }
  510.  
  511.  
  512. /* method: somIsInstanceOf */
  513. boolean   somIsInstanceOf(SOMClass* aClassObj)
  514. {
  515. /*
  516.  *  Returns 1 (true) if the receiver is an instance of
  517.  *  <aClassObj> and 0 (false) otherwise.
  518.  */
  519.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somIsInstanceOf)
  520.     (this,aClassObj);
  521. }
  522.  
  523.  
  524. /* method: somRespondsTo */
  525. boolean   somRespondsTo(somId mId)
  526. {
  527. /*
  528.  *  Returns 1 (true) if the indicated method can be invoked
  529.  *  on the receiver and 0 (false) otherwise.
  530.  */
  531.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somRespondsTo)
  532.     (this,mId);
  533. }
  534.  
  535.  
  536. /* va_list method: somDispatch */
  537.  
  538. /*
  539.  *  This method provides a generic, class-specific dispatch mechanism.
  540.  *  It accepts as input <retValue> a pointer to the memory area to be
  541.  *  loaded with the result of dispatching the method indicated by
  542.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  543.  *  on which the method is to be invoked as the first argument.
  544.  */
  545. /* the va_list invocation form */
  546. boolean   SOMPMediaInterfaceAbstract_somDispatch(somToken* retValue, 
  547.         somId methodId, 
  548.         va_list ap)
  549. {return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatch)
  550.     (this,retValue,methodId,ap);
  551. }
  552.  
  553. /* the varargs invocation form */
  554. boolean   somDispatch(somToken* retValue, 
  555.         somId methodId, 
  556.         ...)
  557. {
  558. /*
  559.  *  This method provides a generic, class-specific dispatch mechanism.
  560.  *  It accepts as input <retValue> a pointer to the memory area to be
  561.  *  loaded with the result of dispatching the method indicated by
  562.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  563.  *  on which the method is to be invoked as the first argument.
  564.  */
  565.    va_list ap;
  566.    va_start(ap, methodId);
  567.    boolean __somResult = 
  568.       SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatch)
  569.     (this,retValue,methodId,ap);
  570.    va_end(ap);
  571.    return __somResult;
  572. }
  573.  
  574.  
  575. /* va_list method: somClassDispatch */
  576.  
  577. /*
  578.  *  Like somDispatch, but method resolution for static methods is done
  579.  *  according to the clsObj instance method table.
  580.  */
  581. /* the va_list invocation form */
  582. boolean   SOMPMediaInterfaceAbstract_somClassDispatch(SOMClass* clsObj, 
  583.         somToken* retValue, 
  584.         somId methodId, 
  585.         va_list ap)
  586. {return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somClassDispatch)
  587.     (this,clsObj,retValue,methodId,ap);
  588. }
  589.  
  590. /* the varargs invocation form */
  591. boolean   somClassDispatch(SOMClass* clsObj, 
  592.         somToken* retValue, 
  593.         somId methodId, 
  594.         ...)
  595. {
  596. /*
  597.  *  Like somDispatch, but method resolution for static methods is done
  598.  *  according to the clsObj instance method table.
  599.  */
  600.    va_list ap;
  601.    va_start(ap, methodId);
  602.    boolean __somResult = 
  603.       SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somClassDispatch)
  604.     (this,clsObj,retValue,methodId,ap);
  605.    va_end(ap);
  606.    return __somResult;
  607. }
  608.  
  609.  
  610. /* method: somCastObj */
  611. boolean   somCastObj(SOMClass* cls)
  612. {
  613. /*
  614.  *  cast the receiving object to cls (which must be an ancestor of the
  615.  *  objects true class. Returns true on success.
  616.  */
  617.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somCastObj)
  618.     (this,cls);
  619. }
  620.  
  621.  
  622. /* method: somResetObj */
  623. boolean   somResetObj()
  624. {
  625. /*
  626.  *  reset an object to its true class. Returns true always.
  627.  */
  628.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somResetObj)
  629.     (this);
  630. }
  631.  
  632.  
  633. /* va_list method: somDispatchV */
  634.  
  635. /*
  636.  *  Obsolete. Use somDispatch instead.
  637.  */
  638. /* the va_list invocation form */
  639. void   SOMPMediaInterfaceAbstract_somDispatchV(somId methodId, 
  640.         somId descriptor, 
  641.         va_list ap)
  642. {   SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchV)
  643.     (this,methodId,descriptor,ap);
  644. }
  645.  
  646. /* the varargs invocation form */
  647. void   somDispatchV(somId methodId, 
  648.         somId descriptor, 
  649.         ...)
  650. {
  651. /*
  652.  *  Obsolete. Use somDispatch instead.
  653.  */
  654.    va_list ap;
  655.    va_start(ap, descriptor);
  656.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchV)
  657.     (this,methodId,descriptor,ap);
  658.    va_end(ap);
  659. }
  660.  
  661.  
  662. /* va_list method: somDispatchL */
  663.  
  664. /*
  665.  *  Obsolete. Use somDispatch instead.
  666.  */
  667. /* the va_list invocation form */
  668. long   SOMPMediaInterfaceAbstract_somDispatchL(somId methodId, 
  669.         somId descriptor, 
  670.         va_list ap)
  671. {return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchL)
  672.     (this,methodId,descriptor,ap);
  673. }
  674.  
  675. /* the varargs invocation form */
  676. long   somDispatchL(somId methodId, 
  677.         somId descriptor, 
  678.         ...)
  679. {
  680. /*
  681.  *  Obsolete. Use somDispatch instead.
  682.  */
  683.    va_list ap;
  684.    va_start(ap, descriptor);
  685.    long __somResult = 
  686.       SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchL)
  687.     (this,methodId,descriptor,ap);
  688.    va_end(ap);
  689.    return __somResult;
  690. }
  691.  
  692.  
  693. /* va_list method: somDispatchA */
  694.  
  695. /*
  696.  *  Obsolete. Use somDispatch instead.
  697.  */
  698. /* the va_list invocation form */
  699. void*   SOMPMediaInterfaceAbstract_somDispatchA(somId methodId, 
  700.         somId descriptor, 
  701.         va_list ap)
  702. {return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchA)
  703.     (this,methodId,descriptor,ap);
  704. }
  705.  
  706. /* the varargs invocation form */
  707. void*   somDispatchA(somId methodId, 
  708.         somId descriptor, 
  709.         ...)
  710. {
  711. /*
  712.  *  Obsolete. Use somDispatch instead.
  713.  */
  714.    va_list ap;
  715.    va_start(ap, descriptor);
  716.    void* __somResult = 
  717.       SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchA)
  718.     (this,methodId,descriptor,ap);
  719.    va_end(ap);
  720.    return __somResult;
  721. }
  722.  
  723.  
  724. /* va_list method: somDispatchD */
  725.  
  726. /*
  727.  *  Obsolete. Use somDispatch instead.
  728.  */
  729. /* the va_list invocation form */
  730. double   SOMPMediaInterfaceAbstract_somDispatchD(somId methodId, 
  731.         somId descriptor, 
  732.         va_list ap)
  733. {return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchD)
  734.     (this,methodId,descriptor,ap);
  735. }
  736.  
  737. /* the varargs invocation form */
  738. double   somDispatchD(somId methodId, 
  739.         somId descriptor, 
  740.         ...)
  741. {
  742. /*
  743.  *  Obsolete. Use somDispatch instead.
  744.  */
  745.    va_list ap;
  746.    va_start(ap, descriptor);
  747.    double __somResult = 
  748.       SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDispatchD)
  749.     (this,methodId,descriptor,ap);
  750.    va_end(ap);
  751.    return __somResult;
  752. }
  753.  
  754.  
  755. /* method: somPrintSelf */
  756. SOMObject*   somPrintSelf()
  757. {
  758. /*
  759.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  760.  *  information about this object.  The default implementation just gives
  761.  *  the object's class name and its address in memory.
  762.  *  <self> is returned.
  763.  */
  764.    return SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somPrintSelf)
  765.     (this);
  766. }
  767.  
  768.  
  769. /* method: somDumpSelf */
  770. void   somDumpSelf(long level)
  771. {
  772. /*
  773.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  774.  *  and its current state.
  775.  * 
  776.  *  <level> indicates the nesting level for describing compound objects
  777.  *  it must be greater than or equal to zero.  All lines in the
  778.  *  description will be preceeded by <2*level> spaces.
  779.  * 
  780.  *  This routine only actually writes the data that concerns the object
  781.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  782.  *  the object's current state.  This approach allows readable
  783.  *  descriptions of compound objects to be constructed.
  784.  * 
  785.  *  Generally it is not necessary to override this method, if it is
  786.  *  overriden it generally must be completely replaced.
  787.  */
  788.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDumpSelf)
  789.     (this,level);
  790. }
  791.  
  792.  
  793. /* method: somDumpSelfInt */
  794. void   somDumpSelfInt(long level)
  795. {
  796. /*
  797.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  798.  *  Generally this method will need to be overridden.  When overriding
  799.  *  it, begin by calling the parent class form of this method and then
  800.  *  write in a description of your class's instance data. This will
  801.  *  result in a description of all the object's instance data going
  802.  *  from its root ancestor class to its specific class.
  803.  */
  804.    SOM_ResolveD(this,SOMPMediaInterfaceAbstract,SOMObject,somDumpSelfInt)
  805.     (this,level);
  806. }
  807.  
  808.  
  809.  
  810. };   /* SOMPMediaInterfaceAbstract */
  811.  
  812.  
  813.  
  814. #endif       /* SOM_SOMPMediaInterfaceAbstract_xh */
  815.