
/*
 * This file was generated by the SOM Compiler.
 * FileName: fmib.xh.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.17
 *     SOM Emitter emitxh: 2.47
 */

/*
 *    COMPONENT_NAME: somp
 * 
 *    ORIGINS: 27
 * 
 * 
 *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996
 *    All Rights Reserved
 *    Licensed Materials - Property of IBM
 *    US Government Users Restricted Rights - Use, duplication or
 *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 * 
 */


#ifndef SOM_SOMPBinaryFileMedia_xh
#define SOM_SOMPBinaryFileMedia_xh

class SOMPBinaryFileMedia;

/*
 *  The SOMPBinaryFileMedia class provides an interface to the file
 *  system which writes numbers in binary.
 */

#define SOMPBinaryFileMedia_MajorVersion 2
#define SOMPBinaryFileMedia_MinorVersion 1

/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>

/* C++ parent defs */
#ifndef SOM_SOMPAsciiMediaInterface_xh
#include <fmi.xh>
#endif

#ifndef SOMPBinaryFileMedia_API
#define SOMPBinaryFileMedia_API
/*
 * -- The Class API
 */

/*
 * Start of bindings for IDL types
 */

class SOMClass;
class SOMObject;

/*
 * End of bindings for IDL types.
 */

/* A procedure to create the SOMPBinaryFileMedia Class */
SOMEXTERN SOMClass * SOMLINK SOMPBinaryFileMediaNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* The API to the SOMPBinaryFileMedia class object, and the methods it introduces. */
SOMEXTERN struct SOMPBinaryFileMediaClassDataStructure {
	SOMClass *classObject;
} SOMDLINK SOMPBinaryFileMediaClassData;
#define _SOMPBinaryFileMedia SOMPBinaryFileMediaClassData.classObject

/* The API to parentMtabs for SOMPBinaryFileMedia, and the instance data it introduces. */
SOMEXTERN struct SOMPBinaryFileMediaCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
} SOMDLINK SOMPBinaryFileMediaCClassData;

/*
 * -- Typedefs for SOMPBinaryFileMedia Method Procedures
 */
