
/*
 * This file was generated by the SOM Compiler.
 * FileName: G:\cwpsh\rel\os2c\include\base\os2\wpdataf.xh.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.14
 *     SOM Emitter emitxh: 2.43
 */

/*
 *   Module Header
 * 
 *   Module Name: WPDATAF
 * 
 *   OS/2 Presentation Manager Workplace class definitions
 * 
 *   Copyright (c) International Business Machines Corporation 1991, 1992
 * 
 */


#ifndef SOM_WPDataFile_xh
#define SOM_WPDataFile_xh

class WPDataFile;

#define WPDataFile_MajorVersion 1
#define WPDataFile_MinorVersion 2

/*
 * Passthru lines: File: "C.h", "before"
 */
#define MAX_ASSOC_ITEMS 12

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

/* C++ parent defs */
#ifndef SOM_WPFileSystem_xh
#include <wpfsys.xh>
#endif

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

/*
 * Start of bindings for IDL types
 */

class SOMClass;
class SOMObject;
class WPFolder;
class M_WPObject;
class WPObject;
class WPImageFile;
class M_WPFileSystem;
class M_WPDataFile;

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

/*
 * Passthru lines: File: "C.h", "after"
 */
#define DebugBox(title, text) WinMessageBox(  \            
                                 HWND_DESKTOP, \            
                                 HWND_DESKTOP, \            
                                 (PSZ) text,   \            
                                 (PSZ) title,  \            
                                 0, MB_OK | MB_INFORMATION) 

/* A procedure to create the WPDataFile Class */
class M_WPDataFile;
SOMEXTERN M_WPDataFile * SOMLINK WPDataFileNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* The API to the WPDataFile class object, and the methods it introduces. */
SOMEXTERN struct WPDataFileClassDataStructure {
	M_WPDataFile *classObject;
	somMToken wpAddFileTypePage;
	somMToken wpPrintMetaFile;
	somMToken wpPrintPifFile;
	somMToken wpPrintPrinterSpecificFile;
	somMToken wpPrintUnknownFile;
	somMToken wpQueryAssociatedProgram;
	somMToken wpSetAssociatedFileIcon;
	somMToken wpQueryAssociatedFileIcon;
	somMToken wpSetContentsFromPointer;
	somMToken wpQueryPointerFromContents;
	somMToken wpSetContentsFromHandle;
	somMToken wpQueryHandleFromContents;
	somMToken wpAddBecomePage;
	somMToken wpRenderFromClipboard;
	somMToken undefined1;
	somMToken wpSetDefaultBidiSettings;
	somMToken wpQueryDefaultBidiSettings;
	somMToken SetUpdateIndicator;
	somMToken QueryUpdateIndicator;
	somMToken wpSetBidiValues;
	somMToken wpQueryBidiValues;
	somMToken SetNeedSave;
	somMToken QueryNeedSave;
	somMToken wpInsertBidiPage;
	somMToken wpSaveBidiState;
	somMToken wpRestoreBidiState;
	somMToken wpBidiSetup;
	somMToken wpInitBidiData;
	somMToken hwndSettingsNotebook;
	somMToken wpSettingsNotebook;
} SOMDLINK WPDataFileClassData;
#define _WPDataFile WPDataFileClassData.classObject

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

/*
 * -- Typedefs for WPDataFile Method Procedures
 */
