
/*
 * This file was generated by the SOM Compiler.
 * FileName: wpdisk.xh.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emitxh: 1.11
 */

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

#ifndef wpdisk_xh
#define wpdisk_xh
class WPDisk;

#define WPDisk_MajorVersion 1
#define WPDisk_MinorVersion 2

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

/* C++ parent def */
#ifndef wpabs_xh
#include "wpabs.xh"
#endif

/*
 * Passthru lines: File: "C.xh", "after"
 */
#ifndef wprootf_xh
        #include "wprootf.xh"
    #endif

    #define OPEN_AUTO            120

#ifndef WPDisk_API
#define WPDisk_API
/*
 * The Class API
 */

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

/* A macro to return the WPDisk class object */
class M_WPDisk;
#define _WPDisk ((M_WPDisk*)WPDiskClassData.classObject)

/* The static interface to WPDisk and its instances */
SOMEXTERN struct WPDiskClassDataStructure {
	SOMClass *classObject;
	somMToken wpAddDiskDetailsPage;
	somMToken wpSetCorrectDiskIcon;
	somMToken wpQueryLogicalDrive;
	somMToken wpSetLogicalDrive;
	somMToken wpQueryRootFolder;
	somMToken wpSetDiskInfo;
	somMToken wpTouchDisk;
	somMToken wpQueryDiskInfo;
	somMToken wpQueryDriveLockStatus;
	somMToken wpEjectDisk;
	somMToken wpLockDrive;
} WPDiskClassData;

/*
 * -- Typedefs for Procedures that support WPDisk Methods
 */
extern "C" {
typedef ULONG    (SOMLINK *somTD_WPDisk_wpAddDiskDetailsPage)(WPDisk *somSelf,HWND hwndNotebook);
typedef ULONG    (SOMLINK *somTD_WPDisk_wpQueryDriveLockStatus)(WPDisk *somSelf,PULONG pulLockStatus,PULONG pulLockCount);
typedef ULONG    (SOMLINK *somTD_WPDisk_wpEjectDisk)(WPDisk *somSelf);
typedef ULONG    (SOMLINK *somTD_WPDisk_wpLockDrive)(WPDisk *somSelf,BOOL fLock);
typedef ULONG    (SOMLINK *somTD_WPDisk_wpQueryLogicalDrive)(WPDisk *somSelf);
typedef WPRootFolder *   (SOMLINK *somTD_WPDisk_wpQueryRootFolder)(WPDisk *somSelf);
}


#endif /* WPDisk_API */


/*
 * -- The C++ Wrapper Class for WPDisk
 */
class WPDisk : public WPAbstract
{
public:

void *operator new(size_t size)
{
   (void) size;
   if (!WPDiskClassData.classObject) 
      WPDiskNewClass(WPDisk_MajorVersion,WPDisk_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(WPDiskClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(WPDiskClassData.classObject));
}

void operator delete(void * obj)
{
   ((SOMObject *)obj)->somFree();
}

/* public method: wpAddDiskDetailsPage */
ULONG    wpAddDiskDetailsPage(HWND hwndNotebook)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpAddDiskDetailsPage)
	(this,hwndNotebook);
}


/* public method: wpQueryDriveLockStatus */
ULONG    wpQueryDriveLockStatus(PULONG pulLockStatus,
		PULONG pulLockCount)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpQueryDriveLockStatus)
	(this,pulLockStatus,pulLockCount);
}


/* public method: wpEjectDisk */
ULONG    wpEjectDisk()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpEjectDisk)
	(this);
}


/* public method: wpLockDrive */
ULONG    wpLockDrive(BOOL fLock)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpLockDrive)
	(this,fLock);
}


/* public method: wpQueryLogicalDrive */
ULONG    wpQueryLogicalDrive()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpQueryLogicalDrive)
	(this);
}


/* public method: wpQueryRootFolder */
WPRootFolder *   wpQueryRootFolder()
{
   return (WPRootFolder*) SOM_Resolve((SOMAny *)this,WPDisk,wpQueryRootFolder)
	(this);
}



};   /* WPDisk */



#endif       /* wpdisk_xh */

/*
 * This file was generated by the SOM Compiler.
 * FileName: wpdisk.xh.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emitxh: 1.11
 */
#ifndef wpdisk_mxh
#define wpdisk_mxh
class M_WPDisk;

#define M_WPDisk_MajorVersion 1
#define M_WPDisk_MinorVersion 2

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

/* C++ parent def */
#ifndef wpabs_xh
#include "wpabs.xh"
#endif

#ifndef M_WPDisk_API
#define M_WPDisk_API
/*
 * The Class API
 */

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

/* A macro to return the M_WPDisk class object */
#define _M_WPDisk ((SOMClass*)M_WPDiskClassData.classObject)

/* The static interface to M_WPDisk and its instances */
SOMEXTERN struct M_WPDiskClassDataStructure {
	SOMClass *classObject;
} M_WPDiskClassData;

/*
 * -- Typedefs for Procedures that support M_WPDisk Methods
 */
extern "C" {
}


#endif /* M_WPDisk_API */


/*
 * -- The C++ Wrapper Class for M_WPDisk
 */
class M_WPDisk : public M_WPAbstract
{
public:

void *operator new(size_t size)
{
   (void) size;
   if (!M_WPDiskClassData.classObject) 
      M_WPDiskNewClass(M_WPDisk_MajorVersion,M_WPDisk_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(M_WPDiskClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(M_WPDiskClassData.classObject));
}

void operator delete(void * obj)
{
   ((SOMObject *)obj)->somFree();
}


};   /* M_WPDisk */



#endif       /* wpdisk_mxh */