SOMEXTERN {

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompInitSpecific(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		SOMPAsciiMediaInterface_mediaInfoType* mediaInfo);
typedef somTP_SOMPBinaryFileMedia_sompInitSpecific *somTD_SOMPBinaryFileMedia_sompInitSpecific;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompStat(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		SOMPStatDef_sompstat* fileStats);
typedef somTP_SOMPBinaryFileMedia_sompStat *somTD_SOMPBinaryFileMedia_sompStat;
typedef unsigned long   SOMLINK somTP_SOMPBinaryFileMedia_sompQueryBlockSize(SOMPBinaryFileMedia *somSelf, Environment *ev);
typedef somTP_SOMPBinaryFileMedia_sompQueryBlockSize *somTD_SOMPBinaryFileMedia_sompQueryBlockSize;
typedef string   SOMLINK somTP_SOMPBinaryFileMedia_sompGetMediaName(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string toBuffer);
typedef somTP_SOMPBinaryFileMedia_sompGetMediaName *somTD_SOMPBinaryFileMedia_sompGetMediaName;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompInitReadWrite(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string mediaInfo);
typedef somTP_SOMPBinaryFileMedia_sompInitReadWrite *somTD_SOMPBinaryFileMedia_sompInitReadWrite;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompInitReadOnly(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string mediaInfo);
typedef somTP_SOMPBinaryFileMedia_sompInitReadOnly *somTD_SOMPBinaryFileMedia_sompInitReadOnly;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompOpen(SOMPBinaryFileMedia *somSelf, Environment *ev);
typedef somTP_SOMPBinaryFileMedia_sompOpen *somTD_SOMPBinaryFileMedia_sompOpen;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompClose(SOMPBinaryFileMedia *somSelf, Environment *ev);
typedef somTP_SOMPBinaryFileMedia_sompClose *somTD_SOMPBinaryFileMedia_sompClose;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompSeekPosition(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		long offset);
typedef somTP_SOMPBinaryFileMedia_sompSeekPosition *somTD_SOMPBinaryFileMedia_sompSeekPosition;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompSeekPositionRel(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		long offset);
typedef somTP_SOMPBinaryFileMedia_sompSeekPositionRel *somTD_SOMPBinaryFileMedia_sompSeekPositionRel;
typedef long   SOMLINK somTP_SOMPBinaryFileMedia_sompGetOffset(SOMPBinaryFileMedia *somSelf, Environment *ev);
typedef somTP_SOMPBinaryFileMedia_sompGetOffset *somTD_SOMPBinaryFileMedia_sompGetOffset;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadBytes(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string byteStream, 
		long length);
typedef somTP_SOMPBinaryFileMedia_sompReadBytes *somTD_SOMPBinaryFileMedia_sompReadBytes;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteBytes(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string byteStream, 
		long length);
typedef somTP_SOMPBinaryFileMedia_sompWriteBytes *somTD_SOMPBinaryFileMedia_sompWriteBytes;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somInit(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somInit *somTD_SOMPBinaryFileMedia_somInit;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somUninit(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somUninit *somTD_SOMPBinaryFileMedia_somUninit;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteOctet(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		octet i1);
typedef somTP_SOMPBinaryFileMedia_sompWriteOctet *somTD_SOMPBinaryFileMedia_sompWriteOctet;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteShort(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		short i2);
typedef somTP_SOMPBinaryFileMedia_sompWriteShort *somTD_SOMPBinaryFileMedia_sompWriteShort;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteUnsignedShort(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		unsigned short u2);
typedef somTP_SOMPBinaryFileMedia_sompWriteUnsignedShort *somTD_SOMPBinaryFileMedia_sompWriteUnsignedShort;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteLong(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		long i4);
typedef somTP_SOMPBinaryFileMedia_sompWriteLong *somTD_SOMPBinaryFileMedia_sompWriteLong;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteUnsignedLong(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		unsigned long u4);
typedef somTP_SOMPBinaryFileMedia_sompWriteUnsignedLong *somTD_SOMPBinaryFileMedia_sompWriteUnsignedLong;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteDouble(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		double f8);
typedef somTP_SOMPBinaryFileMedia_sompWriteDouble *somTD_SOMPBinaryFileMedia_sompWriteDouble;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteFloat(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		float f4);
typedef somTP_SOMPBinaryFileMedia_sompWriteFloat *somTD_SOMPBinaryFileMedia_sompWriteFloat;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteCharacter(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		char c);
typedef somTP_SOMPBinaryFileMedia_sompWriteCharacter *somTD_SOMPBinaryFileMedia_sompWriteCharacter;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteSomobject(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		SOMObject* so, 
		SOMObject* parentObject);
typedef somTP_SOMPBinaryFileMedia_sompWriteSomobject *somTD_SOMPBinaryFileMedia_sompWriteSomobject;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteString(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string wstring);
typedef somTP_SOMPBinaryFileMedia_sompWriteString *somTD_SOMPBinaryFileMedia_sompWriteString;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadOctet(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		octet* i1);
typedef somTP_SOMPBinaryFileMedia_sompReadOctet *somTD_SOMPBinaryFileMedia_sompReadOctet;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadShort(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		short* i2);
typedef somTP_SOMPBinaryFileMedia_sompReadShort *somTD_SOMPBinaryFileMedia_sompReadShort;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadUnsignedShort(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		unsigned short* u2);
typedef somTP_SOMPBinaryFileMedia_sompReadUnsignedShort *somTD_SOMPBinaryFileMedia_sompReadUnsignedShort;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadLong(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		long* i4);
typedef somTP_SOMPBinaryFileMedia_sompReadLong *somTD_SOMPBinaryFileMedia_sompReadLong;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadUnsignedLong(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		unsigned long* i4);
typedef somTP_SOMPBinaryFileMedia_sompReadUnsignedLong *somTD_SOMPBinaryFileMedia_sompReadUnsignedLong;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadDouble(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		double* f8);
typedef somTP_SOMPBinaryFileMedia_sompReadDouble *somTD_SOMPBinaryFileMedia_sompReadDouble;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadFloat(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		float* f4);
typedef somTP_SOMPBinaryFileMedia_sompReadFloat *somTD_SOMPBinaryFileMedia_sompReadFloat;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadCharacter(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		char* c);
typedef somTP_SOMPBinaryFileMedia_sompReadCharacter *somTD_SOMPBinaryFileMedia_sompReadCharacter;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadSomobject(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		SOMObject** so);
typedef somTP_SOMPBinaryFileMedia_sompReadSomobject *somTD_SOMPBinaryFileMedia_sompReadSomobject;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadString(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string* rstring);
typedef somTP_SOMPBinaryFileMedia_sompReadString *somTD_SOMPBinaryFileMedia_sompReadString;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadStringToBuffer(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string buffer, 
		long bufsize);
typedef somTP_SOMPBinaryFileMedia_sompReadStringToBuffer *somTD_SOMPBinaryFileMedia_sompReadStringToBuffer;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteLine(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string buffer);
typedef somTP_SOMPBinaryFileMedia_sompWriteLine *somTD_SOMPBinaryFileMedia_sompWriteLine;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadLine(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		string buffer, 
		long bufsize);
typedef somTP_SOMPBinaryFileMedia_sompReadLine *somTD_SOMPBinaryFileMedia_sompReadLine;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompWriteTypeCode(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		TypeCode tc);
typedef somTP_SOMPBinaryFileMedia_sompWriteTypeCode *somTD_SOMPBinaryFileMedia_sompWriteTypeCode;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_sompReadTypeCode(SOMPBinaryFileMedia *somSelf, Environment *ev, 
		TypeCode* tc);
typedef somTP_SOMPBinaryFileMedia_sompReadTypeCode *somTD_SOMPBinaryFileMedia_sompReadTypeCode;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultInit(SOMPBinaryFileMedia *somSelf, 
		som3InitCtrl* ctrl);
typedef somTP_SOMPBinaryFileMedia_somDefaultInit *somTD_SOMPBinaryFileMedia_somDefaultInit;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDestruct(SOMPBinaryFileMedia *somSelf, 
		octet doFree, 
		som3DestructCtrl* ctrl);
typedef somTP_SOMPBinaryFileMedia_somDestruct *somTD_SOMPBinaryFileMedia_somDestruct;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultCopyInit(SOMPBinaryFileMedia *somSelf, 
		som3InitCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultCopyInit *somTD_SOMPBinaryFileMedia_somDefaultCopyInit;
typedef SOMPBinaryFileMedia*   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultAssign(SOMPBinaryFileMedia *somSelf, 
		som3AssignCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultAssign *somTD_SOMPBinaryFileMedia_somDefaultAssign;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultConstCopyInit(SOMPBinaryFileMedia *somSelf, 
		som3InitCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultConstCopyInit *somTD_SOMPBinaryFileMedia_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultVCopyInit(SOMPBinaryFileMedia *somSelf, 
		som3InitCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultVCopyInit *somTD_SOMPBinaryFileMedia_somDefaultVCopyInit;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultConstVCopyInit(SOMPBinaryFileMedia *somSelf, 
		som3InitCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultConstVCopyInit *somTD_SOMPBinaryFileMedia_somDefaultConstVCopyInit;
typedef SOMPBinaryFileMedia*   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultConstAssign(SOMPBinaryFileMedia *somSelf, 
		som3AssignCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultConstAssign *somTD_SOMPBinaryFileMedia_somDefaultConstAssign;
typedef SOMPBinaryFileMedia*   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultVAssign(SOMPBinaryFileMedia *somSelf, 
		som3AssignCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultVAssign *somTD_SOMPBinaryFileMedia_somDefaultVAssign;
typedef SOMPBinaryFileMedia*   SOMLINK somTP_SOMPBinaryFileMedia_somDefaultConstVAssign(SOMPBinaryFileMedia *somSelf, 
		som3AssignCtrl* ctrl, 
		SOMObject* fromObj);
typedef somTP_SOMPBinaryFileMedia_somDefaultConstVAssign *somTD_SOMPBinaryFileMedia_somDefaultConstVAssign;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somFree(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somFree *somTD_SOMPBinaryFileMedia_somFree;
typedef SOMClass*   SOMLINK somTP_SOMPBinaryFileMedia_somGetClass(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somGetClass *somTD_SOMPBinaryFileMedia_somGetClass;
typedef string   SOMLINK somTP_SOMPBinaryFileMedia_somGetClassName(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somGetClassName *somTD_SOMPBinaryFileMedia_somGetClassName;
typedef long   SOMLINK somTP_SOMPBinaryFileMedia_somGetSize(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somGetSize *somTD_SOMPBinaryFileMedia_somGetSize;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somIsA(SOMPBinaryFileMedia *somSelf, 
		SOMClass* aClassObj);
typedef somTP_SOMPBinaryFileMedia_somIsA *somTD_SOMPBinaryFileMedia_somIsA;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somIsInstanceOf(SOMPBinaryFileMedia *somSelf, 
		SOMClass* aClassObj);
typedef somTP_SOMPBinaryFileMedia_somIsInstanceOf *somTD_SOMPBinaryFileMedia_somIsInstanceOf;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somRespondsTo(SOMPBinaryFileMedia *somSelf, 
		somId mId);
typedef somTP_SOMPBinaryFileMedia_somRespondsTo *somTD_SOMPBinaryFileMedia_somRespondsTo;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somDispatch(SOMPBinaryFileMedia *somSelf, 
		somToken* retValue, 
		somId methodId, 
		va_list ap);
typedef somTP_SOMPBinaryFileMedia_somDispatch *somTD_SOMPBinaryFileMedia_somDispatch;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somClassDispatch(SOMPBinaryFileMedia *somSelf, 
		SOMClass* clsObj, 
		somToken* retValue, 
		somId methodId, 
		va_list ap);
typedef somTP_SOMPBinaryFileMedia_somClassDispatch *somTD_SOMPBinaryFileMedia_somClassDispatch;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somCastObj(SOMPBinaryFileMedia *somSelf, 
		SOMClass* cls);
typedef somTP_SOMPBinaryFileMedia_somCastObj *somTD_SOMPBinaryFileMedia_somCastObj;
typedef boolean   SOMLINK somTP_SOMPBinaryFileMedia_somResetObj(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somResetObj *somTD_SOMPBinaryFileMedia_somResetObj;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDispatchV(SOMPBinaryFileMedia *somSelf, 
		somId methodId, 
		somId descriptor, 
		va_list ap);
typedef somTP_SOMPBinaryFileMedia_somDispatchV *somTD_SOMPBinaryFileMedia_somDispatchV;
typedef long   SOMLINK somTP_SOMPBinaryFileMedia_somDispatchL(SOMPBinaryFileMedia *somSelf, 
		somId methodId, 
		somId descriptor, 
		va_list ap);
typedef somTP_SOMPBinaryFileMedia_somDispatchL *somTD_SOMPBinaryFileMedia_somDispatchL;
typedef void*   SOMLINK somTP_SOMPBinaryFileMedia_somDispatchA(SOMPBinaryFileMedia *somSelf, 
		somId methodId, 
		somId descriptor, 
		va_list ap);
typedef somTP_SOMPBinaryFileMedia_somDispatchA *somTD_SOMPBinaryFileMedia_somDispatchA;
typedef double   SOMLINK somTP_SOMPBinaryFileMedia_somDispatchD(SOMPBinaryFileMedia *somSelf, 
		somId methodId, 
		somId descriptor, 
		va_list ap);
typedef somTP_SOMPBinaryFileMedia_somDispatchD *somTD_SOMPBinaryFileMedia_somDispatchD;
typedef SOMObject*   SOMLINK somTP_SOMPBinaryFileMedia_somPrintSelf(SOMPBinaryFileMedia *somSelf);
typedef somTP_SOMPBinaryFileMedia_somPrintSelf *somTD_SOMPBinaryFileMedia_somPrintSelf;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDumpSelf(SOMPBinaryFileMedia *somSelf, 
		long level);
typedef somTP_SOMPBinaryFileMedia_somDumpSelf *somTD_SOMPBinaryFileMedia_somDumpSelf;
typedef void   SOMLINK somTP_SOMPBinaryFileMedia_somDumpSelfInt(SOMPBinaryFileMedia *somSelf, 
		long level);
typedef somTP_SOMPBinaryFileMedia_somDumpSelfInt *somTD_SOMPBinaryFileMedia_somDumpSelfInt;
}

#endif /* SOMPBinaryFileMedia_API */


/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))

/*
 * -- The C++ Wrapper Class for SOMPBinaryFileMedia
 */
class SOMPBinaryFileMedia : public SOMPAsciiMediaInterface
{
/*
 *  The SOMPBinaryFileMedia class provides an interface to the file
 *  system which writes numbers in binary.
 */
public:

// SOMPBinaryFileMedia::new creates the class object if necessary, and then uses somNewNoInit
// to allocate memory and create the object. Initialization is in ctors.
void *operator new(size_t)
{
   if (!_SOMPBinaryFileMedia) SOMPBinaryFileMediaNewClass(SOMPBinaryFileMedia_MajorVersion,SOMPBinaryFileMedia_MinorVersion);
   return (void*)
      SOM_Resolve(_SOMPBinaryFileMedia,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_SOMPBinaryFileMedia));
}

// SOMPBinaryFileMedia::delete uses somDestruct.
void operator delete(void * obj)
{
   if (obj && *(void**)obj) {
      SOM_Resolve(obj,SOMObject,somFree)
         ((SOMObject*)obj);
   }
}

SOMPBinaryFileMedia& operator=(SOMPBinaryFileMedia& fromObj)
{
   this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
   return *this;
}

SOMPBinaryFileMedia()
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (SOMPBinaryFileMediaCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultInit(0);
}

SOMPBinaryFileMedia(SOMPBinaryFileMedia* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (SOMPBinaryFileMediaCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}

#ifdef __IBMCPP__
#pragma info(nocnv,nopar)
#endif
SOMPBinaryFileMedia(const SOMPBinaryFileMedia* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (SOMPBinaryFileMediaCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}
#ifdef __IBMCPP__
#pragma info(restore)
#endif


/*
 * Reintroduce inherited methods
 */

/* method: sompInitSpecific */
void   sompInitSpecific(Environment *ev, 
		SOMPAsciiMediaInterface_mediaInfoType* mediaInfo)
{
/*
 *  Initialize MediaInterface with specific permissions and/or flags.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPAsciiMediaInterface,sompInitSpecific)
	(this, ev,mediaInfo);
}


/* method: sompStat */
void   sompStat(Environment *ev, 
		SOMPStatDef_sompstat* fileStats)
{
/*
 *  Fills the stat structure for the file associated with this object.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPAsciiMediaInterface,sompStat)
	(this, ev,fileStats);
}


/* method: sompQueryBlockSize */
unsigned long   sompQueryBlockSize(Environment *ev)
{
/*
 *  This method returns an optimal block size for I/O operations. This
 *  method would likely be called prior to allocating a buffer to be used
 *  for reading/writing.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPAsciiMediaInterface,sompQueryBlockSize)
	(this, ev);
}


/* method: sompGetMediaName */
string   sompGetMediaName(Environment *ev, 
		string toBuffer)
{
/*
 *  Puts the name of the file for the fmi object into toBuffer and returns
 *  the address of the buffer.  The buffer must be allocated (and freed)
 *  by the client.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPAsciiMediaInterface,sompGetMediaName)
	(this, ev,toBuffer);
}


/* method: sompInitReadWrite */
void   sompInitReadWrite(Environment *ev, 
		string mediaInfo)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompInitReadWrite)
	(this, ev,mediaInfo);
}


/* method: sompInitReadOnly */
void   sompInitReadOnly(Environment *ev, 
		string mediaInfo)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompInitReadOnly)
	(this, ev,mediaInfo);
}


/* method: sompOpen */
void   sompOpen(Environment *ev)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPMediaInterfaceAbstract,sompOpen)
	(this, ev);
}


/* method: sompClose */
void   sompClose(Environment *ev)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPMediaInterfaceAbstract,sompClose)
	(this, ev);
}


/* method: sompSeekPosition */
void   sompSeekPosition(Environment *ev, 
		long offset)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompSeekPosition)
	(this, ev,offset);
}


/* method: sompSeekPositionRel */
void   sompSeekPositionRel(Environment *ev, 
		long offset)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompSeekPositionRel)
	(this, ev,offset);
}


/* method: sompGetOffset */
long   sompGetOffset(Environment *ev)
{
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompGetOffset)
	(this, ev);
}


/* method: sompReadBytes */
void   sompReadBytes(Environment *ev, 
		string byteStream, 
		long length)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadBytes)
	(this, ev,byteStream,length);
}


/* method: sompWriteBytes */
void   sompWriteBytes(Environment *ev, 
		string byteStream, 
		long length)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteBytes)
	(this, ev,byteStream,length);
}


/* method: somInit */
void   somInit()
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somInit)
	(this);
}


