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

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

#ifndef wpshadow_xh
#define wpshadow_xh
class WPShadow;

#define WPShadow_MajorVersion 1
#define WPShadow_MinorVersion 2

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

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

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

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

/* A macro to return the WPShadow class object */
class M_WPShadow;
#define _WPShadow ((M_WPShadow*)WPShadowClassData.classObject)

/* The static interface to WPShadow and its instances */
SOMEXTERN struct WPShadowClassDataStructure {
	SOMClass *classObject;
	somMToken wpSetLinkToObject;
	somMToken withdrawn;
	somMToken wpSetShadowTitle;
	somMToken wpQueryShadowedObject;
} WPShadowClassData;

/*
 * -- Typedefs for Procedures that support WPShadow Methods
 */
extern "C" {
typedef WPObject *   (SOMLINK *somTD_WPShadow_wpQueryShadowedObject)(WPShadow *somSelf,BOOL fLock);
typedef BOOL    (SOMLINK *somTD_WPShadow_wpSetShadowTitle)(WPShadow *somSelf,PSZ pszNewTitle);
}


#endif /* WPShadow_API */


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

void *operator new(size_t size)
{
   (void) size;
   if (!WPShadowClassData.classObject) 
      WPShadowNewClass(WPShadow_MajorVersion,WPShadow_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(WPShadowClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(WPShadowClassData.classObject));
}

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

/* public method: wpQueryShadowedObject */
WPObject *   wpQueryShadowedObject(BOOL fLock)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,WPShadow,wpQueryShadowedObject)
	(this,fLock);
}


/* public method: wpSetShadowTitle */
BOOL    wpSetShadowTitle(PSZ pszNewTitle)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPShadow,wpSetShadowTitle)
	(this,pszNewTitle);
}



};   /* WPShadow */



#endif       /* wpshadow_xh */

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

#define M_WPShadow_MajorVersion 1
#define M_WPShadow_MinorVersion 2

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

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

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

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

/* A macro to return the M_WPShadow class object */
#define _M_WPShadow ((SOMClass*)M_WPShadowClassData.classObject)

/* The static interface to M_WPShadow and its instances */
SOMEXTERN struct M_WPShadowClassDataStructure {
	SOMClass *classObject;
} M_WPShadowClassData;

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


#endif /* M_WPShadow_API */


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

void *operator new(size_t size)
{
   (void) size;
   if (!M_WPShadowClassData.classObject) 
      M_WPShadowNewClass(M_WPShadow_MajorVersion,M_WPShadow_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(M_WPShadowClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(M_WPShadowClassData.classObject));
}

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


};   /* M_WPShadow */



#endif       /* wpshadow_mxh */
