home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
warphead.zip
/
H
/
WPFSYS.XH
< prev
next >
Wrap
Text File
|
1997-07-09
|
26KB
|
892 lines
/*
* This file was generated by the SOM Compiler.
* FileName: E:\cwpsh\rel\os2c\include\base\os2\wpfsys.xh.
* Generated using:
* SOM Precompiler somipc: 2.29.1.14
* SOM Emitter emitxh: 2.43
*/
/*
* Module Header
*
* Module Name: WPFSYS
*
* OS/2 Presentation Manager Workplace class definitions
*
* Copyright (c) International Business Machines Corporation 1991, 1994
*
*/
#ifndef SOM_WPFileSystem_xh
#define SOM_WPFileSystem_xh
class WPFileSystem;
#define WPFileSystem_MajorVersion 1
#define WPFileSystem_MinorVersion 2
/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>
/* C++ parent defs */
#ifndef SOM_WPObject_xh
#include <wpobject.xh>
#endif
#ifndef WPFileSystem_API
#define WPFileSystem_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;
/*
* End of bindings for IDL types.
*/
/*
* Passthru lines: File: "C.h", "after"
*/
/* Structure used to read + write the .CLASSINFO ea */
typedef struct _INFOCLASS
{
ULONG flags;
PSZ pszClass;
ULONG cbObjData;
POBJDATA pObjData;
} INFOCLASS;
typedef INFOCLASS * PINFOCLASS;
/* FILEDETAILS structure used for details view */
typedef struct _FILEDETAILS
{
PSZ pszRealName; /* Real name */
ULONG ulSize; /* Size of the file */
CDATE cdateLastMod; /* Last modification date */
CTIME ctimeLastMod; /* Last modification time */
CDATE cdateLastAccess; /* Last access date */
CTIME ctimeLastAccess; /* Last access time */
CDATE cdateCreation; /* Date of creation */
CTIME ctimeCreation; /* Time of creation */
ULONG ulFlags; /* File flags */
PSZ ReadOnly;
PSZ Hidden;
PSZ System;
PSZ Directory;
PSZ Archived;
PSZ Subject;
PSZ Comments;
PSZ KeyPhrases;
PSZ History;
ULONG ExtAttr;
} FILEDETAILS;
typedef FILEDETAILS * PFILEDETAILS;
#define NUM_FILEDETAILS_FIELDS 19 /* Count of fields in FILEDETAILS */
/* format of the extended search criteria for this class */
typedef struct _FILESYS_SEARCH_INFO {
USHORT Exclude;
USHORT MustHave;
BOOL fIncludeLMD;
USHORT LMDyear;
USHORT LMDmonth;
USHORT LMDday;
SHORT LMDcriteria;
BOOL fIncludeLMT;
USHORT LMThours;
USHORT LMTminutes;
USHORT LMTseconds;
SHORT LMTcriteria;
BOOL fIncludeFDS;
ULONG FDSsize;
SHORT FDScriteria;
BOOL fIncludeFEAS;
ULONG FEASsize;
SHORT FEAScriteria;
BOOL fMustHaveNeedEA;
BOOL fMustNotHaveNeedEA;
} FILESYS_SEARCH_INFO;
typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;
/* Alignment macro: ensure alignment on 4byte boundary */
#define ALIGN4(p) (PVOID)( ( ((ULONG)p) + 3 ) & 0xFFFFFFFC )
/* return values for wpConfirmRenameFileWithExt */
#define KEEP_RENAMEFILESWITHEXT 1
#define DISCARD_RENAMEFILESWITHEXT 2
#define CANCEL_RENAMEFILESWITHEXT 3
/* A procedure to create the WPFileSystem Class */
class M_WPFileSystem;
SOMEXTERN M_WPFileSystem * SOMLINK WPFileSystemNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* The API to the WPFileSystem class object, and the methods it introduces. */
SOMEXTERN struct WPFileSystemClassDataStructure {
M_WPFileSystem *classObject;
somMToken wpSetRealName;
somMToken withdrawn_wpQueryRealName;
somMToken wpSetType;
somMToken wpQueryType;
somMToken wpSetAttr;
somMToken wpQueryAttr;
somMToken wpQueryFilename;
somMToken wpAddFile1Page;
somMToken wpAddFile2Page;
somMToken wpAddFile3Page;
somMToken wpAddFileMenuPage;
somMToken wpQueryCreation;
somMToken wpQueryLastAccess;
somMToken wpQueryLastWrite;
somMToken wpQueryFileSize;
somMToken wpQueryEASize;
somMToken wpSetDateInfo;
somMToken wpSetFileSizeInfo;
somMToken wpRefresh;
somMToken wpPrintPlainTextFile;
somMToken wpSetRefreshFlags;
somMToken wpQueryRefreshFlags;
somMToken wpFilesystemPrivate1;
somMToken wpSetTitleAndRenameFile;
somMToken wpConfirmRenameFileWithExt;
somMToken wpConfirmKeepAssoc;
somMToken wpFilesystemPrivate2;
somMToken wpQueryDisk;
somMToken wpQueryDateInfo;
somMToken wpFileSystemPrivate3;
somMToken wpFileSystemPrivate4;
somMToken wpQueryRealName;
somMToken wpVerifyUpdateAccess;
somMToken wpAddUserItemsToPopupMenu;
somMToken wpFilesystemPrivate5;
somMToken wpIsDiskSwapped;
somMToken wpFilesystemPrivate6;
somMToken wpQueryEASupport;
somMToken wpFilesystemPrivate7;
somMToken wpFilesystemPrivate8;
somMToken wpFilesystemPrivate9;
} SOMDLINK WPFileSystemClassData;
#define _WPFileSystem WPFileSystemClassData.classObject
/* The API to parentMtabs for WPFileSystem, and the instance data it introduces. */
SOMEXTERN struct WPFileSystemCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK WPFileSystemCClassData;
/*
* -- Typedefs for WPFileSystem Method Procedures
*/
SOMEXTERN {
typedef BOOL SOMLINK somTP_WPFileSystem_wpSetRealName(WPFileSystem *somSelf,
PSZ pszName);
typedef somTP_WPFileSystem_wpSetRealName *somTD_WPFileSystem_wpSetRealName;
typedef BOOL SOMLINK somTP_WPFileSystem_wpSetType(WPFileSystem *somSelf,
PSZ pszTypes,
PFEA2LIST pfeal);
typedef somTP_WPFileSystem_wpSetType *somTD_WPFileSystem_wpSetType;
typedef PSZ SOMLINK somTP_WPFileSystem_wpQueryType(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryType *somTD_WPFileSystem_wpQueryType;
typedef BOOL SOMLINK somTP_WPFileSystem_wpSetAttr(WPFileSystem *somSelf,
ULONG attrFile);
typedef somTP_WPFileSystem_wpSetAttr *somTD_WPFileSystem_wpSetAttr;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryAttr(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryAttr *somTD_WPFileSystem_wpQueryAttr;
typedef ULONG SOMLINK somTP_WPFileSystem_wpAddFile1Page(WPFileSystem *somSelf,
HWND hwndNotebook);
typedef somTP_WPFileSystem_wpAddFile1Page *somTD_WPFileSystem_wpAddFile1Page;
typedef ULONG SOMLINK somTP_WPFileSystem_wpAddFile2Page(WPFileSystem *somSelf,
HWND hwndNotebook);
typedef somTP_WPFileSystem_wpAddFile2Page *somTD_WPFileSystem_wpAddFile2Page;
typedef ULONG SOMLINK somTP_WPFileSystem_wpAddFile3Page(WPFileSystem *somSelf,
HWND hwndNotebook);
typedef somTP_WPFileSystem_wpAddFile3Page *somTD_WPFileSystem_wpAddFile3Page;
typedef ULONG SOMLINK somTP_WPFileSystem_wpAddFileMenuPage(WPFileSystem *somSelf,
HWND hwndNotebook);
typedef somTP_WPFileSystem_wpAddFileMenuPage *somTD_WPFileSystem_wpAddFileMenuPage;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryCreation(WPFileSystem *somSelf,
FDATE* fdate,
FTIME* ftime);
typedef somTP_WPFileSystem_wpQueryCreation *somTD_WPFileSystem_wpQueryCreation;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryLastAccess(WPFileSystem *somSelf,
FDATE* fdate,
FTIME* ftime);
typedef somTP_WPFileSystem_wpQueryLastAccess *somTD_WPFileSystem_wpQueryLastAccess;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryLastWrite(WPFileSystem *somSelf,
FDATE* fdate,
FTIME* ftime);
typedef somTP_WPFileSystem_wpQueryLastWrite *somTD_WPFileSystem_wpQueryLastWrite;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryFileSize(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryFileSize *somTD_WPFileSystem_wpQueryFileSize;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryEASize(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryEASize *somTD_WPFileSystem_wpQueryEASize;
typedef ULONG SOMLINK somTP_WPFileSystem_wpSetDateInfo(WPFileSystem *somSelf,
FILEFINDBUF4* pstFileFindBuf);
typedef somTP_WPFileSystem_wpSetDateInfo *somTD_WPFileSystem_wpSetDateInfo;
typedef ULONG SOMLINK somTP_WPFileSystem_wpSetFileSizeInfo(WPFileSystem *somSelf,
ULONG cbFileSize,
ULONG cbEASize);
typedef somTP_WPFileSystem_wpSetFileSizeInfo *somTD_WPFileSystem_wpSetFileSizeInfo;
typedef BOOL SOMLINK somTP_WPFileSystem_wpRefresh(WPFileSystem *somSelf,
ULONG ulView,
PVOID pReserved);
typedef somTP_WPFileSystem_wpRefresh *somTD_WPFileSystem_wpRefresh;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryRefreshFlags(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryRefreshFlags *somTD_WPFileSystem_wpQueryRefreshFlags;
typedef BOOL SOMLINK somTP_WPFileSystem_wpSetRefreshFlags(WPFileSystem *somSelf,
ULONG ulRefreshFlags);
typedef somTP_WPFileSystem_wpSetRefreshFlags *somTD_WPFileSystem_wpSetRefreshFlags;
typedef BOOL SOMLINK somTP_WPFileSystem_wpPrintPlainTextFile(WPFileSystem *somSelf,
PPRINTDEST pPrintDest);
typedef somTP_WPFileSystem_wpPrintPlainTextFile *somTD_WPFileSystem_wpPrintPlainTextFile;
typedef BOOL SOMLINK somTP_WPFileSystem_wpSetTitleAndRenameFile(WPFileSystem *somSelf,
PSZ pszNewTitle,
ULONG fConfirmations);
typedef somTP_WPFileSystem_wpSetTitleAndRenameFile *somTD_WPFileSystem_wpSetTitleAndRenameFile;
typedef ULONG SOMLINK somTP_WPFileSystem_wpConfirmRenameFileWithExt(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpConfirmRenameFileWithExt *somTD_WPFileSystem_wpConfirmRenameFileWithExt;
typedef ULONG SOMLINK somTP_WPFileSystem_wpVerifyUpdateAccess(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpVerifyUpdateAccess *somTD_WPFileSystem_wpVerifyUpdateAccess;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryEASupport(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryEASupport *somTD_WPFileSystem_wpQueryEASupport;
typedef BOOL SOMLINK somTP_WPFileSystem_wpAddUserItemsToPopupMenu(WPFileSystem *somSelf,
HWND hwndMenu,
HWND hwndCnr,
ULONG iPosition);
typedef somTP_WPFileSystem_wpAddUserItemsToPopupMenu *somTD_WPFileSystem_wpAddUserItemsToPopupMenu;
typedef BOOL SOMLINK somTP_WPFileSystem_wpIsDiskSwapped(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpIsDiskSwapped *somTD_WPFileSystem_wpIsDiskSwapped;
typedef BOOL SOMLINK somTP_WPFileSystem_wpQueryRealName(WPFileSystem *somSelf,
PSZ pszFilename,
PULONG pcb,
BOOL fQualified);
typedef somTP_WPFileSystem_wpQueryRealName *somTD_WPFileSystem_wpQueryRealName;
typedef PSZ SOMLINK somTP_WPFileSystem_wpQueryFilename(WPFileSystem *somSelf,
PSZ pszFilename,
BOOL fQualified);
typedef somTP_WPFileSystem_wpQueryFilename *somTD_WPFileSystem_wpQueryFilename;
typedef WPFileSystem* SOMLINK somTP_WPFileSystem_wpQueryDisk(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpQueryDisk *somTD_WPFileSystem_wpQueryDisk;
typedef ULONG SOMLINK somTP_WPFileSystem_wpQueryDateInfo(WPFileSystem *somSelf,
FILEFINDBUF4* pstFileFindBuf);
typedef somTP_WPFileSystem_wpQueryDateInfo *somTD_WPFileSystem_wpQueryDateInfo;
typedef ULONG SOMLINK somTP_WPFileSystem_wpConfirmKeepAssoc(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_wpConfirmKeepAssoc *somTD_WPFileSystem_wpConfirmKeepAssoc;
/*
* -- Typedefs for Reintroduced Wrapper Methods
*/
typedef M_WPFileSystem* SOMLINK somTP_WPFileSystem_somGetClass(WPFileSystem *somSelf);
typedef somTP_WPFileSystem_somGetClass *somTD_WPFileSystem_somGetClass;
}
#endif /* WPFileSystem_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 WPFileSystem
*/
class WPFileSystem : public WPObject
{
public:
// WPFileSystem::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 (!_WPFileSystem) WPFileSystemNewClass(WPFileSystem_MajorVersion,WPFileSystem_MinorVersion);
return (void*)
SOM_Resolve(_WPFileSystem,SOMClass,somNewNoInit)
((SOMClass *)((void*)_WPFileSystem));
}
// WPFileSystem::delete uses somDestruct.
void operator delete(void * obj)
{
if (obj && *(void**)obj) {
SOM_Resolve(obj,SOMObject,somDestruct)
((SOMObject*)obj, 1, 0);
}
}
WPFileSystem& operator=(WPFileSystem& fromObj)
{
this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
return *this;
}
WPFileSystem()
{
if (*(void**)this !=
((somParentMtabStructPtr)
(WPFileSystemCClassData.parentMtab))->mtab)
return;
((SOMObject*)((void*)this))->somDefaultInit(0);
}
WPFileSystem(WPFileSystem* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(WPFileSystemCClassData.parentMtab))->mtab)
return;
((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}
WPFileSystem(const WPFileSystem* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(WPFileSystemCClassData.parentMtab))->mtab)
return;
((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}
/* method: wpSetRealName */
BOOL wpSetRealName(PSZ pszName)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetRealName)
(this,pszName);
}
/* method: wpSetType */
BOOL wpSetType(PSZ pszTypes,
PFEA2LIST pfeal)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetType)
(this,pszTypes,pfeal);
}
/* method: wpQueryType */
PSZ wpQueryType()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryType)
(this);
}
/* method: wpSetAttr */
BOOL wpSetAttr(ULONG attrFile)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetAttr)
(this,attrFile);
}
/* method: wpQueryAttr */
ULONG wpQueryAttr()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryAttr)
(this);
}
/* method: wpAddFile1Page */
ULONG wpAddFile1Page(HWND hwndNotebook)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFile1Page)
(this,hwndNotebook);
}
/* method: wpAddFile2Page */
ULONG wpAddFile2Page(HWND hwndNotebook)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFile2Page)
(this,hwndNotebook);
}
/* method: wpAddFile3Page */
ULONG wpAddFile3Page(HWND hwndNotebook)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFile3Page)
(this,hwndNotebook);
}
/* method: wpAddFileMenuPage */
ULONG wpAddFileMenuPage(HWND hwndNotebook)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFileMenuPage)
(this,hwndNotebook);
}
/* method: wpQueryCreation */
ULONG wpQueryCreation(FDATE* fdate,
FTIME* ftime)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryCreation)
(this,fdate,ftime);
}
/* method: wpQueryLastAccess */
ULONG wpQueryLastAccess(FDATE* fdate,
FTIME* ftime)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryLastAccess)
(this,fdate,ftime);
}
/* method: wpQueryLastWrite */
ULONG wpQueryLastWrite(FDATE* fdate,
FTIME* ftime)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryLastWrite)
(this,fdate,ftime);
}
/* method: wpQueryFileSize */
ULONG wpQueryFileSize()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryFileSize)
(this);
}
/* method: wpQueryEASize */
ULONG wpQueryEASize()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryEASize)
(this);
}
/* method: wpSetDateInfo */
ULONG wpSetDateInfo(FILEFINDBUF4* pstFileFindBuf)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetDateInfo)
(this,pstFileFindBuf);
}
/* method: wpSetFileSizeInfo */
ULONG wpSetFileSizeInfo(ULONG cbFileSize,
ULONG cbEASize)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetFileSizeInfo)
(this,cbFileSize,cbEASize);
}
/* method: wpRefresh */
BOOL wpRefresh(ULONG ulView,
PVOID pReserved)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpRefresh)
(this,ulView,pReserved);
}
/* method: wpQueryRefreshFlags */
ULONG wpQueryRefreshFlags()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryRefreshFlags)
(this);
}
/* method: wpSetRefreshFlags */
BOOL wpSetRefreshFlags(ULONG ulRefreshFlags)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetRefreshFlags)
(this,ulRefreshFlags);
}
/* method: wpPrintPlainTextFile */
BOOL wpPrintPlainTextFile(PPRINTDEST pPrintDest)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpPrintPlainTextFile)
(this,pPrintDest);
}
/* method: wpSetTitleAndRenameFile */
BOOL wpSetTitleAndRenameFile(PSZ pszNewTitle,
ULONG fConfirmations)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetTitleAndRenameFile)
(this,pszNewTitle,fConfirmations);
}
/* method: wpConfirmRenameFileWithExt */
ULONG wpConfirmRenameFileWithExt()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpConfirmRenameFileWithExt)
(this);
}
/* method: wpVerifyUpdateAccess */
ULONG wpVerifyUpdateAccess()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpVerifyUpdateAccess)
(this);
}
/* method: wpQueryEASupport */
ULONG wpQueryEASupport()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryEASupport)
(this);
}
/* method: wpAddUserItemsToPopupMenu */
BOOL wpAddUserItemsToPopupMenu(HWND hwndMenu,
HWND hwndCnr,
ULONG iPosition)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddUserItemsToPopupMenu)
(this,hwndMenu,hwndCnr,iPosition);
}
/* method: wpIsDiskSwapped */
BOOL wpIsDiskSwapped()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpIsDiskSwapped)
(this);
}
/* method: wpQueryRealName */
BOOL wpQueryRealName(PSZ pszFilename,
PULONG pcb,
BOOL fQualified)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryRealName)
(this,pszFilename,pcb,fQualified);
}
/* method: wpQueryFilename */
PSZ wpQueryFilename(PSZ pszFilename,
BOOL fQualified)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryFilename)
(this,pszFilename,fQualified);
}
/* method: wpQueryDisk */
WPFileSystem* wpQueryDisk()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryDisk)
(this);
}
/* method: wpQueryDateInfo */
ULONG wpQueryDateInfo(FILEFINDBUF4* pstFileFindBuf)
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryDateInfo)
(this,pstFileFindBuf);
}
/* method: wpConfirmKeepAssoc */
ULONG wpConfirmKeepAssoc()
{
return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpConfirmKeepAssoc)
(this);
}
/*
* Reintroduce inherited methods
*/
/* method: somGetClass */
M_WPFileSystem* somGetClass()
{
/*
* Return the receiver's class.
*/
return SOM_ResolveD(this,WPFileSystem,SOMObject,somGetClass)
(this);
}
}; /* WPFileSystem */
#endif /* SOM_WPFileSystem_xh */
#ifndef SOM_M_WPFileSystem_xh
#define SOM_M_WPFileSystem_xh
class M_WPFileSystem;
#define M_WPFileSystem_MajorVersion 1
#define M_WPFileSystem_MinorVersion 2
/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>
/* C++ parent defs */
#ifndef SOM_M_WPObject_xh
#include <wpobject.xh>
#endif
#ifndef M_WPFileSystem_API
#define M_WPFileSystem_API
/*
* -- The Class API
*/
/*
* Start of bindings for IDL types
*/
/*
* End of bindings for IDL types.
*/
/*
* -- M_WPFileSystem is a metaclass for WPFileSystem. Make sure WPFileSystem is known.
*/
class WPFileSystem;
/* A procedure to create the M_WPFileSystem Class */
SOMEXTERN SOMClass * SOMLINK M_WPFileSystemNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* The API to the M_WPFileSystem class object, and the methods it introduces. */
SOMEXTERN struct M_WPFileSystemClassDataStructure {
SOMClass *classObject;
somMToken wpclsQueryInstanceType;
somMToken wpclsQueryInstanceFilter;
somMToken wpclsQueryObjectFromPath;
somMToken wpclsQueryAwakeObject;
somMToken wpclsFileSysExists;
somMToken wpclsQueryInstanceClass;
} SOMDLINK M_WPFileSystemClassData;
#define _M_WPFileSystem M_WPFileSystemClassData.classObject
/* The API to parentMtabs for M_WPFileSystem, and the instance data it introduces. */
SOMEXTERN struct M_WPFileSystemCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK M_WPFileSystemCClassData;
/*
* -- Typedefs for M_WPFileSystem Method Procedures
*/
SOMEXTERN {
typedef WPObject* SOMLINK somTP_M_WPFileSystem_wpclsQueryAwakeObject(M_WPFileSystem *somSelf,
PSZ pszInputPath);
typedef somTP_M_WPFileSystem_wpclsQueryAwakeObject *somTD_M_WPFileSystem_wpclsQueryAwakeObject;
typedef WPObject* SOMLINK somTP_M_WPFileSystem_wpclsFileSysExists(M_WPFileSystem *somSelf,
WPFolder* Folder,
PSZ pszFilename,
ULONG attrFile);
typedef somTP_M_WPFileSystem_wpclsFileSysExists *somTD_M_WPFileSystem_wpclsFileSysExists;
typedef WPObject* SOMLINK somTP_M_WPFileSystem_wpclsQueryObjectFromPath(M_WPFileSystem *somSelf,
PSZ pszFQPath);
typedef somTP_M_WPFileSystem_wpclsQueryObjectFromPath *somTD_M_WPFileSystem_wpclsQueryObjectFromPath;
typedef PSZ SOMLINK somTP_M_WPFileSystem_wpclsQueryInstanceType(M_WPFileSystem *somSelf);
typedef somTP_M_WPFileSystem_wpclsQueryInstanceType *somTD_M_WPFileSystem_wpclsQueryInstanceType;
typedef PSZ SOMLINK somTP_M_WPFileSystem_wpclsQueryInstanceFilter(M_WPFileSystem *somSelf);
typedef somTP_M_WPFileSystem_wpclsQueryInstanceFilter *somTD_M_WPFileSystem_wpclsQueryInstanceFilter;
typedef PSZ SOMLINK somTP_M_WPFileSystem_wpclsQueryInstanceClass(M_WPFileSystem *somSelf);
typedef somTP_M_WPFileSystem_wpclsQueryInstanceClass *somTD_M_WPFileSystem_wpclsQueryInstanceClass;
/*
* -- Typedefs for Reintroduced Wrapper Methods
*/
typedef WPFileSystem* SOMLINK somTP_M_WPFileSystem_somNew(M_WPFileSystem *somSelf);
typedef somTP_M_WPFileSystem_somNew *somTD_M_WPFileSystem_somNew;
}
#endif /* M_WPFileSystem_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_WPFileSystem
*/
class M_WPFileSystem : public M_WPObject
{
public:
// M_WPFileSystem::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_WPFileSystem) M_WPFileSystemNewClass(M_WPFileSystem_MajorVersion,M_WPFileSystem_MinorVersion);
return (void*)
SOM_Resolve(_M_WPFileSystem,SOMClass,somNewNoInit)
((SOMClass *)((void*)_M_WPFileSystem));
}
// M_WPFileSystem::delete uses somDestruct.
void operator delete(void * obj)
{
if (obj && *(void**)obj) {
SOM_Resolve(obj,SOMObject,somDestruct)
((SOMObject*)obj, 1, 0);
}
}
M_WPFileSystem& operator=(M_WPFileSystem& fromObj)
{
this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
return *this;
}
M_WPFileSystem()
{
if (*(void**)this !=
((somParentMtabStructPtr)
(M_WPFileSystemCClassData.parentMtab))->mtab)
return;
((SOMObject*)((void*)this))->somDefaultInit(0);
}
M_WPFileSystem(M_WPFileSystem* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(M_WPFileSystemCClassData.parentMtab))->mtab)
return;
((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}
M_WPFileSystem(const M_WPFileSystem* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(M_WPFileSystemCClassData.parentMtab))->mtab)
return;
((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}
/* method: wpclsQueryAwakeObject */
WPObject* wpclsQueryAwakeObject(PSZ pszInputPath)
{
return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryAwakeObject)
(this,pszInputPath);
}
/* method: wpclsFileSysExists */
WPObject* wpclsFileSysExists(WPFolder* Folder,
PSZ pszFilename,
ULONG attrFile)
{
return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsFileSysExists)
(this,Folder,pszFilename,attrFile);
}
/* method: wpclsQueryObjectFromPath */
WPObject* wpclsQueryObjectFromPath(PSZ pszFQPath)
{
return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryObjectFromPath)
(this,pszFQPath);
}
/* method: wpclsQueryInstanceType */
PSZ wpclsQueryInstanceType()
{
return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryInstanceType)
(this);
}
/* method: wpclsQueryInstanceFilter */
PSZ wpclsQueryInstanceFilter()
{
return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryInstanceFilter)
(this);
}
/* method: wpclsQueryInstanceClass */
PSZ wpclsQueryInstanceClass()
{
return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryInstanceClass)
(this);
}
/*
* Reintroduce inherited methods
*/
/* method: somNew */
WPFileSystem* somNew()
{
return SOM_ResolveD(this,M_WPFileSystem,SOMClass,somNew)
(this);
}
}; /* M_WPFileSystem */
#endif /* SOM_M_WPFileSystem_xh */