/* method: somUninit */
void   somUninit()
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somUninit)
	(this);
}


/* method: sompWriteOctet */
void   sompWriteOctet(Environment *ev, 
		octet i1)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteOctet)
	(this, ev,i1);
}


/* method: sompWriteShort */
void   sompWriteShort(Environment *ev, 
		short i2)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteShort)
	(this, ev,i2);
}


/* method: sompWriteUnsignedShort */
void   sompWriteUnsignedShort(Environment *ev, 
		unsigned short u2)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteUnsignedShort)
	(this, ev,u2);
}


/* method: sompWriteLong */
void   sompWriteLong(Environment *ev, 
		long i4)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteLong)
	(this, ev,i4);
}


/* method: sompWriteUnsignedLong */
void   sompWriteUnsignedLong(Environment *ev, 
		unsigned long u4)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteUnsignedLong)
	(this, ev,u4);
}


/* method: sompWriteDouble */
void   sompWriteDouble(Environment *ev, 
		double f8)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteDouble)
	(this, ev,f8);
}


/* method: sompWriteFloat */
void   sompWriteFloat(Environment *ev, 
		float f4)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteFloat)
	(this, ev,f4);
}


/* method: sompWriteCharacter */
void   sompWriteCharacter(Environment *ev, 
		char c)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteCharacter)
	(this, ev,c);
}


