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

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

#ifndef wpabs_xh
#define wpabs_xh
class WPAbstract;

#define WPAbstract_MajorVersion 1
#define WPAbstract_MinorVersion 2

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

/* C++ parent def */
#ifndef wpobject_xh
#include "wpobject.xh"
#endif

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

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

/* A macro to return the WPAbstract class object */
class M_WPAbstract;
#define _WPAbstract ((M_WPAbstract*)WPAbstractClassData.classObject)

/* The static interface to WPAbstract and its instances */
SOMEXTERN struct WPAbstractClassDataStructure {
	SOMClass *classObject;
} WPAbstractClassData;

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


#endif /* WPAbstract_API */


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

void *operator new(size_t size)
{
   (void) size;
   if (!WPAbstractClassData.classObject) 
      WPAbstractNewClass(WPAbstract_MajorVersion,WPAbstract_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(WPAbstractClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(WPAbstractClassData.classObject));
}

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


};   /* WPAbstract */



#endif       /* wpabs_xh */

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

#define M_WPAbstract_MajorVersion 1
#define M_WPAbstract_MinorVersion 2

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

/* C++ parent def */
#ifndef wpobject_xh
#include "wpobject.xh"
#endif

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

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

/* A macro to return the M_WPAbstract class object */
#define _M_WPAbstract ((SOMClass*)M_WPAbstractClassData.classObject)

/* The static interface to M_WPAbstract and its instances */
SOMEXTERN struct M_WPAbstractClassDataStructure {
	SOMClass *classObject;
	somMToken wpclsSaveCache;
	somMToken wpclsLockCache;
	somMToken wpclsUnlockCache;
} M_WPAbstractClassData;

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


#endif /* M_WPAbstract_API */


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

void *operator new(size_t size)
{
   (void) size;
   if (!M_WPAbstractClassData.classObject) 
      M_WPAbstractNewClass(M_WPAbstract_MajorVersion,M_WPAbstract_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(M_WPAbstractClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(M_WPAbstractClassData.classObject));
}

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


};   /* M_WPAbstract */



#endif       /* wpabs_mxh */