SOMEXTERN {
typedef ULONG   SOMLINK somTP_WPDataFile_wpAddBecomePage(WPDataFile *somSelf, 
		HWND hwndNotebook);
typedef somTP_WPDataFile_wpAddBecomePage *somTD_WPDataFile_wpAddBecomePage;
typedef ULONG   SOMLINK somTP_WPDataFile_wpAddFileTypePage(WPDataFile *somSelf, 
		HWND hwndNotebook);
typedef somTP_WPDataFile_wpAddFileTypePage *somTD_WPDataFile_wpAddFileTypePage;
typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintMetaFile(WPDataFile *somSelf, 
		PPRINTDEST pPrintDest);
typedef somTP_WPDataFile_wpPrintMetaFile *somTD_WPDataFile_wpPrintMetaFile;
typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintPifFile(WPDataFile *somSelf, 
		PPRINTDEST pPrintDest);
typedef somTP_WPDataFile_wpPrintPifFile *somTD_WPDataFile_wpPrintPifFile;
typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintPrinterSpecificFile(WPDataFile *somSelf, 
		PPRINTDEST pPrintDest);
typedef somTP_WPDataFile_wpPrintPrinterSpecificFile *somTD_WPDataFile_wpPrintPrinterSpecificFile;
typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintUnknownFile(WPDataFile *somSelf, 
		PPRINTDEST pPrintDest);
typedef somTP_WPDataFile_wpPrintUnknownFile *somTD_WPDataFile_wpPrintUnknownFile;
typedef WPObject*   SOMLINK somTP_WPDataFile_wpQueryAssociatedProgram(WPDataFile *somSelf, 
		ULONG ulView, 
		PULONG pulHowMatched, 
		PSZ pszMatchString, 
		ULONG cbMatchString, 
		PSZ pszDefaultType);
typedef somTP_WPDataFile_wpQueryAssociatedProgram *somTD_WPDataFile_wpQueryAssociatedProgram;
typedef void   SOMLINK somTP_WPDataFile_wpSetAssociatedFileIcon(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpSetAssociatedFileIcon *somTD_WPDataFile_wpSetAssociatedFileIcon;
typedef HPOINTER   SOMLINK somTP_WPDataFile_wpQueryAssociatedFileIcon(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpQueryAssociatedFileIcon *somTD_WPDataFile_wpQueryAssociatedFileIcon;
typedef BOOL   SOMLINK somTP_WPDataFile_wpSetContentsFromPointer(WPDataFile *somSelf, 
		PVOID pData);
typedef somTP_WPDataFile_wpSetContentsFromPointer *somTD_WPDataFile_wpSetContentsFromPointer;
typedef PVOID   SOMLINK somTP_WPDataFile_wpQueryPointerFromContents(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpQueryPointerFromContents *somTD_WPDataFile_wpQueryPointerFromContents;
typedef BOOL   SOMLINK somTP_WPDataFile_wpSetContentsFromHandle(WPDataFile *somSelf, 
		LHANDLE handle);
typedef somTP_WPDataFile_wpSetContentsFromHandle *somTD_WPDataFile_wpSetContentsFromHandle;
typedef LHANDLE   SOMLINK somTP_WPDataFile_wpQueryHandleFromContents(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpQueryHandleFromContents *somTD_WPDataFile_wpQueryHandleFromContents;
typedef BOOL   SOMLINK somTP_WPDataFile_wpRenderFromClipboard(WPDataFile *somSelf, 
		ULONG aRenderAs);
typedef somTP_WPDataFile_wpRenderFromClipboard *somTD_WPDataFile_wpRenderFromClipboard;
typedef void   SOMLINK somTP_WPDataFile_SetUpdateIndicator(WPDataFile *somSelf, 
		ULONG ulBidiSetting, 
		BOOL flSet);
typedef somTP_WPDataFile_SetUpdateIndicator *somTD_WPDataFile_SetUpdateIndicator;
typedef BOOL   SOMLINK somTP_WPDataFile_QueryUpdateIndicator(WPDataFile *somSelf, 
		ULONG ulBidiSetting);
typedef somTP_WPDataFile_QueryUpdateIndicator *somTD_WPDataFile_QueryUpdateIndicator;
typedef void   SOMLINK somTP_WPDataFile_SetNeedSave(WPDataFile *somSelf, 
		BOOL flNeedSave);
typedef somTP_WPDataFile_SetNeedSave *somTD_WPDataFile_SetNeedSave;
typedef BOOL   SOMLINK somTP_WPDataFile_QueryNeedSave(WPDataFile *somSelf);
typedef somTP_WPDataFile_QueryNeedSave *somTD_WPDataFile_QueryNeedSave;
typedef void   SOMLINK somTP_WPDataFile_wpSetDefaultBidiSettings(WPDataFile *somSelf, 
		ULONG ulBidiSetting, 
		BOOL flSet);
typedef somTP_WPDataFile_wpSetDefaultBidiSettings *somTD_WPDataFile_wpSetDefaultBidiSettings;
typedef BOOL   SOMLINK somTP_WPDataFile_wpQueryDefaultBidiSettings(WPDataFile *somSelf, 
		ULONG ulBidiSetting);
typedef somTP_WPDataFile_wpQueryDefaultBidiSettings *somTD_WPDataFile_wpQueryDefaultBidiSettings;
typedef void   SOMLINK somTP_WPDataFile_wpSetBidiValues(WPDataFile *somSelf, 
		ULONG ulBidiSetting, 
		ULONG ulBidiValue, 
		ULONG ulBidiMask);
typedef somTP_WPDataFile_wpSetBidiValues *somTD_WPDataFile_wpSetBidiValues;
typedef ULONG   SOMLINK somTP_WPDataFile_wpQueryBidiValues(WPDataFile *somSelf, 
		ULONG ulBidiSetting);
typedef somTP_WPDataFile_wpQueryBidiValues *somTD_WPDataFile_wpQueryBidiValues;
typedef BOOL   SOMLINK somTP_WPDataFile_wpInsertBidiPage(WPDataFile *somSelf, 
		HWND hwndNotebook, 
		ULONG ulBidiSettings);
typedef somTP_WPDataFile_wpInsertBidiPage *somTD_WPDataFile_wpInsertBidiPage;
typedef BOOL   SOMLINK somTP_WPDataFile_wpSaveBidiState(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpSaveBidiState *somTD_WPDataFile_wpSaveBidiState;
typedef BOOL   SOMLINK somTP_WPDataFile_wpRestoreBidiState(WPDataFile *somSelf, 
		ULONG ulReserved);
typedef somTP_WPDataFile_wpRestoreBidiState *somTD_WPDataFile_wpRestoreBidiState;
typedef void   SOMLINK somTP_WPDataFile_wpInitBidiData(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpInitBidiData *somTD_WPDataFile_wpInitBidiData;
typedef BOOL   SOMLINK somTP_WPDataFile_wpBidiSetup(WPDataFile *somSelf, 
		PSZ pszSetupString);
typedef somTP_WPDataFile_wpBidiSetup *somTD_WPDataFile_wpBidiSetup;
typedef HWND   SOMLINK somTP_WPDataFile_wpSettingsNotebook(WPDataFile *somSelf);
typedef somTP_WPDataFile_wpSettingsNotebook *somTD_WPDataFile_wpSettingsNotebook;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef M_WPDataFile*   SOMLINK somTP_WPDataFile_somGetClass(WPDataFile *somSelf);
typedef somTP_WPDataFile_somGetClass *somTD_WPDataFile_somGetClass;
}

#endif /* WPDataFile_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 WPDataFile
 */
class WPDataFile : public WPFileSystem
{
public:

// WPDataFile::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 (!_WPDataFile) WPDataFileNewClass(WPDataFile_MajorVersion,WPDataFile_MinorVersion);
   return (void*)
      SOM_Resolve(_WPDataFile,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_WPDataFile));
}

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

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

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

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

WPDataFile(const WPDataFile* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (WPDataFileCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}


/* method: wpAddBecomePage */
ULONG   wpAddBecomePage(HWND hwndNotebook)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpAddBecomePage)
	(this,hwndNotebook);
}


/* method: wpAddFileTypePage */
ULONG   wpAddFileTypePage(HWND hwndNotebook)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpAddFileTypePage)
	(this,hwndNotebook);
}


/* method: wpPrintMetaFile */
BOOL   wpPrintMetaFile(PPRINTDEST pPrintDest)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintMetaFile)
	(this,pPrintDest);
}