/* method: sompWriteSomobject */
void   sompWriteSomobject(Environment *ev, 
		SOMObject* so, 
		SOMObject* parentObject)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteSomobject)
	(this, ev,so,parentObject);
}


/* method: sompWriteString */
void   sompWriteString(Environment *ev, 
		string wstring)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteString)
	(this, ev,wstring);
}


/* method: sompReadOctet */
void   sompReadOctet(Environment *ev, 
		octet* i1)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadOctet)
	(this, ev,i1);
}


/* method: sompReadShort */
void   sompReadShort(Environment *ev, 
		short* i2)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadShort)
	(this, ev,i2);
}


/* method: sompReadUnsignedShort */
void   sompReadUnsignedShort(Environment *ev, 
		unsigned short* u2)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadUnsignedShort)
	(this, ev,u2);
}


/* method: sompReadLong */
void   sompReadLong(Environment *ev, 
		long* i4)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadLong)
	(this, ev,i4);
}


/* method: sompReadUnsignedLong */
void   sompReadUnsignedLong(Environment *ev, 
		unsigned long* i4)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadUnsignedLong)
	(this, ev,i4);
}


/* method: sompReadDouble */
void   sompReadDouble(Environment *ev, 
		double* f8)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadDouble)
	(this, ev,f8);
}


