home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
wpsclass.zip
/
WPCLSMGR.XH
< prev
next >
Wrap
Text File
|
1995-07-24
|
20KB
|
725 lines
/*
* This file was generated by the SOM Compiler.
* FileName: F:\wpwpsh\rel\ppc\include\os2\wpclsmgr.xh.
* Generated using:
* SOM Precompiler somipc: 2.29.1.3
* SOM Emitter emitxh: 2.41
*/
/*
* Module Header
*
* Module Name: WPCLSMGR
*
* OS/2 Presentation Manager Workplace class definitions
*
* Copyright (c) International Business Machines Corporation 1991, 1995
*
*/
#ifndef SOM_WPClassManager_xh
#define SOM_WPClassManager_xh
class WPClassManager;
#define WPClassManager_MajorVersion 1
#define WPClassManager_MinorVersion 2
/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>
/* C++ parent defs */
#ifndef SOM_SOMClassMgr_xh
#include <somcm.xh>
#endif
#ifndef WPClassManager_API
#define WPClassManager_API
/*
* -- The Class API
*/
/*
* Start of user-defined types:
*/
class SOMClass;
class SOMObject;
class Repository;
class WPObject;
/*
* End of user-defined types.
*/
/* A procedure to create the WPClassManager Class */
SOMEXTERN SOMClass * SOMLINK WPClassManagerNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* The API to the WPClassManager class object, and the methods it introduces. */
SOMEXTERN struct WPClassManagerClassDataStructure {
SOMClass *classObject;
somMToken wpQueryClassReplaceList;
somMToken wpGetTrueClassName;
somMToken wpReplacementIsInEffect;
somMToken wpModuleForClass;
} SOMDLINK WPClassManagerClassData;
#define _WPClassManager WPClassManagerClassData.classObject
/* The API to parentMtabs for WPClassManager, and the instance data it introduces. */
SOMEXTERN struct WPClassManagerCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK WPClassManagerCClassData;
/*
* -- Typedefs for WPClassManager Method Procedures
*/
SOMEXTERN {
typedef BOOL (SOMLINK * somTD_WPClassManager_wpReplacementIsInEffect)(WPClassManager *somSelf,
PSZ pszOldClass,
PSZ pszNewClass);
typedef PSZ (SOMLINK * somTD_WPClassManager_wpModuleForClass)(WPClassManager *somSelf,
PSZ pszClass);
typedef PSZ (SOMLINK * somTD_WPClassManager_wpGetTrueClassName)(WPClassManager *somSelf,
WPObject* Object);
/*
* -- Typedefs for Reintroduced Wrapper Methods
*/
typedef SOMClass* (SOMLINK * somTD_WPClassManager_somLoadClassFile)(WPClassManager *somSelf,
somId classId,
long majorVersion,
long minorVersion,
string file);
typedef string (SOMLINK * somTD_WPClassManager_somLocateClassFile)(WPClassManager *somSelf,
somId classId,
long majorVersion,
long minorVersion);
typedef void (SOMLINK * somTD_WPClassManager_somRegisterClass)(WPClassManager *somSelf,
SOMClass* classObj);
typedef void (SOMLINK * somTD_WPClassManager_somRegisterClassLibrary)(WPClassManager *somSelf,
string libraryName,
somMethodPtr libraryInitRtn);
typedef long (SOMLINK * somTD_WPClassManager_somUnloadClassFile)(WPClassManager *somSelf,
SOMClass* classObj);
typedef long (SOMLINK * somTD_WPClassManager_somUnregisterClass)(WPClassManager *somSelf,
SOMClass* classObj);
typedef void (SOMLINK * somTD_WPClassManager_somBeginPersistentClasses)(WPClassManager *somSelf);
typedef void (SOMLINK * somTD_WPClassManager_somEndPersistentClasses)(WPClassManager *somSelf);
typedef boolean (SOMLINK * somTD_WPClassManager_somJoinAffinityGroup)(WPClassManager *somSelf,
SOMClass* newClass,
SOMClass* affClass);
typedef string (SOMLINK * somTD_WPClassManager_somGetInitFunction)(WPClassManager *somSelf);
typedef Repository* (SOMLINK * somTD_WPClassManager__get_somInterfaceRepository)(WPClassManager *somSelf);
typedef void (SOMLINK * somTD_WPClassManager__set_somInterfaceRepository)(WPClassManager *somSelf,
Repository* somInterfaceRepository);
typedef _IDL_SEQUENCE_SOMClass (SOMLINK * somTD_WPClassManager__get_somRegisteredClasses)(WPClassManager *somSelf);
typedef SOMClassMgr_SOMClassArray (SOMLINK * somTD_WPClassManager_somGetRelatedClasses)(WPClassManager *somSelf,
SOMClass* classObj);
typedef SOMClass* (SOMLINK * somTD_WPClassManager_somClassFromId)(WPClassManager *somSelf,
somId classId);
typedef SOMClass* (SOMLINK * somTD_WPClassManager_somFindClass)(WPClassManager *somSelf,
somId classId,
long majorVersion,
long minorVersion);
typedef SOMClass* (SOMLINK * somTD_WPClassManager_somFindClsInFile)(WPClassManager *somSelf,
somId classId,
long majorVersion,
long minorVersion,
string file);
typedef void (SOMLINK * somTD_WPClassManager_somMergeInto)(WPClassManager *somSelf,
SOMObject* targetObj);
typedef long (SOMLINK * somTD_WPClassManager_somSubstituteClass)(WPClassManager *somSelf,
string origClassName,
string newClassName);
typedef void (SOMLINK * somTD_WPClassManager_somInit)(WPClassManager *somSelf);
typedef void (SOMLINK * somTD_WPClassManager_somUninit)(WPClassManager *somSelf);
typedef void (SOMLINK * somTD_WPClassManager_somDumpSelfInt)(WPClassManager *somSelf,
long level);
typedef void (SOMLINK * somTD_WPClassManager_somDefaultInit)(WPClassManager *somSelf,
somInitCtrl* ctrl);
typedef void (SOMLINK * somTD_WPClassManager_somDestruct)(WPClassManager *somSelf,
octet doFree,
somDestructCtrl* ctrl);
typedef void (SOMLINK * somTD_WPClassManager_somDefaultCopyInit)(WPClassManager *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef WPClassManager* (SOMLINK * somTD_WPClassManager_somDefaultAssign)(WPClassManager *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_WPClassManager_somDefaultConstCopyInit)(WPClassManager *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_WPClassManager_somDefaultVCopyInit)(WPClassManager *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_WPClassManager_somDefaultConstVCopyInit)(WPClassManager *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef WPClassManager* (SOMLINK * somTD_WPClassManager_somDefaultConstAssign)(WPClassManager *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef WPClassManager* (SOMLINK * somTD_WPClassManager_somDefaultVAssign)(WPClassManager *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef WPClassManager* (SOMLINK * somTD_WPClassManager_somDefaultConstVAssign)(WPClassManager *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_WPClassManager_somFree)(WPClassManager *somSelf);
typedef SOMClass* (SOMLINK * somTD_WPClassManager_somGetClass)(WPClassManager *somSelf);
typedef string (SOMLINK * somTD_WPClassManager_somGetClassName)(WPClassManager *somSelf);
typedef long (SOMLINK * somTD_WPClassManager_somGetSize)(WPClassManager *somSelf);
typedef boolean (SOMLINK * somTD_WPClassManager_somIsA)(WPClassManager *somSelf,
SOMClass* aClassObj);
typedef boolean (SOMLINK * somTD_WPClassManager_somIsInstanceOf)(WPClassManager *somSelf,
SOMClass* aClassObj);
typedef boolean (SOMLINK * somTD_WPClassManager_somRespondsTo)(WPClassManager *somSelf,
somId mId);
typedef boolean (SOMLINK * somTD_WPClassManager_somDispatch)(WPClassManager *somSelf,
somToken* retValue,
somId methodId,
va_list ap);
typedef boolean (SOMLINK * somTD_WPClassManager_somClassDispatch)(WPClassManager *somSelf,
SOMClass* clsObj,
somToken* retValue,
somId methodId,
va_list ap);
typedef boolean (SOMLINK * somTD_WPClassManager_somCastObj)(WPClassManager *somSelf,
SOMClass* cls);
typedef boolean (SOMLINK * somTD_WPClassManager_somResetObj)(WPClassManager *somSelf);
typedef SOMObject* (SOMLINK * somTD_WPClassManager_somPrintSelf)(WPClassManager *somSelf);
typedef void (SOMLINK * somTD_WPClassManager_somDumpSelf)(WPClassManager *somSelf,
long level);
}
#endif /* WPClassManager_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 WPClassManager
*/
class WPClassManager : public SOMClassMgr
{
public:
// WPClassManager::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 size)
{
SOM_IgnoreWarning(size);
if (!_WPClassManager) WPClassManagerNewClass(WPClassManager_MajorVersion,WPClassManager_MinorVersion);
return (void*)
SOM_Resolve(_WPClassManager,SOMClass,somNewNoInit)
((SOMClass *)((void*)_WPClassManager));
}
// WPClassManager::delete uses the default deallocator for the object's class.
void operator delete(void * obj)
{
somToken objCls = obj ? *(void**)obj : (somToken) NULL;
if (somIsObj(objCls)) {
SOM_Resolve(objCls,SOMClass,somDeallocate)
((SOMClass*)objCls, (string)obj);
}
}
WPClassManager()
{
if (*(void**)this !=
((somParentMtabStructPtr)
(WPClassManagerCClassData.parentMtab))->mtab)
return;
somDefaultInit(0);
}
WPClassManager(WPClassManager* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(WPClassManagerCClassData.parentMtab))->mtab)
return;
somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}
WPClassManager(const WPClassManager* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(WPClassManagerCClassData.parentMtab))->mtab)
return;
somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}
~WPClassManager()
{
if (!somIsObj(this)) return;
somDestruct(0,0);
*(void**)this = **(void***)this;
}
/* method: wpReplacementIsInEffect */
BOOL wpReplacementIsInEffect(PSZ pszOldClass,
PSZ pszNewClass)
{
return SOM_ResolveD(this,WPClassManager,WPClassManager,wpReplacementIsInEffect)
(this,pszOldClass,pszNewClass);
}
/* method: wpModuleForClass */
PSZ wpModuleForClass(PSZ pszClass)
{
return SOM_ResolveD(this,WPClassManager,WPClassManager,wpModuleForClass)
(this,pszClass);
}
/* method: wpGetTrueClassName */
PSZ wpGetTrueClassName(WPObject* Object)
{
return SOM_ResolveD(this,WPClassManager,WPClassManager,wpGetTrueClassName)
(this,Object);
}
/*
* Reintroduce inherited methods
*/
/* method: somLoadClassFile */
SOMClass* somLoadClassFile(somId classId,
long majorVersion,
long minorVersion,
string file)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somLoadClassFile)
(this,classId,majorVersion,minorVersion,file);
}
/* method: somLocateClassFile */
string somLocateClassFile(somId classId,
long majorVersion,
long minorVersion)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somLocateClassFile)
(this,classId,majorVersion,minorVersion);
}
/* method: somRegisterClass */
void somRegisterClass(SOMClass* classObj)
{
SOM_ResolveD(this,WPClassManager,SOMClassMgr,somRegisterClass)
(this,classObj);
}
/* method: somRegisterClassLibrary */
void somRegisterClassLibrary(string libraryName,
somMethodPtr libraryInitRtn)
{
SOM_ResolveD(this,WPClassManager,SOMClassMgr,somRegisterClassLibrary)
(this,libraryName,libraryInitRtn);
}
/* method: somUnloadClassFile */
long somUnloadClassFile(SOMClass* classObj)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somUnloadClassFile)
(this,classObj);
}
/* method: somUnregisterClass */
long somUnregisterClass(SOMClass* classObj)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somUnregisterClass)
(this,classObj);
}
/* method: somBeginPersistentClasses */
void somBeginPersistentClasses()
{
SOM_ResolveD(this,WPClassManager,SOMClassMgr,somBeginPersistentClasses)
(this);
}
/* method: somEndPersistentClasses */
void somEndPersistentClasses()
{
SOM_ResolveD(this,WPClassManager,SOMClassMgr,somEndPersistentClasses)
(this);
}
/* method: somJoinAffinityGroup */
boolean somJoinAffinityGroup(SOMClass* newClass,
SOMClass* affClass)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somJoinAffinityGroup)
(this,newClass,affClass);
}
/* method: somGetInitFunction */
string somGetInitFunction()
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somGetInitFunction)
(this);
}
/* method: _get_somInterfaceRepository */
Repository* _get_somInterfaceRepository()
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,_get_somInterfaceRepository)
(this);
}
/* method: _set_somInterfaceRepository */
void _set_somInterfaceRepository(Repository* somInterfaceRepository)
{
SOM_ResolveD(this,WPClassManager,SOMClassMgr,_set_somInterfaceRepository)
(this,somInterfaceRepository);
}
/* method: _get_somRegisteredClasses */
_IDL_SEQUENCE_SOMClass _get_somRegisteredClasses()
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,_get_somRegisteredClasses)
(this);
}
/* method: somGetRelatedClasses */
SOMClassMgr_SOMClassArray somGetRelatedClasses(SOMClass* classObj)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somGetRelatedClasses)
(this,classObj);
}
/* method: somClassFromId */
SOMClass* somClassFromId(somId classId)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somClassFromId)
(this,classId);
}
/* method: somFindClass */
SOMClass* somFindClass(somId classId,
long majorVersion,
long minorVersion)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somFindClass)
(this,classId,majorVersion,minorVersion);
}
/* method: somFindClsInFile */
SOMClass* somFindClsInFile(somId classId,
long majorVersion,
long minorVersion,
string file)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somFindClsInFile)
(this,classId,majorVersion,minorVersion,file);
}
/* method: somMergeInto */
void somMergeInto(SOMObject* targetObj)
{
SOM_ResolveD(this,WPClassManager,SOMClassMgr,somMergeInto)
(this,targetObj);
}
/* method: somSubstituteClass */
long somSubstituteClass(string origClassName,
string newClassName)
{
return SOM_ResolveD(this,WPClassManager,SOMClassMgr,somSubstituteClass)
(this,origClassName,newClassName);
}
/* method: somInit */
void somInit()
{
SOM_ResolveD(this,WPClassManager,SOMObject,somInit)
(this);
}
/* method: somUninit */
void somUninit()
{
SOM_ResolveD(this,WPClassManager,SOMObject,somUninit)
(this);
}
/* method: somDumpSelfInt */
void somDumpSelfInt(long level)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDumpSelfInt)
(this,level);
}
/* initializer method: somDefaultInit */
void somDefaultInit(somInitCtrl* ctrl)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultInit)
(this,ctrl);
}
/* method: somDestruct */
void somDestruct(octet doFree,
somDestructCtrl* ctrl)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDestruct)
(this,doFree,ctrl);
}
/* method: somDefaultCopyInit */
void somDefaultCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultAssign */
WPClassManager* somDefaultAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultAssign)
(this,ctrl,fromObj);
}
/* method: somDefaultConstCopyInit */
void somDefaultConstCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultConstCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultVCopyInit */
void somDefaultVCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultVCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultConstVCopyInit */
void somDefaultConstVCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultConstVCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultConstAssign */
WPClassManager* somDefaultConstAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultConstAssign)
(this,ctrl,fromObj);
}
/* method: somDefaultVAssign */
WPClassManager* somDefaultVAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultVAssign)
(this,ctrl,fromObj);
}
/* method: somDefaultConstVAssign */
WPClassManager* somDefaultConstVAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somDefaultConstVAssign)
(this,ctrl,fromObj);
}
/* method: somFree */
void somFree()
{
SOM_ResolveD(this,WPClassManager,SOMObject,somFree)
(this);
}
/* method: somGetClass */
SOMClass* somGetClass()
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somGetClass)
(this);
}
/* method: somGetClassName */
string somGetClassName()
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somGetClassName)
(this);
}
/* method: somGetSize */
long somGetSize()
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somGetSize)
(this);
}
/* method: somIsA */
boolean somIsA(SOMClass* aClassObj)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somIsA)
(this,aClassObj);
}
/* method: somIsInstanceOf */
boolean somIsInstanceOf(SOMClass* aClassObj)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somIsInstanceOf)
(this,aClassObj);
}
/* method: somRespondsTo */
boolean somRespondsTo(somId mId)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somRespondsTo)
(this,mId);
}
/* va_list method: somDispatch */
/* the va_list invocation form */
boolean WPClassManager_somDispatch(somToken* retValue,
somId methodId,
va_list ap)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somDispatch)
(this,retValue,methodId,ap);
}
/* the varargs invocation form */
boolean somDispatch(somToken* retValue,
somId methodId,
...)
{
va_list ap;
va_start(ap, methodId);
boolean __somResult =
SOM_ResolveD(this,WPClassManager,SOMObject,somDispatch)
(this,retValue,methodId,ap);
va_end(ap);
return __somResult;
}
/* va_list method: somClassDispatch */
/* the va_list invocation form */
boolean WPClassManager_somClassDispatch(SOMClass* clsObj,
somToken* retValue,
somId methodId,
va_list ap)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somClassDispatch)
(this,clsObj,retValue,methodId,ap);
}
/* the varargs invocation form */
boolean somClassDispatch(SOMClass* clsObj,
somToken* retValue,
somId methodId,
...)
{
va_list ap;
va_start(ap, methodId);
boolean __somResult =
SOM_ResolveD(this,WPClassManager,SOMObject,somClassDispatch)
(this,clsObj,retValue,methodId,ap);
va_end(ap);
return __somResult;
}
/* method: somCastObj */
boolean somCastObj(SOMClass* cls)
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somCastObj)
(this,cls);
}
/* method: somResetObj */
boolean somResetObj()
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somResetObj)
(this);
}
/* method: somPrintSelf */
SOMObject* somPrintSelf()
{
return SOM_ResolveD(this,WPClassManager,SOMObject,somPrintSelf)
(this);
}
/* method: somDumpSelf */
void somDumpSelf(long level)
{
SOM_ResolveD(this,WPClassManager,SOMObject,somDumpSelf)
(this,level);
}
}; /* WPClassManager */
#endif /* SOM_WPClassManager_xh */