/* method: wpPrintPifFile */
BOOL   wpPrintPifFile(PPRINTDEST pPrintDest)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintPifFile)
	(this,pPrintDest);
}


/* method: wpPrintPrinterSpecificFile */
BOOL   wpPrintPrinterSpecificFile(PPRINTDEST pPrintDest)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintPrinterSpecificFile)
	(this,pPrintDest);
}


/* method: wpPrintUnknownFile */
BOOL   wpPrintUnknownFile(PPRINTDEST pPrintDest)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintUnknownFile)
	(this,pPrintDest);
}


/* method: wpQueryAssociatedProgram */
WPObject*   wpQueryAssociatedProgram(ULONG ulView, 
		PULONG pulHowMatched, 
		PSZ pszMatchString, 
		ULONG cbMatchString, 
		PSZ pszDefaultType)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryAssociatedProgram)
	(this,ulView,pulHowMatched,pszMatchString,cbMatchString,pszDefaultType);
}


/* method: wpSetAssociatedFileIcon */
void   wpSetAssociatedFileIcon()
{
   SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetAssociatedFileIcon)
	(this);
}


/* method: wpQueryAssociatedFileIcon */
HPOINTER   wpQueryAssociatedFileIcon()
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryAssociatedFileIcon)
	(this);
}


