home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: h:\somnt\include\OM.xh.
- * Generated using:
- * SOM Precompiler somipc: Development
- * SOM Emitter emitxh.dll: Development
- */
-
- /*
- *
- * COMPONENT_NAME: somd
- *
- * ORIGINS: 27
- *
- *
- * 10H9767, 10H9769 (C) COPYRIGHT International Business Machines Corp. 1992,1994
- * All Rights Reserved
- * Licensed Materials - Property of IBM
- * US Government Users Restricted Rights - Use, duplication or
- * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- *
- *
- * IDL interface spec for generic Object Manager.
- *
- * The Object Manager (abstract) class provides a uniform abstraction
- * for various sorts of object managers. Object Request Brokers, persistent
- * storage managers, and OODBMSs are examples of object managers.
- *
- * This is an abstract base class, which defines the "core" interface for
- * an object manager. The basic groups of methods are:
- *
- * - object creation (basic)
- * - object identification & location/activation
- * - object release & destruction
- *
- * If a desired object cannot be mapped into the client's address space, the
- * object manager is responsible for building a local "proxy" for the remote
- * object. The client invokes methods on the proxy, and the proxy should
- * redispatch the requests to the remote object in an appropriate and
- * transparent way.
- *
- * NOTE: Since this is only intended to be an abstract base class, there
- * is no underlying implementation, and ObjectMgr objects should not actually
- * be instantiated.
- *
- */
-
-
- #ifndef SOM_ObjectMgr_xh
- #define SOM_ObjectMgr_xh
-
- class ObjectMgr;
-
- #define ObjectMgr_MajorVersion 2
- #define ObjectMgr_MinorVersion 1
-
- /* C++ SOM defs */
- #include <somcls.xh>
- #include <somcm.xh>
-
- /* C++ parent defs */
- #ifndef SOM_SOMObject_xh
- #include <somobj.xh>
- #endif
-
- /*
- * C++ metaclass def
- */
- #include <snglicls.xh>
-
- #ifndef ObjectMgr_API
- #define ObjectMgr_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
- class SOMClass;
- class SOMObject;
- class Container;
-
- /*
- * End of user-defined types.
- */
-
- /* A procedure to create the ObjectMgr Class */
- class SOMMSingleInstance;
- SOMEXTERN
- #if (defined(SOM_Module_OM_Source) || defined(ObjectMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ObjectMgr))
- WIN32_DLLEXPORT
- #else
- WIN32_DLLIMPORT
- #endif
- SOMMSingleInstance * SOMLINK ObjectMgrNewClass(
- integer4,
- integer4 );
-
- /* The API to the ObjectMgr class object, and the methods it introduces. */
- SOMEXTERN struct ObjectMgrClassDataStructure {
- SOMMSingleInstance *classObject;
- somMToken somdNewObject;
- somMToken somdGetIdFromObject;
- somMToken somdGetObjectFromId;
- somMToken somdReleaseObject;
- somMToken somdDestroyObject;
- }
- #if !(defined(SOM_Module_OM_Source) || defined(ObjectMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ObjectMgr))
- WIN32_DLLIMPORT
- #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
- WIN32_DLLEXPORT
- #endif
- SOMDLINK ObjectMgrClassData;
- #define _ObjectMgr ObjectMgrClassData.classObject
-
- /* The API to parentMtabs for ObjectMgr, and the instance data it introduces. */
- SOMEXTERN struct ObjectMgrCClassDataStructure {
- somMethodTabs parentMtab;
- somDToken instanceDataToken;
- }
- #if !(defined(SOM_Module_OM_Source) || defined(ObjectMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ObjectMgr))
- WIN32_DLLIMPORT
- #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
- WIN32_DLLEXPORT
- #endif
- SOMDLINK ObjectMgrCClassData;
-
- /*
- * -- Typedefs for ObjectMgr Method Procedures
- */
- extern "C" {
- typedef SOMObject* SOMLINK somTP_ObjectMgr_somdNewObject(ObjectMgr *somSelf, Environment *ev,
- Identifier objclass,
- string hints);
- typedef somTP_ObjectMgr_somdNewObject *somTD_ObjectMgr_somdNewObject;
- typedef string SOMLINK somTP_ObjectMgr_somdGetIdFromObject(ObjectMgr *somSelf, Environment *ev,
- SOMObject* obj);
- typedef somTP_ObjectMgr_somdGetIdFromObject *somTD_ObjectMgr_somdGetIdFromObject;
- typedef SOMObject* SOMLINK somTP_ObjectMgr_somdGetObjectFromId(ObjectMgr *somSelf, Environment *ev,
- string id);
- typedef somTP_ObjectMgr_somdGetObjectFromId *somTD_ObjectMgr_somdGetObjectFromId;
- typedef void SOMLINK somTP_ObjectMgr_somdReleaseObject(ObjectMgr *somSelf, Environment *ev,
- SOMObject* obj);
- typedef somTP_ObjectMgr_somdReleaseObject *somTD_ObjectMgr_somdReleaseObject;
- typedef void SOMLINK somTP_ObjectMgr_somdDestroyObject(ObjectMgr *somSelf, Environment *ev,
- SOMObject* obj);
- typedef somTP_ObjectMgr_somdDestroyObject *somTD_ObjectMgr_somdDestroyObject;
-
- /*
- * -- Typedefs for Reintroduced Wrapper Methods
- */
- typedef void SOMLINK somTP_ObjectMgr_somDefaultInit(ObjectMgr *somSelf,
- somInitCtrl* ctrl);
- typedef somTP_ObjectMgr_somDefaultInit *somTD_ObjectMgr_somDefaultInit;
- typedef void SOMLINK somTP_ObjectMgr_somDestruct(ObjectMgr *somSelf,
- octet doFree,
- somDestructCtrl* ctrl);
- typedef somTP_ObjectMgr_somDestruct *somTD_ObjectMgr_somDestruct;
- typedef void SOMLINK somTP_ObjectMgr_somDefaultCopyInit(ObjectMgr *somSelf,
- somInitCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultCopyInit *somTD_ObjectMgr_somDefaultCopyInit;
- typedef ObjectMgr* SOMLINK somTP_ObjectMgr_somDefaultAssign(ObjectMgr *somSelf,
- somAssignCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultAssign *somTD_ObjectMgr_somDefaultAssign;
- typedef void SOMLINK somTP_ObjectMgr_somDefaultConstCopyInit(ObjectMgr *somSelf,
- somInitCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultConstCopyInit *somTD_ObjectMgr_somDefaultConstCopyInit;
- typedef void SOMLINK somTP_ObjectMgr_somDefaultVCopyInit(ObjectMgr *somSelf,
- somInitCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultVCopyInit *somTD_ObjectMgr_somDefaultVCopyInit;
- typedef void SOMLINK somTP_ObjectMgr_somDefaultConstVCopyInit(ObjectMgr *somSelf,
- somInitCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultConstVCopyInit *somTD_ObjectMgr_somDefaultConstVCopyInit;
- typedef ObjectMgr* SOMLINK somTP_ObjectMgr_somDefaultConstAssign(ObjectMgr *somSelf,
- somAssignCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultConstAssign *somTD_ObjectMgr_somDefaultConstAssign;
- typedef ObjectMgr* SOMLINK somTP_ObjectMgr_somDefaultVAssign(ObjectMgr *somSelf,
- somAssignCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultVAssign *somTD_ObjectMgr_somDefaultVAssign;
- typedef ObjectMgr* SOMLINK somTP_ObjectMgr_somDefaultConstVAssign(ObjectMgr *somSelf,
- somAssignCtrl* ctrl,
- SOMObject* fromObj);
- typedef somTP_ObjectMgr_somDefaultConstVAssign *somTD_ObjectMgr_somDefaultConstVAssign;
- typedef void SOMLINK somTP_ObjectMgr_somInit(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somInit *somTD_ObjectMgr_somInit;
- typedef void SOMLINK somTP_ObjectMgr_somFree(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somFree *somTD_ObjectMgr_somFree;
- typedef void SOMLINK somTP_ObjectMgr_somUninit(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somUninit *somTD_ObjectMgr_somUninit;
- typedef SOMMSingleInstance* SOMLINK somTP_ObjectMgr_somGetClass(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somGetClass *somTD_ObjectMgr_somGetClass;
- typedef string SOMLINK somTP_ObjectMgr_somGetClassName(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somGetClassName *somTD_ObjectMgr_somGetClassName;
- typedef long SOMLINK somTP_ObjectMgr_somGetSize(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somGetSize *somTD_ObjectMgr_somGetSize;
- typedef boolean SOMLINK somTP_ObjectMgr_somIsA(ObjectMgr *somSelf,
- SOMClass* aClassObj);
- typedef somTP_ObjectMgr_somIsA *somTD_ObjectMgr_somIsA;
- typedef boolean SOMLINK somTP_ObjectMgr_somIsInstanceOf(ObjectMgr *somSelf,
- SOMClass* aClassObj);
- typedef somTP_ObjectMgr_somIsInstanceOf *somTD_ObjectMgr_somIsInstanceOf;
- typedef boolean SOMLINK somTP_ObjectMgr_somRespondsTo(ObjectMgr *somSelf,
- somId mId);
- typedef somTP_ObjectMgr_somRespondsTo *somTD_ObjectMgr_somRespondsTo;
- typedef boolean SOMLINK somTP_ObjectMgr_somDispatch(ObjectMgr *somSelf,
- somToken* retValue,
- somId methodId,
- va_list ap);
- typedef somTP_ObjectMgr_somDispatch *somTD_ObjectMgr_somDispatch;
- typedef boolean SOMLINK somTP_ObjectMgr_somClassDispatch(ObjectMgr *somSelf,
- SOMClass* clsObj,
- somToken* retValue,
- somId methodId,
- va_list ap);
- typedef somTP_ObjectMgr_somClassDispatch *somTD_ObjectMgr_somClassDispatch;
- typedef boolean SOMLINK somTP_ObjectMgr_somCastObj(ObjectMgr *somSelf,
- SOMClass* cls);
- typedef somTP_ObjectMgr_somCastObj *somTD_ObjectMgr_somCastObj;
- typedef boolean SOMLINK somTP_ObjectMgr_somResetObj(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somResetObj *somTD_ObjectMgr_somResetObj;
- typedef SOMObject* SOMLINK somTP_ObjectMgr_somPrintSelf(ObjectMgr *somSelf);
- typedef somTP_ObjectMgr_somPrintSelf *somTD_ObjectMgr_somPrintSelf;
- typedef void SOMLINK somTP_ObjectMgr_somDumpSelf(ObjectMgr *somSelf,
- long level);
- typedef somTP_ObjectMgr_somDumpSelf *somTD_ObjectMgr_somDumpSelf;
- typedef void SOMLINK somTP_ObjectMgr_somDumpSelfInt(ObjectMgr *somSelf,
- long level);
- typedef somTP_ObjectMgr_somDumpSelfInt *somTD_ObjectMgr_somDumpSelfInt;
- }
-
- #endif /* ObjectMgr_API */
-
-
- /*
- * -- This emitter believes that method thunks are unavailable,
- * -- so somResolve will be called.
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) (somResolve(obj,mToken))
-
- /*
- * -- The C++ Wrapper Class for ObjectMgr
- */
- class ObjectMgr : public SOMObject
- {
- public:
-
- // ObjectMgr::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 (!_ObjectMgr) ObjectMgrNewClass(ObjectMgr_MajorVersion,ObjectMgr_MinorVersion);
- return (void*)
- SOM_Resolve(_ObjectMgr,SOMClass,somNewNoInit)
- ((SOMClass *)((void*)_ObjectMgr));
- }
-
- // ObjectMgr::delete uses somDestruct.
- void operator delete(void * obj)
- {
- if (obj && *(void**)obj) {
- SOM_Resolve(obj,SOMObject,somDestruct)
- ((SOMObject*)obj, 1, 0);
- }
- }
-
- ObjectMgr()
- {
- if (*(void**)this !=
- ((somParentMtabStructPtr)
- (ObjectMgrCClassData.parentMtab))->mtab)
- return;
- ((SOMObject*)((void*)this))->somDefaultInit(0);
- }
-
- ObjectMgr(ObjectMgr* fromObj)
- {
- if (*(void**)this !=
- ((somParentMtabStructPtr)
- (ObjectMgrCClassData.parentMtab))->mtab)
- return;
- ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
- }
-
- ObjectMgr(const ObjectMgr* fromObj)
- {
- if (*(void**)this !=
- ((somParentMtabStructPtr)
- (ObjectMgrCClassData.parentMtab))->mtab)
- return;
- ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
- }
-
-
- /* method: somdNewObject */
- SOMObject* somdNewObject(Environment *ev,
- Identifier objclass,
- string hints)
- {
- return SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdNewObject)
- (this, ev,objclass,hints);
- }
-
-
- /* method: somdGetIdFromObject */
- string somdGetIdFromObject(Environment *ev,
- SOMObject* obj)
- {
- return SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdGetIdFromObject)
- (this, ev,obj);
- }
-
-
- /* method: somdGetObjectFromId */
- SOMObject* somdGetObjectFromId(Environment *ev,
- string id)
- {
- return SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdGetObjectFromId)
- (this, ev,id);
- }
-
-
- /* method: somdReleaseObject */
- void somdReleaseObject(Environment *ev,
- SOMObject* obj)
- {
- SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdReleaseObject)
- (this, ev,obj);
- }
-
-
- /* method: somdDestroyObject */
- void somdDestroyObject(Environment *ev,
- SOMObject* obj)
- {
- SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdDestroyObject)
- (this, ev,obj);
- }
-
-
- /*
- * Reintroduce inherited methods
- */
-
- /* initializer method: somDefaultInit */
- void somDefaultInit(somInitCtrl* ctrl)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultInit)
- (this,ctrl);
- }
-
-
- /* method: somDestruct */
- void somDestruct(octet doFree,
- somDestructCtrl* ctrl)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDestruct)
- (this,doFree,ctrl);
- }
-
-
- /* initializer method: somDefaultCopyInit */
- void somDefaultCopyInit(somInitCtrl* ctrl,
- SOMObject* fromObj)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultCopyInit)
- (this,ctrl,fromObj);
- }
-
-
- /* method: somDefaultAssign */
- ObjectMgr* somDefaultAssign(somAssignCtrl* ctrl,
- SOMObject* fromObj)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultAssign)
- (this,ctrl,fromObj);
- }
-
-
- /* initializer method: somDefaultConstCopyInit */
- void somDefaultConstCopyInit(somInitCtrl* ctrl,
- SOMObject* fromObj)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstCopyInit)
- (this,ctrl,fromObj);
- }
-
-
- /* initializer method: somDefaultVCopyInit */
- void somDefaultVCopyInit(somInitCtrl* ctrl,
- SOMObject* fromObj)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultVCopyInit)
- (this,ctrl,fromObj);
- }
-
-
- /* initializer method: somDefaultConstVCopyInit */
- void somDefaultConstVCopyInit(somInitCtrl* ctrl,
- SOMObject* fromObj)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstVCopyInit)
- (this,ctrl,fromObj);
- }
-
-
- /* method: somDefaultConstAssign */
- ObjectMgr* somDefaultConstAssign(somAssignCtrl* ctrl,
- SOMObject* fromObj)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstAssign)
- (this,ctrl,fromObj);
- }
-
-
- /* method: somDefaultVAssign */
- ObjectMgr* somDefaultVAssign(somAssignCtrl* ctrl,
- SOMObject* fromObj)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultVAssign)
- (this,ctrl,fromObj);
- }
-
-
- /* method: somDefaultConstVAssign */
- ObjectMgr* somDefaultConstVAssign(somAssignCtrl* ctrl,
- SOMObject* fromObj)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstVAssign)
- (this,ctrl,fromObj);
- }
-
-
- /* method: somInit */
- void somInit()
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somInit)
- (this);
- }
-
-
- /* method: somFree */
- void somFree()
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somFree)
- (this);
- }
-
-
- /* method: somUninit */
- void somUninit()
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somUninit)
- (this);
- }
-
-
- /* method: somGetClass */
- SOMMSingleInstance* somGetClass()
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somGetClass)
- (this);
- }
-
-
- /* method: somGetClassName */
- string somGetClassName()
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somGetClassName)
- (this);
- }
-
-
- /* method: somGetSize */
- long somGetSize()
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somGetSize)
- (this);
- }
-
-
- /* method: somIsA */
- boolean somIsA(SOMClass* aClassObj)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somIsA)
- (this,aClassObj);
- }
-
-
- /* method: somIsInstanceOf */
- boolean somIsInstanceOf(SOMClass* aClassObj)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somIsInstanceOf)
- (this,aClassObj);
- }
-
-
- /* method: somRespondsTo */
- boolean somRespondsTo(somId mId)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somRespondsTo)
- (this,mId);
- }
-
-
- /* va_list method: somDispatch */
- /* the va_list invocation form */
- boolean ObjectMgr_somDispatch(somToken* retValue,
- somId methodId,
- va_list ap)
- {
- return SOM_ResolveD(this,ObjectMgr,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,ObjectMgr,SOMObject,somDispatch)
- (this,retValue,methodId,ap);
- va_end(ap);
- return __somResult;
- }
-
-
- /* va_list method: somClassDispatch */
- /* the va_list invocation form */
- boolean ObjectMgr_somClassDispatch(SOMClass* clsObj,
- somToken* retValue,
- somId methodId,
- va_list ap)
- {
- return SOM_ResolveD(this,ObjectMgr,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,ObjectMgr,SOMObject,somClassDispatch)
- (this,clsObj,retValue,methodId,ap);
- va_end(ap);
- return __somResult;
- }
-
-
- /* method: somCastObj */
- boolean somCastObj(SOMClass* cls)
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somCastObj)
- (this,cls);
- }
-
-
- /* method: somResetObj */
- boolean somResetObj()
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somResetObj)
- (this);
- }
-
-
- /* method: somPrintSelf */
- SOMObject* somPrintSelf()
- {
- return SOM_ResolveD(this,ObjectMgr,SOMObject,somPrintSelf)
- (this);
- }
-
-
- /* method: somDumpSelf */
- void somDumpSelf(long level)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDumpSelf)
- (this,level);
- }
-
-
- /* method: somDumpSelfInt */
- void somDumpSelfInt(long level)
- {
- SOM_ResolveD(this,ObjectMgr,SOMObject,somDumpSelfInt)
- (this,level);
- }
-
-
-
- }; /* ObjectMgr */
-
-
-
- #endif /* SOM_ObjectMgr_xh */
-