/* method: sompReadFloat */
void   sompReadFloat(Environment *ev, 
		float* f4)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadFloat)
	(this, ev,f4);
}


/* method: sompReadCharacter */
void   sompReadCharacter(Environment *ev, 
		char* c)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadCharacter)
	(this, ev,c);
}


/* method: sompReadSomobject */
void   sompReadSomobject(Environment *ev, 
		SOMObject** so)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadSomobject)
	(this, ev,so);
}


/* method: sompReadString */
void   sompReadString(Environment *ev, 
		string* rstring)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadString)
	(this, ev,rstring);
}


/* method: sompReadStringToBuffer */
void   sompReadStringToBuffer(Environment *ev, 
		string buffer, 
		long bufsize)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadStringToBuffer)
	(this, ev,buffer,bufsize);
}


/* method: sompWriteLine */
void   sompWriteLine(Environment *ev, 
		string buffer)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteLine)
	(this, ev,buffer);
}


/* method: sompReadLine */
void   sompReadLine(Environment *ev, 
		string buffer, 
		long bufsize)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadLine)
	(this, ev,buffer,bufsize);
}


/* method: sompWriteTypeCode */
void   sompWriteTypeCode(Environment *ev, 
		TypeCode tc)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompWriteTypeCode)
	(this, ev,tc);
}