/* method: wpSetContentsFromPointer */
BOOL   wpSetContentsFromPointer(PVOID pData)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetContentsFromPointer)
	(this,pData);
}


/* method: wpQueryPointerFromContents */
PVOID   wpQueryPointerFromContents()
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryPointerFromContents)
	(this);
}


/* method: wpSetContentsFromHandle */
BOOL   wpSetContentsFromHandle(LHANDLE handle)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetContentsFromHandle)
	(this,handle);
}


/* method: wpQueryHandleFromContents */
LHANDLE   wpQueryHandleFromContents()
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryHandleFromContents)
	(this);
}


/* method: wpRenderFromClipboard */
BOOL   wpRenderFromClipboard(ULONG aRenderAs)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpRenderFromClipboard)
	(this,aRenderAs);
}


/* method: SetUpdateIndicator */
void   SetUpdateIndicator(ULONG ulBidiSetting, 
		BOOL flSet)
{
   SOM_ResolveD(this,WPDataFile,WPDataFile,SetUpdateIndicator)
	(this,ulBidiSetting,flSet);
}


/* method: QueryUpdateIndicator */
BOOL   QueryUpdateIndicator(ULONG ulBidiSetting)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,QueryUpdateIndicator)
	(this,ulBidiSetting);
}


/* method: SetNeedSave */
void   SetNeedSave(BOOL flNeedSave)
{
   SOM_ResolveD(this,WPDataFile,WPDataFile,SetNeedSave)
	(this,flNeedSave);
}


/* method: QueryNeedSave */
BOOL   QueryNeedSave()
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,QueryNeedSave)
	(this);
}


/* method: wpSetDefaultBidiSettings */
void   wpSetDefaultBidiSettings(ULONG ulBidiSetting, 
		BOOL flSet)
{
   SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetDefaultBidiSettings)
	(this,ulBidiSetting,flSet);
}


/* method: wpQueryDefaultBidiSettings */
BOOL   wpQueryDefaultBidiSettings(ULONG ulBidiSetting)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryDefaultBidiSettings)
	(this,ulBidiSetting);
}


/* method: wpSetBidiValues */
void   wpSetBidiValues(ULONG ulBidiSetting, 
		ULONG ulBidiValue, 
		ULONG ulBidiMask)
{
   SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetBidiValues)
	(this,ulBidiSetting,ulBidiValue,ulBidiMask);
}


/* method: wpQueryBidiValues */
ULONG   wpQueryBidiValues(ULONG ulBidiSetting)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryBidiValues)
	(this,ulBidiSetting);
}


/* method: wpInsertBidiPage */
BOOL   wpInsertBidiPage(HWND hwndNotebook, 
		ULONG ulBidiSettings)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpInsertBidiPage)
	(this,hwndNotebook,ulBidiSettings);
}


/* method: wpSaveBidiState */
BOOL   wpSaveBidiState()
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSaveBidiState)
	(this);
}


/* method: wpRestoreBidiState */
BOOL   wpRestoreBidiState(ULONG ulReserved)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpRestoreBidiState)
	(this,ulReserved);
}


