home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
somdcprx.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-22
|
17KB
|
491 lines
/*
* This file was generated by the SOM Compiler.
* FileName: somdcprx.h.
* Generated using:
* SOM Precompiler somipc: 2.29.1.17
* SOM Emitter emith: 2.47
*/
/*
* This is the class that implements DSOM proxy objects in clients.
*
* This class is a subclass of SOMDObject. It inherits the basic behavior
* (methods) of a CORBA object reference from that parent class.
* Thus, it "is a" SOMDObject.
*
* This class overrides the usual somDispatch methods with versions
* that build a DSOM Request for the invocation and dispatch it, remotely.
* It is intended that the implementation of this "generic" proxy class
* will be used to derive specific proxy classes via multiple inheritance.
* The new dispatch method is inherited from this client proxy class, while
* the desired interface--and language bindings--are inherited from the
* target class (but no implementation).
*
* E.g.,
* SOMDClientProxy Animal
* \ /
* \ / (interface only)
* \ /
* Animal__Proxy
*
* Note that SOMDClientProxy is an instance of SOMDMetaProxy.
*/
#ifndef SOM_SOMDClientProxy_h
#define SOM_SOMDClientProxy_h
#include <som.h>
/*
* -- 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))
/*
* Define the class name as an object type
*/
#ifndef SOMDClientProxy
#define SOMDClientProxy SOMObject
#endif
/*
* To aid in distribution transparency, the following SOMObject methods
* are FORWARDED to the remote object:
* somFree
* somGetClass
* somGetClassName
* somDestruct (unless the remote connection is no longer valid)
* somDefaultInit (when the proxy has already been initialized)
* all assignment operator and copy constructor methods
* (requires that the "fromObj" parameter also be a proxy
* that refers to an object in the same address space.
*
* The following additional methods are provided to explicitly direct
* method calls to the local proxy or to the remote object.
*/
#include <somdobj.h>
/*
* Start of bindings for IDL types
*/
#ifndef SOMClass
#define SOMClass SOMObject
#endif /* SOMClass */
#ifndef Container
#define Container SOMObject
#endif /* Container */
#ifndef ImplementationDef
#define ImplementationDef SOMObject
#endif /* ImplementationDef */
#ifndef InterfaceDef
#define InterfaceDef SOMObject
#endif /* InterfaceDef */
#ifndef NVList
#define NVList SOMObject
#endif /* NVList */
#ifndef Context
#define Context SOMObject
#endif /* Context */
#ifndef Request
#define Request SOMObject
#endif /* Request */
#ifndef CommBinding
#define CommBinding SOMObject
#endif /* CommBinding */
#ifndef somdMemoryMgr
#define somdMemoryMgr SOMObject
#endif /* somdMemoryMgr */
/*
* End of bindings for IDL types.
*/
#define SOMDClientProxy_MajorVersion 2
#define SOMDClientProxy_MinorVersion 1
/*
* External name shortening if required
*/
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMDClientProxyNewClass c
#pragma linkage(c, system)
#define SOMDClientProxyClassData d
#define SOMDClientProxyCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMDClientProxy_classObj SOMDClientProxyClassData.classObject
#define _SOMDClientProxy SOMDClientProxy_classObj
/*
* Declare the class creation procedure
*/
SOMEXTERN SOMClass * SOMLINK SOMDClientProxyNewClass(integer4 somtmajorVersion,
integer4 somtminorVersion);
#pragma linkage(SOMDClientProxyNewClass, system)
/*
* Declare the class data structure
*/
SOMEXTERN struct SOMDClientProxyClassDataStructure {
SOMClass *classObject;
somMToken somdTargetFree;
somMToken somdTargetGetClass;
somMToken somdTargetGetClassName;
somMToken somdProxyFree;
somMToken somdProxyGetClass;
somMToken somdProxyGetClassName;
somMToken set_binding;
somMToken get_binding;
somMToken reset_binding;
somMToken _get_ctx_seq;
somMToken _set_ctx_seq;
somMToken somdReleaseResources;
somMToken _get_memoryMgr;
} SOMDLINK SOMDClientProxyClassData;
/*
* Declare the C specific class data structure
*/
SOMEXTERN struct SOMDClientProxyCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK SOMDClientProxyCClassData;
/*
* New and Renew macros for SOMDClientProxy
*/
#define SOMDClientProxyNew() \
( _SOMDClientProxy ? \
_somNew(_SOMDClientProxy) \
: ( SOMDClientProxyNewClass(\
SOMDClientProxy_MajorVersion, \
SOMDClientProxy_MinorVersion),\
_somNew(_SOMDClientProxy)))
#define SOMDClientProxyRenew(buf) \
( _SOMDClientProxy ? \
_somRenew(_SOMDClientProxy, buf) \
: ( SOMDClientProxyNewClass(\
SOMDClientProxy_MajorVersion, \
SOMDClientProxy_MinorVersion),\
_somRenew(_SOMDClientProxy, buf)))
/*
* Override method: create_request
*/
#define SOMDClientProxy_create_request(somSelf,ev,ctx,operation,arg_list,result,request,req_flags) \
SOMDObject_create_request(somSelf,ev,ctx,operation,arg_list,result,request,req_flags)
/*
* Override method: create_request_args
*/
#define SOMDClientProxy_create_request_args(somSelf,ev,operation,arg_list,result) \
SOMDObject_create_request_args(somSelf,ev,operation,arg_list,result)
/*
* Override method: is_proxy
*/
#define SOMDClientProxy_is_proxy(somSelf,ev) \
SOMDObject_is_proxy(somSelf,ev)
/*
* Override method: release
*/
#define SOMDClientProxy_release(somSelf,ev) \
SOMDObject_release(somSelf,ev)
/*
* Override method: somDispatch
*/
#define SOMDClientProxy_somDispatch(somSelf,retValue,methodId,ap) \
SOMObject_somDispatch(somSelf,retValue,methodId,ap)
/*
* Override method: somDispatchV
*/
#define SOMDClientProxy_somDispatchV(somSelf,methodId,descriptor,ap) \
SOMObject_somDispatchV(somSelf,methodId,descriptor,ap)
/*
* Override method: somDispatchL
*/
#define SOMDClientProxy_somDispatchL(somSelf,methodId,descriptor,ap) \
SOMObject_somDispatchL(somSelf,methodId,descriptor,ap)
/*
* Override method: somDispatchD
*/
#define SOMDClientProxy_somDispatchD(somSelf,methodId,descriptor,ap) \
SOMObject_somDispatchD(somSelf,methodId,descriptor,ap)
/*
* Override method: somDispatchA
*/
#define SOMDClientProxy_somDispatchA(somSelf,methodId,descriptor,ap) \
SOMObject_somDispatchA(somSelf,methodId,descriptor,ap)
/*
* Override method: somFree
*/
#define SOMDClientProxy_somFree(somSelf) \
SOMObject_somFree(somSelf)
/*
* Override method: somGetClass
*/
#define SOMDClientProxy_somGetClass(somSelf) \
SOMObject_somGetClass(somSelf)
/*
* Override method: somGetClassName
*/
#define SOMDClientProxy_somGetClassName(somSelf) \
SOMObject_somGetClassName(somSelf)
/*
* Override method: somDestruct
*/
#define SOMDClientProxy_somDestruct(somSelf,doFree,ctrl) \
SOMObject_somDestruct(somSelf,doFree,ctrl)
/*
* Override method: somDefaultInit
*/
#define SOMDClientProxy_somDefaultInit(somSelf,ctrl) \
SOMObject_somDefaultInit(somSelf,ctrl)
/*
* Override method: somDefaultVCopyInit
*/
#define SOMDClientProxy_somDefaultVCopyInit(somSelf,ctrl,fromObj) \
SOMObject_somDefaultVCopyInit(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultConstVCopyInit
*/
#define SOMDClientProxy_somDefaultConstVCopyInit(somSelf,ctrl,fromObj) \
SOMObject_somDefaultConstVCopyInit(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultCopyInit
*/
#define SOMDClientProxy_somDefaultCopyInit(somSelf,ctrl,fromObj) \
SOMObject_somDefaultCopyInit(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultConstCopyInit
*/
#define SOMDClientProxy_somDefaultConstCopyInit(somSelf,ctrl,fromObj) \
SOMObject_somDefaultConstCopyInit(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultAssign
*/
#define SOMDClientProxy_somDefaultAssign(somSelf,ctrl,fromObj) \
SOMObject_somDefaultAssign(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultConstAssign
*/
#define SOMDClientProxy_somDefaultConstAssign(somSelf,ctrl,fromObj) \
SOMObject_somDefaultConstAssign(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultVAssign
*/
#define SOMDClientProxy_somDefaultVAssign(somSelf,ctrl,fromObj) \
SOMObject_somDefaultVAssign(somSelf,ctrl,fromObj)
/*
* Override method: somDefaultConstVAssign
*/
#define SOMDClientProxy_somDefaultConstVAssign(somSelf,ctrl,fromObj) \
SOMObject_somDefaultConstVAssign(somSelf,ctrl,fromObj)
/*
* New Method: somdTargetFree
*/
typedef void SOMLINK somTP_SOMDClientProxy_somdTargetFree(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdTargetFree, system)
typedef somTP_SOMDClientProxy_somdTargetFree *somTD_SOMDClientProxy_somdTargetFree;
/*
* Forwards _somFree method call to the remote target object.
*/
#define somMD_SOMDClientProxy_somdTargetFree "::SOMDClientProxy::somdTargetFree"
#define SOMDClientProxy_somdTargetFree(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdTargetFree) \
(somSelf,ev))
#ifndef SOMGD_somdTargetFree
#if (defined(_somdTargetFree) || defined(__somdTargetFree))
#undef _somdTargetFree
#undef __somdTargetFree
#define SOMGD_somdTargetFree 1
#else
#define _somdTargetFree SOMDClientProxy_somdTargetFree
#endif /* _somdTargetFree */
#endif /* SOMGD_somdTargetFree */
/*
* New Method: somdTargetGetClass
*/
typedef SOMClass* SOMLINK somTP_SOMDClientProxy_somdTargetGetClass(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdTargetGetClass, system)
typedef somTP_SOMDClientProxy_somdTargetGetClass *somTD_SOMDClientProxy_somdTargetGetClass;
/*
* Forwards _somGetClass method call to the remote target object.
*/
#define somMD_SOMDClientProxy_somdTargetGetClass "::SOMDClientProxy::somdTargetGetClass"
#define SOMDClientProxy_somdTargetGetClass(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdTargetGetClass) \
(somSelf,ev))
#ifndef SOMGD_somdTargetGetClass
#if (defined(_somdTargetGetClass) || defined(__somdTargetGetClass))
#undef _somdTargetGetClass
#undef __somdTargetGetClass
#define SOMGD_somdTargetGetClass 1
#else
#define _somdTargetGetClass SOMDClientProxy_somdTargetGetClass
#endif /* _somdTargetGetClass */
#endif /* SOMGD_somdTargetGetClass */
/*
* New Method: somdTargetGetClassName
*/
typedef string SOMLINK somTP_SOMDClientProxy_somdTargetGetClassName(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdTargetGetClassName, system)
typedef somTP_SOMDClientProxy_somdTargetGetClassName *somTD_SOMDClientProxy_somdTargetGetClassName;
/*
* Forwards _somGetClassName method call to the remote target object.
*/
#define somMD_SOMDClientProxy_somdTargetGetClassName "::SOMDClientProxy::somdTargetGetClassName"
#define SOMDClientProxy_somdTargetGetClassName(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdTargetGetClassName) \
(somSelf,ev))
#ifndef SOMGD_somdTargetGetClassName
#if (defined(_somdTargetGetClassName) || defined(__somdTargetGetClassName))
#undef _somdTargetGetClassName
#undef __somdTargetGetClassName
#define SOMGD_somdTargetGetClassName 1
#else
#define _somdTargetGetClassName SOMDClientProxy_somdTargetGetClassName
#endif /* _somdTargetGetClassName */
#endif /* SOMGD_somdTargetGetClassName */
/*
* New Method: somdProxyFree
*/
typedef void SOMLINK somTP_SOMDClientProxy_somdProxyFree(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdProxyFree, system)
typedef somTP_SOMDClientProxy_somdProxyFree *somTD_SOMDClientProxy_somdProxyFree;
/*
* Performs _somFree method call on the local proxy object.
*/
#define somMD_SOMDClientProxy_somdProxyFree "::SOMDClientProxy::somdProxyFree"
#define SOMDClientProxy_somdProxyFree(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdProxyFree) \
(somSelf,ev))
#ifndef SOMGD_somdProxyFree
#if (defined(_somdProxyFree) || defined(__somdProxyFree))
#undef _somdProxyFree
#undef __somdProxyFree
#define SOMGD_somdProxyFree 1
#else
#define _somdProxyFree SOMDClientProxy_somdProxyFree
#endif /* _somdProxyFree */
#endif /* SOMGD_somdProxyFree */
/*
* New Method: somdProxyGetClass
*/
typedef SOMClass* SOMLINK somTP_SOMDClientProxy_somdProxyGetClass(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdProxyGetClass, system)
typedef somTP_SOMDClientProxy_somdProxyGetClass *somTD_SOMDClientProxy_somdProxyGetClass;
/*
* Performs _somGetClass method call on the local proxy object.
*/
#define somMD_SOMDClientProxy_somdProxyGetClass "::SOMDClientProxy::somdProxyGetClass"
#define SOMDClientProxy_somdProxyGetClass(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdProxyGetClass) \
(somSelf,ev))
#ifndef SOMGD_somdProxyGetClass
#if (defined(_somdProxyGetClass) || defined(__somdProxyGetClass))
#undef _somdProxyGetClass
#undef __somdProxyGetClass
#define SOMGD_somdProxyGetClass 1
#else
#define _somdProxyGetClass SOMDClientProxy_somdProxyGetClass
#endif /* _somdProxyGetClass */
#endif /* SOMGD_somdProxyGetClass */
/*
* New Method: somdProxyGetClassName
*/
typedef string SOMLINK somTP_SOMDClientProxy_somdProxyGetClassName(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdProxyGetClassName, system)
typedef somTP_SOMDClientProxy_somdProxyGetClassName *somTD_SOMDClientProxy_somdProxyGetClassName;
/*
* Performs _somGetClassName method call on the local proxy object.
*/
#define somMD_SOMDClientProxy_somdProxyGetClassName "::SOMDClientProxy::somdProxyGetClassName"
#define SOMDClientProxy_somdProxyGetClassName(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdProxyGetClassName) \
(somSelf,ev))
#ifndef SOMGD_somdProxyGetClassName
#if (defined(_somdProxyGetClassName) || defined(__somdProxyGetClassName))
#undef _somdProxyGetClassName
#undef __somdProxyGetClassName
#define SOMGD_somdProxyGetClassName 1
#else
#define _somdProxyGetClassName SOMDClientProxy_somdProxyGetClassName
#endif /* _somdProxyGetClassName */
#endif /* SOMGD_somdProxyGetClassName */
/*
* New Method: somdReleaseResources
*/
typedef void SOMLINK somTP_SOMDClientProxy_somdReleaseResources(SOMDClientProxy *somSelf, Environment *ev);
#pragma linkage(somTP_SOMDClientProxy_somdReleaseResources, system)
typedef somTP_SOMDClientProxy_somdReleaseResources *somTD_SOMDClientProxy_somdReleaseResources;
/*
* Instructs the proxy to free any memory it owns for use by the client.
*/
#define somMD_SOMDClientProxy_somdReleaseResources "::SOMDClientProxy::somdReleaseResources"
#define SOMDClientProxy_somdReleaseResources(somSelf,ev) \
(SOM_Resolve(somSelf, SOMDClientProxy, somdReleaseResources) \
(somSelf,ev))
#ifndef SOMGD_somdReleaseResources
#if (defined(_somdReleaseResources) || defined(__somdReleaseResources))
#undef _somdReleaseResources
#undef __somdReleaseResources
#define SOMGD_somdReleaseResources 1
#else
#define _somdReleaseResources SOMDClientProxy_somdReleaseResources
#endif /* _somdReleaseResources */
#endif /* SOMGD_somdReleaseResources */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMDClientProxy_get_implementation SOMDObject_get_implementation
#define SOMDClientProxy_get_interface SOMDObject_get_interface
#define SOMDClientProxy_is_nil SOMDObject_is_nil
#define SOMDClientProxy_is_SOM_ref SOMDObject_is_SOM_ref
#define SOMDClientProxy_is_constant SOMDObject_is_constant
#define SOMDClientProxy_duplicate SOMDObject_duplicate
#define SOMDClientProxy_somDumpSelfInt SOMObject_somDumpSelfInt
#define SOMDClientProxy_somInit SOMObject_somInit
#define SOMDClientProxy_somUninit SOMObject_somUninit
#define SOMDClientProxy_somGetSize SOMObject_somGetSize
#define SOMDClientProxy_somIsA SOMObject_somIsA
#define SOMDClientProxy_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMDClientProxy_somRespondsTo SOMObject_somRespondsTo
#define SOMDClientProxy_somClassDispatch SOMObject_somClassDispatch
#define SOMDClientProxy_somCastObj SOMObject_somCastObj
#define SOMDClientProxy_somResetObj SOMObject_somResetObj
#define SOMDClientProxy_somPrintSelf SOMObject_somPrintSelf
#define SOMDClientProxy_somDumpSelf SOMObject_somDumpSelf
#endif /* SOM_DONT_USE_INHERITED_MACROS */
#endif /* SOM_SOMDClientProxy_h */