home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / somdcprx.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  15.2 KB  |  438 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\SOMDCPRX.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emith.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somd
  13.  * 
  14.  *    ORIGINS: 27
  15.  * 
  16.  * 
  17.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  18.  *    All Rights Reserved
  19.  *    Licensed Materials - Property of IBM
  20.  *    US Government Users Restricted Rights - Use, duplication or
  21.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22.  * 
  23.  * 
  24.  *    This is the class that implements DSOM proxy objects in clients.
  25.  * 
  26.  *    This class is a subclass of SOMDObject.  It inherits the basic behavior
  27.  *    (methods) of a CORBA object reference from that parent class.
  28.  *    Thus, it "is a" SOMDObject.
  29.  * 
  30.  *    This class overrides the usual somDispatch methods with versions
  31.  *    that build a DSOM Request for the invocation and dispatch it, remotely.
  32.  *    It is intended that the implementation of this "generic" proxy class
  33.  *    will be used to derive specific proxy classes via multiple inheritance.
  34.  *    The new dispatch method is inherited from this client proxy class, while
  35.  *    the desired interface--and language bindings--are inherited from the
  36.  *    target class (but no implementation).
  37.  * 
  38.  *    E.g.,
  39.  *           SOMDClientProxy      Animal
  40.  *                     \           /
  41.  *                      \         / (interface only)
  42.  *                       \       /
  43.  *                    Animal__Proxy
  44.  * 
  45.  *    Note that SOMDClientProxy is an instance of SOMDMetaProxy.
  46.  */
  47.  
  48.  
  49. #ifndef SOM_SOMDClientProxy_h
  50. #define SOM_SOMDClientProxy_h
  51.  
  52.  
  53. #include <som.h>
  54.  
  55. /*
  56.  * -- This emitter treats Method Tokens as Thunks by default.
  57.  * -- Use the sc modifier "nothunks" to change this default
  58.  */
  59. #undef somresolve_
  60. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  61.  
  62. /*
  63.  * Define the class name as an object type
  64.  */
  65. #ifndef SOMDClientProxy
  66. #define SOMDClientProxy SOMObject
  67. #endif
  68. #include <somdobj.h>
  69.  
  70. /*
  71.  * Start of user-defined types:
  72.  */
  73. #ifndef SOMClass
  74.     #define SOMClass SOMObject
  75. #endif /* SOMClass */
  76. #ifndef Container
  77.     #define Container SOMObject
  78. #endif /* Container */
  79. #ifndef ImplementationDef
  80.     #define ImplementationDef SOMObject
  81. #endif /* ImplementationDef */
  82. #ifndef InterfaceDef
  83.     #define InterfaceDef SOMObject
  84. #endif /* InterfaceDef */
  85. #ifndef NVList
  86.     #define NVList SOMObject
  87. #endif /* NVList */
  88. #ifndef Context
  89.     #define Context SOMObject
  90. #endif /* Context */
  91. #ifndef Request
  92.     #define Request SOMObject
  93. #endif /* Request */
  94. #ifndef CommBinding
  95.     #define CommBinding SOMObject
  96. #endif /* CommBinding */
  97. #ifndef somdMemoryMgr
  98.     #define somdMemoryMgr SOMObject
  99. #endif /* somdMemoryMgr */
  100.  
  101. /*
  102.  * End of user-defined types.
  103.  */
  104.  
  105. #define SOMDClientProxy_MajorVersion 2
  106. #define SOMDClientProxy_MinorVersion 1
  107.  
  108. /*
  109.  * External name shortening if required
  110.  */
  111. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  112. #define SOMDClientProxyNewClass c
  113. #define SOMDClientProxyClassData d
  114. #define SOMDClientProxyCClassData x
  115. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  116. /*--------------Migration------------*/
  117. #define SOMDClientProxy_classObj SOMDClientProxyClassData.classObject
  118. #define _SOMDClientProxy SOMDClientProxy_classObj
  119.  
  120. /*
  121.  * Declare the class creation procedure
  122.  */
  123. SOMEXTERN
  124. #if (defined(SOM_Module_SOMDCPRX_Source) || defined(SOMDClientProxy_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMDClientProxy))
  125. WIN32_DLLEXPORT
  126. #else
  127. WIN32_DLLIMPORT
  128. #endif
  129. SOMClass * SOMLINK SOMDClientProxyNewClass(integer4 somntmajorVersion,
  130.         integer4 somntminorVersion);
  131.  
  132. /*
  133.  * Declare the class data structure
  134.  */
  135. SOMEXTERN struct SOMDClientProxyClassDataStructure {
  136.     SOMClass *classObject;
  137.     somMToken somdTargetFree;
  138.     somMToken somdTargetGetClass;
  139.     somMToken somdTargetGetClassName;
  140.     somMToken somdProxyFree;
  141.     somMToken somdProxyGetClass;
  142.     somMToken somdProxyGetClassName;
  143.     somMToken set_binding;
  144.     somMToken get_binding;
  145.     somMToken reset_binding;
  146.     somMToken _get_ctx_seq;
  147.     somMToken _set_ctx_seq;
  148.     somMToken somdReleaseResources;
  149.     somMToken _get_memoryMgr;
  150. #if (defined(SOM_Module_SOMDCPRX_Source) || defined(SOMDClientProxy_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMDClientProxy))
  151. } WIN32_DLLEXPORT SOMDLINK SOMDClientProxyClassData;
  152. #else
  153. } WIN32_DLLIMPORT SOMDLINK SOMDClientProxyClassData;
  154. #endif
  155.  
  156. /*
  157.  * Declare the C specific class data structure
  158.  */
  159. SOMEXTERN struct SOMDClientProxyCClassDataStructure {
  160.     somMethodTabs parentMtab;
  161.     somDToken instanceDataToken;
  162. #if (defined(SOM_Module_SOMDCPRX_Source) || defined(SOMDClientProxy_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMDClientProxy))
  163. } WIN32_DLLEXPORT SOMDLINK SOMDClientProxyCClassData;
  164. #else
  165. } WIN32_DLLIMPORT SOMDLINK SOMDClientProxyCClassData;
  166. #endif
  167.  
  168. /*
  169.  * New and Renew macros for SOMDClientProxy
  170.  */
  171. #define SOMDClientProxyNew() \
  172.    (_somNew(_SOMDClientProxy ? _SOMDClientProxy : SOMDClientProxyNewClass(SOMDClientProxy_MajorVersion, SOMDClientProxy_MinorVersion)))
  173. #define SOMDClientProxyRenew(buf) \
  174.    (_somRenew(_SOMDClientProxy ? _SOMDClientProxy : SOMDClientProxyNewClass(SOMDClientProxy_MajorVersion, SOMDClientProxy_MinorVersion), buf))
  175.  
  176. /*
  177.  * Override method: create_request
  178.  */
  179. #define SOMDClientProxy_create_request(somSelf,ev,ctx,operation,arg_list,result,request,req_flags) \
  180.     SOMDObject_create_request(somSelf,ev,ctx,operation,arg_list,result,request,req_flags)
  181.  
  182. /*
  183.  * Override method: create_request_args
  184.  */
  185. #define SOMDClientProxy_create_request_args(somSelf,ev,operation,arg_list,result) \
  186.     SOMDObject_create_request_args(somSelf,ev,operation,arg_list,result)
  187.  
  188. /*
  189.  * Override method: is_proxy
  190.  */
  191. #define SOMDClientProxy_is_proxy(somSelf,ev) \
  192.     SOMDObject_is_proxy(somSelf,ev)
  193.  
  194. /*
  195.  * Override method: release
  196.  */
  197. #define SOMDClientProxy_release(somSelf,ev) \
  198.     SOMDObject_release(somSelf,ev)
  199.  
  200. /*
  201.  * Override method: somDispatch
  202.  */
  203. #define SOMDClientProxy_somDispatch(somSelf,retValue,methodId,ap) \
  204.     SOMObject_somDispatch(somSelf,retValue,methodId,ap)
  205.  
  206. /*
  207.  * Override method: somFree
  208.  */
  209. #define SOMDClientProxy_somFree(somSelf) \
  210.     SOMObject_somFree(somSelf)
  211.  
  212. /*
  213.  * Override method: somGetClass
  214.  */
  215. #define SOMDClientProxy_somGetClass(somSelf) \
  216.     SOMObject_somGetClass(somSelf)
  217.  
  218. /*
  219.  * Override method: somGetClassName
  220.  */
  221. #define SOMDClientProxy_somGetClassName(somSelf) \
  222.     SOMObject_somGetClassName(somSelf)
  223.  
  224. /*
  225.  * Override method: somDestruct
  226.  */
  227. #define SOMDClientProxy_somDestruct(somSelf,doFree,ctrl) \
  228.     SOMObject_somDestruct(somSelf,doFree,ctrl)
  229.  
  230. /*
  231.  * Override method: somDefaultInit
  232.  */
  233. #define SOMDClientProxy_somDefaultInit(somSelf,ctrl) \
  234.     SOMObject_somDefaultInit(somSelf,ctrl)
  235.  
  236. /*
  237.  * Override method: somDefaultVCopyInit
  238.  */
  239. #define SOMDClientProxy_somDefaultVCopyInit(somSelf,ctrl,fromObj) \
  240.     SOMObject_somDefaultVCopyInit(somSelf,ctrl,fromObj)
  241.  
  242. /*
  243.  * Override method: somDefaultConstVCopyInit
  244.  */
  245. #define SOMDClientProxy_somDefaultConstVCopyInit(somSelf,ctrl,fromObj) \
  246.     SOMObject_somDefaultConstVCopyInit(somSelf,ctrl,fromObj)
  247.  
  248. /*
  249.  * Override method: somDefaultCopyInit
  250.  */
  251. #define SOMDClientProxy_somDefaultCopyInit(somSelf,ctrl,fromObj) \
  252.     SOMObject_somDefaultCopyInit(somSelf,ctrl,fromObj)
  253.  
  254. /*
  255.  * Override method: somDefaultConstCopyInit
  256.  */
  257. #define SOMDClientProxy_somDefaultConstCopyInit(somSelf,ctrl,fromObj) \
  258.     SOMObject_somDefaultConstCopyInit(somSelf,ctrl,fromObj)
  259.  
  260. /*
  261.  * Override method: somDefaultAssign
  262.  */
  263. #define SOMDClientProxy_somDefaultAssign(somSelf,ctrl,fromObj) \
  264.     SOMObject_somDefaultAssign(somSelf,ctrl,fromObj)
  265.  
  266. /*
  267.  * Override method: somDefaultConstAssign
  268.  */
  269. #define SOMDClientProxy_somDefaultConstAssign(somSelf,ctrl,fromObj) \
  270.     SOMObject_somDefaultConstAssign(somSelf,ctrl,fromObj)
  271.  
  272. /*
  273.  * Override method: somDefaultVAssign
  274.  */
  275. #define SOMDClientProxy_somDefaultVAssign(somSelf,ctrl,fromObj) \
  276.     SOMObject_somDefaultVAssign(somSelf,ctrl,fromObj)
  277.  
  278. /*
  279.  * Override method: somDefaultConstVAssign
  280.  */
  281. #define SOMDClientProxy_somDefaultConstVAssign(somSelf,ctrl,fromObj) \
  282.     SOMObject_somDefaultConstVAssign(somSelf,ctrl,fromObj)
  283.  
  284. /*
  285.  * New Method: somdTargetFree
  286.  */
  287. typedef void   SOMLINK somTP_SOMDClientProxy_somdTargetFree(SOMDClientProxy *somSelf, Environment *ev);
  288. typedef somTP_SOMDClientProxy_somdTargetFree *somTD_SOMDClientProxy_somdTargetFree;
  289. #define somMD_SOMDClientProxy_somdTargetFree "::SOMDClientProxy::somdTargetFree"
  290. #define SOMDClientProxy_somdTargetFree(somSelf,ev) \
  291.     (SOM_Resolve(somSelf, SOMDClientProxy, somdTargetFree) \
  292.     (somSelf,ev))
  293. #ifndef SOMGD_somdTargetFree
  294.     #if (defined(_somdTargetFree) || defined(__somdTargetFree))
  295.         #undef _somdTargetFree
  296.         #undef __somdTargetFree
  297.         #define SOMGD_somdTargetFree 1
  298.     #else
  299.         #define _somdTargetFree SOMDClientProxy_somdTargetFree
  300.     #endif /* _somdTargetFree */
  301. #endif /* SOMGD_somdTargetFree */
  302.  
  303. /*
  304.  * New Method: somdTargetGetClass
  305.  */
  306. typedef SOMClass*   SOMLINK somTP_SOMDClientProxy_somdTargetGetClass(SOMDClientProxy *somSelf, Environment *ev);
  307. typedef somTP_SOMDClientProxy_somdTargetGetClass *somTD_SOMDClientProxy_somdTargetGetClass;
  308. #define somMD_SOMDClientProxy_somdTargetGetClass "::SOMDClientProxy::somdTargetGetClass"
  309. #define SOMDClientProxy_somdTargetGetClass(somSelf,ev) \
  310.     (SOM_Resolve(somSelf, SOMDClientProxy, somdTargetGetClass) \
  311.     (somSelf,ev))
  312. #ifndef SOMGD_somdTargetGetClass
  313.     #if (defined(_somdTargetGetClass) || defined(__somdTargetGetClass))
  314.         #undef _somdTargetGetClass
  315.         #undef __somdTargetGetClass
  316.         #define SOMGD_somdTargetGetClass 1
  317.     #else
  318.         #define _somdTargetGetClass SOMDClientProxy_somdTargetGetClass
  319.     #endif /* _somdTargetGetClass */
  320. #endif /* SOMGD_somdTargetGetClass */
  321.  
  322. /*
  323.  * New Method: somdTargetGetClassName
  324.  */
  325. typedef string   SOMLINK somTP_SOMDClientProxy_somdTargetGetClassName(SOMDClientProxy *somSelf, Environment *ev);
  326. typedef somTP_SOMDClientProxy_somdTargetGetClassName *somTD_SOMDClientProxy_somdTargetGetClassName;
  327. #define somMD_SOMDClientProxy_somdTargetGetClassName "::SOMDClientProxy::somdTargetGetClassName"
  328. #define SOMDClientProxy_somdTargetGetClassName(somSelf,ev) \
  329.     (SOM_Resolve(somSelf, SOMDClientProxy, somdTargetGetClassName) \
  330.     (somSelf,ev))
  331. #ifndef SOMGD_somdTargetGetClassName
  332.     #if (defined(_somdTargetGetClassName) || defined(__somdTargetGetClassName))
  333.         #undef _somdTargetGetClassName
  334.         #undef __somdTargetGetClassName
  335.         #define SOMGD_somdTargetGetClassName 1
  336.     #else
  337.         #define _somdTargetGetClassName SOMDClientProxy_somdTargetGetClassName
  338.     #endif /* _somdTargetGetClassName */
  339. #endif /* SOMGD_somdTargetGetClassName */
  340.  
  341. /*
  342.  * New Method: somdProxyFree
  343.  */
  344. typedef void   SOMLINK somTP_SOMDClientProxy_somdProxyFree(SOMDClientProxy *somSelf, Environment *ev);
  345. typedef somTP_SOMDClientProxy_somdProxyFree *somTD_SOMDClientProxy_somdProxyFree;
  346. #define somMD_SOMDClientProxy_somdProxyFree "::SOMDClientProxy::somdProxyFree"
  347. #define SOMDClientProxy_somdProxyFree(somSelf,ev) \
  348.     (SOM_Resolve(somSelf, SOMDClientProxy, somdProxyFree) \
  349.     (somSelf,ev))
  350. #ifndef SOMGD_somdProxyFree
  351.     #if (defined(_somdProxyFree) || defined(__somdProxyFree))
  352.         #undef _somdProxyFree
  353.         #undef __somdProxyFree
  354.         #define SOMGD_somdProxyFree 1
  355.     #else
  356.         #define _somdProxyFree SOMDClientProxy_somdProxyFree
  357.     #endif /* _somdProxyFree */
  358. #endif /* SOMGD_somdProxyFree */
  359.  
  360. /*
  361.  * New Method: somdProxyGetClass
  362.  */
  363. typedef SOMClass*   SOMLINK somTP_SOMDClientProxy_somdProxyGetClass(SOMDClientProxy *somSelf, Environment *ev);
  364. typedef somTP_SOMDClientProxy_somdProxyGetClass *somTD_SOMDClientProxy_somdProxyGetClass;
  365. #define somMD_SOMDClientProxy_somdProxyGetClass "::SOMDClientProxy::somdProxyGetClass"
  366. #define SOMDClientProxy_somdProxyGetClass(somSelf,ev) \
  367.     (SOM_Resolve(somSelf, SOMDClientProxy, somdProxyGetClass) \
  368.     (somSelf,ev))
  369. #ifndef SOMGD_somdProxyGetClass
  370.     #if (defined(_somdProxyGetClass) || defined(__somdProxyGetClass))
  371.         #undef _somdProxyGetClass
  372.         #undef __somdProxyGetClass
  373.         #define SOMGD_somdProxyGetClass 1
  374.     #else
  375.         #define _somdProxyGetClass SOMDClientProxy_somdProxyGetClass
  376.     #endif /* _somdProxyGetClass */
  377. #endif /* SOMGD_somdProxyGetClass */
  378.  
  379. /*
  380.  * New Method: somdProxyGetClassName
  381.  */
  382. typedef string   SOMLINK somTP_SOMDClientProxy_somdProxyGetClassName(SOMDClientProxy *somSelf, Environment *ev);
  383. typedef somTP_SOMDClientProxy_somdProxyGetClassName *somTD_SOMDClientProxy_somdProxyGetClassName;
  384. #define somMD_SOMDClientProxy_somdProxyGetClassName "::SOMDClientProxy::somdProxyGetClassName"
  385. #define SOMDClientProxy_somdProxyGetClassName(somSelf,ev) \
  386.     (SOM_Resolve(somSelf, SOMDClientProxy, somdProxyGetClassName) \
  387.     (somSelf,ev))
  388. #ifndef SOMGD_somdProxyGetClassName
  389.     #if (defined(_somdProxyGetClassName) || defined(__somdProxyGetClassName))
  390.         #undef _somdProxyGetClassName
  391.         #undef __somdProxyGetClassName
  392.         #define SOMGD_somdProxyGetClassName 1
  393.     #else
  394.         #define _somdProxyGetClassName SOMDClientProxy_somdProxyGetClassName
  395.     #endif /* _somdProxyGetClassName */
  396. #endif /* SOMGD_somdProxyGetClassName */
  397.  
  398. /*
  399.  * New Method: somdReleaseResources
  400.  */
  401. typedef void   SOMLINK somTP_SOMDClientProxy_somdReleaseResources(SOMDClientProxy *somSelf, Environment *ev);
  402. typedef somTP_SOMDClientProxy_somdReleaseResources *somTD_SOMDClientProxy_somdReleaseResources;
  403. #define somMD_SOMDClientProxy_somdReleaseResources "::SOMDClientProxy::somdReleaseResources"
  404. #define SOMDClientProxy_somdReleaseResources(somSelf,ev) \
  405.     (SOM_Resolve(somSelf, SOMDClientProxy, somdReleaseResources) \
  406.     (somSelf,ev))
  407. #ifndef SOMGD_somdReleaseResources
  408.     #if (defined(_somdReleaseResources) || defined(__somdReleaseResources))
  409.         #undef _somdReleaseResources
  410.         #undef __somdReleaseResources
  411.         #define SOMGD_somdReleaseResources 1
  412.     #else
  413.         #define _somdReleaseResources SOMDClientProxy_somdReleaseResources
  414.     #endif /* _somdReleaseResources */
  415. #endif /* SOMGD_somdReleaseResources */
  416. #ifndef SOM_DONT_USE_INHERITED_MACROS
  417. #define SOMDClientProxy_get_implementation SOMDObject_get_implementation
  418. #define SOMDClientProxy_get_interface SOMDObject_get_interface
  419. #define SOMDClientProxy_is_nil SOMDObject_is_nil
  420. #define SOMDClientProxy_is_SOM_ref SOMDObject_is_SOM_ref
  421. #define SOMDClientProxy_is_constant SOMDObject_is_constant
  422. #define SOMDClientProxy_duplicate SOMDObject_duplicate
  423. #define SOMDClientProxy_somInit SOMObject_somInit
  424. #define SOMDClientProxy_somUninit SOMObject_somUninit
  425. #define SOMDClientProxy_somGetSize SOMObject_somGetSize
  426. #define SOMDClientProxy_somIsA SOMObject_somIsA
  427. #define SOMDClientProxy_somIsInstanceOf SOMObject_somIsInstanceOf
  428. #define SOMDClientProxy_somRespondsTo SOMObject_somRespondsTo
  429. #define SOMDClientProxy_somClassDispatch SOMObject_somClassDispatch
  430. #define SOMDClientProxy_somCastObj SOMObject_somCastObj
  431. #define SOMDClientProxy_somResetObj SOMObject_somResetObj
  432. #define SOMDClientProxy_somPrintSelf SOMObject_somPrintSelf
  433. #define SOMDClientProxy_somDumpSelf SOMObject_somDumpSelf
  434. #define SOMDClientProxy_somDumpSelfInt SOMObject_somDumpSelfInt
  435. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  436.  
  437. #endif       /* SOM_SOMDClientProxy_h */
  438.