/* method: wpInitBidiData */
void   wpInitBidiData()
{
   SOM_ResolveD(this,WPDataFile,WPDataFile,wpInitBidiData)
	(this);
}


/* method: wpBidiSetup */
BOOL   wpBidiSetup(PSZ pszSetupString)
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpBidiSetup)
	(this,pszSetupString);
}


/* method: wpSettingsNotebook */
HWND   wpSettingsNotebook()
{
   return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSettingsNotebook)
	(this);
}


/*
 * Reintroduce inherited methods
 */

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



};   /* WPDataFile */



#endif       /* SOM_WPDataFile_xh */

#ifndef SOM_M_WPDataFile_xh
#define SOM_M_WPDataFile_xh

class M_WPDataFile;

#define M_WPDataFile_MajorVersion 1
#define M_WPDataFile_MinorVersion 2

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

/* C++ parent defs */
#ifndef SOM_M_WPFileSystem_xh
#include <wpfsys.xh>
#endif

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

/*
 * Start of bindings for IDL types
 */


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

/*
 * -- M_WPDataFile is a metaclass for WPDataFile. Make sure WPDataFile is known.
 */
class WPDataFile;


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

/* The API to the M_WPDataFile class object, and the methods it introduces. */
SOMEXTERN struct M_WPDataFileClassDataStructure {
	SOMClass *classObject;
	somMToken wpclsAddClipboardAssoc;
	somMToken wpclsEnumClipboardClasses;
} SOMDLINK M_WPDataFileClassData;
#define _M_WPDataFile M_WPDataFileClassData.classObject

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

/*
 * -- Typedefs for M_WPDataFile Method Procedures
 */
SOMEXTERN {
typedef ULONG   SOMLINK somTP_M_WPDataFile_wpclsAddClipboardAssoc(M_WPDataFile *somSelf, 
		ULONG aCBFormat, 
		PSZ pszClassName);
typedef somTP_M_WPDataFile_wpclsAddClipboardAssoc *somTD_M_WPDataFile_wpclsAddClipboardAssoc;
typedef ULONG   SOMLINK somTP_M_WPDataFile_wpclsEnumClipboardClasses(M_WPDataFile *somSelf, 
		ULONG aCBFormat, 
		ULONG aPrevious);
typedef somTP_M_WPDataFile_wpclsEnumClipboardClasses *somTD_M_WPDataFile_wpclsEnumClipboardClasses;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef WPDataFile*   SOMLINK somTP_M_WPDataFile_somNew(M_WPDataFile *somSelf);
typedef somTP_M_WPDataFile_somNew *somTD_M_WPDataFile_somNew;
}

#endif /* M_WPDataFile_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 M_WPDataFile
 */
class M_WPDataFile : public M_WPFileSystem
{
public:

// M_WPDataFile::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 (!_M_WPDataFile) M_WPDataFileNewClass(M_WPDataFile_MajorVersion,M_WPDataFile_MinorVersion);
   return (void*)
      SOM_Resolve(_M_WPDataFile,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_M_WPDataFile));
}

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

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

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

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

M_WPDataFile(const M_WPDataFile* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (M_WPDataFileCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}


/* method: wpclsAddClipboardAssoc */
ULONG   wpclsAddClipboardAssoc(ULONG aCBFormat, 
		PSZ pszClassName)
{
   return SOM_ResolveD(this,M_WPDataFile,M_WPDataFile,wpclsAddClipboardAssoc)
	(this,aCBFormat,pszClassName);
}


/* method: wpclsEnumClipboardClasses */
ULONG   wpclsEnumClipboardClasses(ULONG aCBFormat, 
		ULONG aPrevious)
{
   return SOM_ResolveD(this,M_WPDataFile,M_WPDataFile,wpclsEnumClipboardClasses)
	(this,aCBFormat,aPrevious);
}


/*
 * Reintroduce inherited methods
 */

/* method: somNew */
WPDataFile*  somNew()
{
   return SOM_ResolveD(this,M_WPDataFile,SOMClass,somNew)
	(this);
}



};   /* M_WPDataFile */



#endif       /* SOM_M_WPDataFile_xh */