/* method: sompReadTypeCode */
void   sompReadTypeCode(Environment *ev, 
		TypeCode* tc)
{
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMPFileMediaAbstract,sompReadTypeCode)
	(this, ev,tc);
}


/* initializer method: somDefaultInit */
void   somDefaultInit(som3InitCtrl* ctrl)
{
/*
 *  A default initializer for a SOM object. Passing a null ctrl
 *  indicates to the receiver that its class is the class of the
 *  object being initialized, whereby the initializer will determine
 *  an appropriate control structure.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultInit)
	(this,ctrl);
}


/* method: somDestruct */
void   somDestruct(octet doFree, 
		som3DestructCtrl* ctrl)
{
/*
 *  The default destructor for a SOM object. A nonzero <doFree>
 *  indicates that the object storage should be freed by the
 *  object's class (via somDeallocate) after uninitialization.
 *  As with somDefaultInit, a null ctrl can be passed.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDestruct)
	(this,doFree,ctrl);
}


/* initializer method: somDefaultCopyInit */
void   somDefaultCopyInit(som3InitCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default copy constructor. Use this to make copies of objects for
 *  calling methods with "by-value" argument semantics.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultAssign */
SOMPBinaryFileMedia*  somDefaultAssign(som3AssignCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default assignment operator. Use this to "assign" the state of one
 *  object to another.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultAssign)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstCopyInit */
void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default copy constructor that uses a const fromObj.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultConstCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultVCopyInit */
void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default copy constructor that uses a volatile fromObj.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultVCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstVCopyInit */
void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default copy constructor that uses a const volatile fromObj.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultConstVCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstAssign */
SOMPBinaryFileMedia*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default assignment operator that uses a const fromObj.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultConstAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultVAssign */
SOMPBinaryFileMedia*  somDefaultVAssign(som3AssignCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default assignment operator that uses a volatile fromObj.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultVAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstVAssign */
SOMPBinaryFileMedia*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
		SOMObject* fromObj)
{
/*
 *  A default assignment operator that uses a const volatile fromObj.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDefaultConstVAssign)
	(this,ctrl,fromObj);
}


/* method: somFree */
void   somFree()
{
/*
 *  Use as directed by framework implementations.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somFree)
	(this);
}


/* method: somGetClass */
SOMClass*   somGetClass()
{
/*
 *  Return the receiver's class.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somGetClass)
	(this);
}


/* method: somGetClassName */
string   somGetClassName()
{
/*
 *  Return the name of the receiver's class.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somGetClassName)
	(this);
}


/* method: somGetSize */
long   somGetSize()
{
/*
 *  Return the size of the receiver.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somGetSize)
	(this);
}


/* method: somIsA */
boolean   somIsA(SOMClass* aClassObj)
{
/*
 *  Returns 1 (true) if the receiver responds to methods
 *  introduced by <aClassObj>, and 0 (false) otherwise.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somIsA)
	(this,aClassObj);
}


/* method: somIsInstanceOf */
boolean   somIsInstanceOf(SOMClass* aClassObj)
{
/*
 *  Returns 1 (true) if the receiver is an instance of
 *  <aClassObj> and 0 (false) otherwise.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somIsInstanceOf)
	(this,aClassObj);
}


/* method: somRespondsTo */
boolean   somRespondsTo(somId mId)
{
/*
 *  Returns 1 (true) if the indicated method can be invoked
 *  on the receiver and 0 (false) otherwise.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somRespondsTo)
	(this,mId);
}


/* va_list method: somDispatch */

/*
 *  This method provides a generic, class-specific dispatch mechanism.
 *  It accepts as input <retValue> a pointer to the memory area to be
 *  loaded with the result of dispatching the method indicated by
 *  <methodId> using the arguments in <ap>. <ap> contains the object
 *  on which the method is to be invoked as the first argument.
 */
/* the va_list invocation form */
boolean   SOMPBinaryFileMedia_somDispatch(somToken* retValue, 
		somId methodId, 
		va_list ap)
{return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somDispatch(somToken* retValue, 
		somId methodId, 
		...)
{
/*
 *  This method provides a generic, class-specific dispatch mechanism.
 *  It accepts as input <retValue> a pointer to the memory area to be
 *  loaded with the result of dispatching the method indicated by
 *  <methodId> using the arguments in <ap>. <ap> contains the object
 *  on which the method is to be invoked as the first argument.
 */
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somClassDispatch */

/*
 *  Like somDispatch, but method resolution for static methods is done
 *  according to the clsObj instance method table.
 */
/* the va_list invocation form */
boolean   SOMPBinaryFileMedia_somClassDispatch(SOMClass* clsObj, 
		somToken* retValue, 
		somId methodId, 
		va_list ap)
{return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somClassDispatch(SOMClass* clsObj, 
		somToken* retValue, 
		somId methodId, 
		...)
{
/*
 *  Like somDispatch, but method resolution for static methods is done
 *  according to the clsObj instance method table.
 */
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* method: somCastObj */
boolean   somCastObj(SOMClass* cls)
{
/*
 *  cast the receiving object to cls (which must be an ancestor of the
 *  objects true class. Returns true on success.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somCastObj)
	(this,cls);
}


/* method: somResetObj */
boolean   somResetObj()
{
/*
 *  reset an object to its true class. Returns true always.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somResetObj)
	(this);
}


/* va_list method: somDispatchV */

/*
 *  Obsolete. Use somDispatch instead.
 */
/* the va_list invocation form */
void   SOMPBinaryFileMedia_somDispatchV(somId methodId, 
		somId descriptor, 
		va_list ap)
{   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchV)
	(this,methodId,descriptor,ap);
}

/* the varargs invocation form */
void   somDispatchV(somId methodId, 
		somId descriptor, 
		...)
{
/*
 *  Obsolete. Use somDispatch instead.
 */
   va_list ap;
   va_start(ap, descriptor);
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchV)
	(this,methodId,descriptor,ap);
   va_end(ap);
}


/* va_list method: somDispatchL */

/*
 *  Obsolete. Use somDispatch instead.
 */
/* the va_list invocation form */
long   SOMPBinaryFileMedia_somDispatchL(somId methodId, 
		somId descriptor, 
		va_list ap)
{return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchL)
	(this,methodId,descriptor,ap);
}

/* the varargs invocation form */
long   somDispatchL(somId methodId, 
		somId descriptor, 
		...)
{
/*
 *  Obsolete. Use somDispatch instead.
 */
   va_list ap;
   va_start(ap, descriptor);
   long __somResult = 
      SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchL)
	(this,methodId,descriptor,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somDispatchA */

/*
 *  Obsolete. Use somDispatch instead.
 */
/* the va_list invocation form */
void*   SOMPBinaryFileMedia_somDispatchA(somId methodId, 
		somId descriptor, 
		va_list ap)
{return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchA)
	(this,methodId,descriptor,ap);
}

/* the varargs invocation form */
void*   somDispatchA(somId methodId, 
		somId descriptor, 
		...)
{
/*
 *  Obsolete. Use somDispatch instead.
 */
   va_list ap;
   va_start(ap, descriptor);
   void* __somResult = 
      SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchA)
	(this,methodId,descriptor,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somDispatchD */

/*
 *  Obsolete. Use somDispatch instead.
 */
/* the va_list invocation form */
double   SOMPBinaryFileMedia_somDispatchD(somId methodId, 
		somId descriptor, 
		va_list ap)
{return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchD)
	(this,methodId,descriptor,ap);
}

/* the varargs invocation form */
double   somDispatchD(somId methodId, 
		somId descriptor, 
		...)
{
/*
 *  Obsolete. Use somDispatch instead.
 */
   va_list ap;
   va_start(ap, descriptor);
   double __somResult = 
      SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDispatchD)
	(this,methodId,descriptor,ap);
   va_end(ap);
   return __somResult;
}


/* method: somPrintSelf */
SOMObject*   somPrintSelf()
{
/*
 *  Uses <SOMOutCharRoutine> to write a brief string with identifying
 *  information about this object.  The default implementation just gives
 *  the object's class name and its address in memory.
 *  <self> is returned.
 */
   return SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somPrintSelf)
	(this);
}


/* method: somDumpSelf */
void   somDumpSelf(long level)
{
/*
 *  Uses <SOMOutCharRoutine> to write a detailed description of this object
 *  and its current state.
 * 
 *  <level> indicates the nesting level for describing compound objects
 *  it must be greater than or equal to zero.  All lines in the
 *  description will be preceeded by <2*level> spaces.
 * 
 *  This routine only actually writes the data that concerns the object
 *  as a whole, such as class, and uses <somDumpSelfInt> to describe
 *  the object's current state.  This approach allows readable
 *  descriptions of compound objects to be constructed.
 * 
 *  Generally it is not necessary to override this method, if it is
 *  overriden it generally must be completely replaced.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDumpSelf)
	(this,level);
}


/* method: somDumpSelfInt */
void   somDumpSelfInt(long level)
{
/*
 *  Uses <SOMOutCharRoutine> to write in the current state of this object.
 *  Generally this method will need to be overridden.  When overriding
 *  it, begin by calling the parent class form of this method and then
 *  write in a description of your class's instance data. This will
 *  result in a description of all the object's instance data going
 *  from its root ancestor class to its specific class.
 */
   SOM_ResolveD(this,SOMPBinaryFileMedia,SOMObject,somDumpSelfInt)
	(this,level);
}



};   /* SOMPBinaryFileMedia */



#endif       /* SOM_SOMPBinaryFileMedia_xh */
