home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / principl.xh < prev    next >
Encoding:
Text File  |  1996-02-22  |  16.0 KB  |  581 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\PRINCIPL.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.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.  
  25.  
  26. #ifndef SOM_Principal_xh
  27. #define SOM_Principal_xh
  28.  
  29. class Principal;
  30.  
  31. /*
  32.  *    This is a class interface definition which defines the CORBA-defined
  33.  *    Principal object. CORBA defines the Principal object but (at this
  34.  *    time) does not define the interface to this object. The methods for
  35.  *    this object are, therefore, subject to change in future implementations.
  36.  * 
  37.  *    The BOA guarantees that for every method invocation it will identify
  38.  *    the principal on whose behalf the request is performed. An object
  39.  *    implementation may request an instance of this class to determine
  40.  *    if a method invocation has been made by someone with the appropriate
  41.  *    authority. An instance of this class is returned when the following
  42.  *    method is invoked on the BOA:
  43.  * 
  44.  *      get_principal(in BOA boaobj, in Environment lcl_ev,
  45.  *                    in SOMDObject obj, in Environment req_ev);
  46.  * 
  47.  */
  48.  
  49. #define Principal_MajorVersion 1
  50. #define Principal_MinorVersion 0
  51.  
  52. /* C++ SOM defs */
  53. #include <somcls.xh>
  54. #include <somcm.xh>
  55.  
  56. /* C++ parent defs */
  57. #ifndef SOM_SOMObject_xh
  58. #include <somobj.xh>
  59. #endif
  60.  
  61. #ifndef Principal_API
  62. #define Principal_API
  63. /*
  64.  * -- The Class API
  65.  */
  66.  
  67. /*
  68.  * Start of user-defined types:
  69.  */
  70. class SOMClass;
  71. class SOMObject;
  72.  
  73. /*
  74.  * End of user-defined types.
  75.  */
  76.  
  77. /* A procedure to create the Principal Class */
  78. SOMEXTERN
  79. #if (defined(SOM_Module_PRINCIPL_Source) || defined(Principal_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Principal))
  80. WIN32_DLLEXPORT
  81. #else
  82. WIN32_DLLIMPORT
  83. #endif
  84. SOMClass * SOMLINK PrincipalNewClass(
  85.         integer4,
  86.         integer4 );
  87.  
  88. /* The API to the Principal class object, and the methods it introduces. */
  89. SOMEXTERN struct PrincipalClassDataStructure {
  90.     SOMClass *classObject;
  91.     somMToken _set_userName;
  92.     somMToken _get_userName;
  93.     somMToken _set_hostName;
  94.     somMToken _get_hostName;
  95. }
  96. #if !(defined(SOM_Module_PRINCIPL_Source) || defined(Principal_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Principal))
  97. WIN32_DLLIMPORT
  98. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  99. WIN32_DLLEXPORT
  100. #endif
  101. SOMDLINK PrincipalClassData;
  102. #define _Principal PrincipalClassData.classObject
  103.  
  104. /* The API to parentMtabs for Principal, and the instance data it introduces. */
  105. SOMEXTERN struct PrincipalCClassDataStructure {
  106.     somMethodTabs parentMtab;
  107.     somDToken              instanceDataToken;
  108. }
  109. #if !(defined(SOM_Module_PRINCIPL_Source) || defined(Principal_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Principal))
  110. WIN32_DLLIMPORT
  111. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  112. WIN32_DLLEXPORT
  113. #endif
  114. SOMDLINK PrincipalCClassData;
  115.  
  116. /*
  117.  * -- Typedefs for Principal Method Procedures
  118.  */
  119. extern "C" {
  120. typedef string   SOMLINK somTP_Principal__get_userName(Principal *somSelf, Environment *ev);
  121. typedef somTP_Principal__get_userName *somTD_Principal__get_userName;
  122. typedef void   SOMLINK somTP_Principal__set_userName(Principal *somSelf, Environment *ev,
  123.         string userName);
  124. typedef somTP_Principal__set_userName *somTD_Principal__set_userName;
  125. typedef string   SOMLINK somTP_Principal__get_hostName(Principal *somSelf, Environment *ev);
  126. typedef somTP_Principal__get_hostName *somTD_Principal__get_hostName;
  127. typedef void   SOMLINK somTP_Principal__set_hostName(Principal *somSelf, Environment *ev,
  128.         string hostName);
  129. typedef somTP_Principal__set_hostName *somTD_Principal__set_hostName;
  130.  
  131. /*
  132.  * -- Typedefs for Reintroduced Wrapper Methods
  133.  */
  134. typedef void   SOMLINK somTP_Principal_somDefaultInit(Principal *somSelf,
  135.         somInitCtrl* ctrl);
  136. typedef somTP_Principal_somDefaultInit *somTD_Principal_somDefaultInit;
  137. typedef void   SOMLINK somTP_Principal_somDestruct(Principal *somSelf,
  138.         octet doFree,
  139.         somDestructCtrl* ctrl);
  140. typedef somTP_Principal_somDestruct *somTD_Principal_somDestruct;
  141. typedef void   SOMLINK somTP_Principal_somDefaultCopyInit(Principal *somSelf,
  142.         somInitCtrl* ctrl,
  143.         SOMObject* fromObj);
  144. typedef somTP_Principal_somDefaultCopyInit *somTD_Principal_somDefaultCopyInit;
  145. typedef Principal*   SOMLINK somTP_Principal_somDefaultAssign(Principal *somSelf,
  146.         somAssignCtrl* ctrl,
  147.         SOMObject* fromObj);
  148. typedef somTP_Principal_somDefaultAssign *somTD_Principal_somDefaultAssign;
  149. typedef void   SOMLINK somTP_Principal_somDefaultConstCopyInit(Principal *somSelf,
  150.         somInitCtrl* ctrl,
  151.         SOMObject* fromObj);
  152. typedef somTP_Principal_somDefaultConstCopyInit *somTD_Principal_somDefaultConstCopyInit;
  153. typedef void   SOMLINK somTP_Principal_somDefaultVCopyInit(Principal *somSelf,
  154.         somInitCtrl* ctrl,
  155.         SOMObject* fromObj);
  156. typedef somTP_Principal_somDefaultVCopyInit *somTD_Principal_somDefaultVCopyInit;
  157. typedef void   SOMLINK somTP_Principal_somDefaultConstVCopyInit(Principal *somSelf,
  158.         somInitCtrl* ctrl,
  159.         SOMObject* fromObj);
  160. typedef somTP_Principal_somDefaultConstVCopyInit *somTD_Principal_somDefaultConstVCopyInit;
  161. typedef Principal*   SOMLINK somTP_Principal_somDefaultConstAssign(Principal *somSelf,
  162.         somAssignCtrl* ctrl,
  163.         SOMObject* fromObj);
  164. typedef somTP_Principal_somDefaultConstAssign *somTD_Principal_somDefaultConstAssign;
  165. typedef Principal*   SOMLINK somTP_Principal_somDefaultVAssign(Principal *somSelf,
  166.         somAssignCtrl* ctrl,
  167.         SOMObject* fromObj);
  168. typedef somTP_Principal_somDefaultVAssign *somTD_Principal_somDefaultVAssign;
  169. typedef Principal*   SOMLINK somTP_Principal_somDefaultConstVAssign(Principal *somSelf,
  170.         somAssignCtrl* ctrl,
  171.         SOMObject* fromObj);
  172. typedef somTP_Principal_somDefaultConstVAssign *somTD_Principal_somDefaultConstVAssign;
  173. typedef void   SOMLINK somTP_Principal_somInit(Principal *somSelf);
  174. typedef somTP_Principal_somInit *somTD_Principal_somInit;
  175. typedef void   SOMLINK somTP_Principal_somFree(Principal *somSelf);
  176. typedef somTP_Principal_somFree *somTD_Principal_somFree;
  177. typedef void   SOMLINK somTP_Principal_somUninit(Principal *somSelf);
  178. typedef somTP_Principal_somUninit *somTD_Principal_somUninit;
  179. typedef SOMClass*   SOMLINK somTP_Principal_somGetClass(Principal *somSelf);
  180. typedef somTP_Principal_somGetClass *somTD_Principal_somGetClass;
  181. typedef string   SOMLINK somTP_Principal_somGetClassName(Principal *somSelf);
  182. typedef somTP_Principal_somGetClassName *somTD_Principal_somGetClassName;
  183. typedef long   SOMLINK somTP_Principal_somGetSize(Principal *somSelf);
  184. typedef somTP_Principal_somGetSize *somTD_Principal_somGetSize;
  185. typedef boolean   SOMLINK somTP_Principal_somIsA(Principal *somSelf,
  186.         SOMClass* aClassObj);
  187. typedef somTP_Principal_somIsA *somTD_Principal_somIsA;
  188. typedef boolean   SOMLINK somTP_Principal_somIsInstanceOf(Principal *somSelf,
  189.         SOMClass* aClassObj);
  190. typedef somTP_Principal_somIsInstanceOf *somTD_Principal_somIsInstanceOf;
  191. typedef boolean   SOMLINK somTP_Principal_somRespondsTo(Principal *somSelf,
  192.         somId mId);
  193. typedef somTP_Principal_somRespondsTo *somTD_Principal_somRespondsTo;
  194. typedef boolean   SOMLINK somTP_Principal_somDispatch(Principal *somSelf,
  195.         somToken* retValue,
  196.         somId methodId,
  197.         va_list ap);
  198. typedef somTP_Principal_somDispatch *somTD_Principal_somDispatch;
  199. typedef boolean   SOMLINK somTP_Principal_somClassDispatch(Principal *somSelf,
  200.         SOMClass* clsObj,
  201.         somToken* retValue,
  202.         somId methodId,
  203.         va_list ap);
  204. typedef somTP_Principal_somClassDispatch *somTD_Principal_somClassDispatch;
  205. typedef boolean   SOMLINK somTP_Principal_somCastObj(Principal *somSelf,
  206.         SOMClass* cls);
  207. typedef somTP_Principal_somCastObj *somTD_Principal_somCastObj;
  208. typedef boolean   SOMLINK somTP_Principal_somResetObj(Principal *somSelf);
  209. typedef somTP_Principal_somResetObj *somTD_Principal_somResetObj;
  210. typedef SOMObject*   SOMLINK somTP_Principal_somPrintSelf(Principal *somSelf);
  211. typedef somTP_Principal_somPrintSelf *somTD_Principal_somPrintSelf;
  212. typedef void   SOMLINK somTP_Principal_somDumpSelf(Principal *somSelf,
  213.         long level);
  214. typedef somTP_Principal_somDumpSelf *somTD_Principal_somDumpSelf;
  215. typedef void   SOMLINK somTP_Principal_somDumpSelfInt(Principal *somSelf,
  216.         long level);
  217. typedef somTP_Principal_somDumpSelfInt *somTD_Principal_somDumpSelfInt;
  218. }
  219.  
  220. #endif /* Principal_API */
  221.  
  222.  
  223. /*
  224.  * -- This emitter believes that method thunks are unavailable,
  225.  * -- so somResolve will be called.
  226.  */
  227. #undef somresolve_
  228. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  229.  
  230. /*
  231.  * -- The C++ Wrapper Class for Principal
  232.  */
  233. class Principal : public SOMObject
  234. {
  235. public:
  236.  
  237. // Principal::new creates the class object if necessary, and then uses somNewNoInit
  238. // to allocate memory and create the object. Initialization is in ctors.
  239. void *operator new(size_t)
  240. {
  241.    if (!_Principal) PrincipalNewClass(Principal_MajorVersion,Principal_MinorVersion);
  242.    return (void*)
  243.       SOM_Resolve(_Principal,SOMClass,somNewNoInit)
  244.          ((SOMClass *)((void*)_Principal));
  245. }
  246.  
  247. // Principal::delete uses somDestruct.
  248. void operator delete(void * obj)
  249. {
  250.    if (obj && *(void**)obj) {
  251.       SOM_Resolve(obj,SOMObject,somDestruct)
  252.          ((SOMObject*)obj, 1, 0);
  253.    }
  254. }
  255.  
  256. Principal()
  257. {
  258.    if (*(void**)this != 
  259.        ((somParentMtabStructPtr)
  260.         (PrincipalCClassData.parentMtab))->mtab)
  261.       return;
  262.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  263. }
  264.  
  265. Principal(Principal* fromObj)
  266. {
  267.    if (*(void**)this != 
  268.        ((somParentMtabStructPtr)
  269.         (PrincipalCClassData.parentMtab))->mtab)
  270.       return;
  271.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  272. }
  273.  
  274. Principal(const Principal* fromObj)
  275. {
  276.    if (*(void**)this != 
  277.        ((somParentMtabStructPtr)
  278.         (PrincipalCClassData.parentMtab))->mtab)
  279.       return;
  280.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  281. }
  282.  
  283.  
  284. /* method: _get_userName */
  285. string   _get_userName(Environment *ev)
  286. {
  287.    return SOM_ResolveD(this,Principal,Principal,_get_userName)
  288.     (this, ev);
  289. }
  290.  
  291.  
  292. /* method: _set_userName */
  293. void   _set_userName(Environment *ev,
  294.         string userName)
  295. {
  296.    SOM_ResolveD(this,Principal,Principal,_set_userName)
  297.     (this, ev,userName);
  298. }
  299.  
  300.  
  301. /* method: _get_hostName */
  302. string   _get_hostName(Environment *ev)
  303. {
  304.    return SOM_ResolveD(this,Principal,Principal,_get_hostName)
  305.     (this, ev);
  306. }
  307.  
  308.  
  309. /* method: _set_hostName */
  310. void   _set_hostName(Environment *ev,
  311.         string hostName)
  312. {
  313.    SOM_ResolveD(this,Principal,Principal,_set_hostName)
  314.     (this, ev,hostName);
  315. }
  316.  
  317.  
  318. /*
  319.  * Reintroduce inherited methods
  320.  */
  321.  
  322. /* initializer method: somDefaultInit */
  323. void   somDefaultInit(somInitCtrl* ctrl)
  324. {
  325.    SOM_ResolveD(this,Principal,SOMObject,somDefaultInit)
  326.     (this,ctrl);
  327. }
  328.  
  329.  
  330. /* method: somDestruct */
  331. void   somDestruct(octet doFree,
  332.         somDestructCtrl* ctrl)
  333. {
  334.    SOM_ResolveD(this,Principal,SOMObject,somDestruct)
  335.     (this,doFree,ctrl);
  336. }
  337.  
  338.  
  339. /* initializer method: somDefaultCopyInit */
  340. void   somDefaultCopyInit(somInitCtrl* ctrl,
  341.         SOMObject* fromObj)
  342. {
  343.    SOM_ResolveD(this,Principal,SOMObject,somDefaultCopyInit)
  344.     (this,ctrl,fromObj);
  345. }
  346.  
  347.  
  348. /* method: somDefaultAssign */
  349. Principal*  somDefaultAssign(somAssignCtrl* ctrl,
  350.         SOMObject* fromObj)
  351. {
  352.    return SOM_ResolveD(this,Principal,SOMObject,somDefaultAssign)
  353.     (this,ctrl,fromObj);
  354. }
  355.  
  356.  
  357. /* initializer method: somDefaultConstCopyInit */
  358. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  359.         SOMObject* fromObj)
  360. {
  361.    SOM_ResolveD(this,Principal,SOMObject,somDefaultConstCopyInit)
  362.     (this,ctrl,fromObj);
  363. }
  364.  
  365.  
  366. /* initializer method: somDefaultVCopyInit */
  367. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  368.         SOMObject* fromObj)
  369. {
  370.    SOM_ResolveD(this,Principal,SOMObject,somDefaultVCopyInit)
  371.     (this,ctrl,fromObj);
  372. }
  373.  
  374.  
  375. /* initializer method: somDefaultConstVCopyInit */
  376. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  377.         SOMObject* fromObj)
  378. {
  379.    SOM_ResolveD(this,Principal,SOMObject,somDefaultConstVCopyInit)
  380.     (this,ctrl,fromObj);
  381. }
  382.  
  383.  
  384. /* method: somDefaultConstAssign */
  385. Principal*  somDefaultConstAssign(somAssignCtrl* ctrl,
  386.         SOMObject* fromObj)
  387. {
  388.    return SOM_ResolveD(this,Principal,SOMObject,somDefaultConstAssign)
  389.     (this,ctrl,fromObj);
  390. }
  391.  
  392.  
  393. /* method: somDefaultVAssign */
  394. Principal*  somDefaultVAssign(somAssignCtrl* ctrl,
  395.         SOMObject* fromObj)
  396. {
  397.    return SOM_ResolveD(this,Principal,SOMObject,somDefaultVAssign)
  398.     (this,ctrl,fromObj);
  399. }
  400.  
  401.  
  402. /* method: somDefaultConstVAssign */
  403. Principal*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  404.         SOMObject* fromObj)
  405. {
  406.    return SOM_ResolveD(this,Principal,SOMObject,somDefaultConstVAssign)
  407.     (this,ctrl,fromObj);
  408. }
  409.  
  410.  
  411. /* method: somInit */
  412. void   somInit()
  413. {
  414.    SOM_ResolveD(this,Principal,SOMObject,somInit)
  415.     (this);
  416. }
  417.  
  418.  
  419. /* method: somFree */
  420. void   somFree()
  421. {
  422.    SOM_ResolveD(this,Principal,SOMObject,somFree)
  423.     (this);
  424. }
  425.  
  426.  
  427. /* method: somUninit */
  428. void   somUninit()
  429. {
  430.    SOM_ResolveD(this,Principal,SOMObject,somUninit)
  431.     (this);
  432. }
  433.  
  434.  
  435. /* method: somGetClass */
  436. SOMClass*   somGetClass()
  437. {
  438.    return SOM_ResolveD(this,Principal,SOMObject,somGetClass)
  439.     (this);
  440. }
  441.  
  442.  
  443. /* method: somGetClassName */
  444. string   somGetClassName()
  445. {
  446.    return SOM_ResolveD(this,Principal,SOMObject,somGetClassName)
  447.     (this);
  448. }
  449.  
  450.  
  451. /* method: somGetSize */
  452. long   somGetSize()
  453. {
  454.    return SOM_ResolveD(this,Principal,SOMObject,somGetSize)
  455.     (this);
  456. }
  457.  
  458.  
  459. /* method: somIsA */
  460. boolean   somIsA(SOMClass* aClassObj)
  461. {
  462.    return SOM_ResolveD(this,Principal,SOMObject,somIsA)
  463.     (this,aClassObj);
  464. }
  465.  
  466.  
  467. /* method: somIsInstanceOf */
  468. boolean   somIsInstanceOf(SOMClass* aClassObj)
  469. {
  470.    return SOM_ResolveD(this,Principal,SOMObject,somIsInstanceOf)
  471.     (this,aClassObj);
  472. }
  473.  
  474.  
  475. /* method: somRespondsTo */
  476. boolean   somRespondsTo(somId mId)
  477. {
  478.    return SOM_ResolveD(this,Principal,SOMObject,somRespondsTo)
  479.     (this,mId);
  480. }
  481.  
  482.  
  483. /* va_list method: somDispatch */
  484. /* the va_list invocation form */
  485. boolean   Principal_somDispatch(somToken* retValue,
  486.         somId methodId,
  487.         va_list ap)
  488. {
  489. return SOM_ResolveD(this,Principal,SOMObject,somDispatch)
  490.     (this,retValue,methodId,ap);
  491. }
  492.  
  493. /* the varargs invocation form */
  494. boolean   somDispatch(somToken* retValue,
  495.         somId methodId,
  496.         ...)
  497. {
  498.    va_list ap;
  499.    va_start(ap, methodId);
  500.    boolean __somResult = 
  501.       SOM_ResolveD(this,Principal,SOMObject,somDispatch)
  502.     (this,retValue,methodId,ap);
  503.    va_end(ap);
  504.    return __somResult;
  505. }
  506.  
  507.  
  508. /* va_list method: somClassDispatch */
  509. /* the va_list invocation form */
  510. boolean   Principal_somClassDispatch(SOMClass* clsObj,
  511.         somToken* retValue,
  512.         somId methodId,
  513.         va_list ap)
  514. {
  515. return SOM_ResolveD(this,Principal,SOMObject,somClassDispatch)
  516.     (this,clsObj,retValue,methodId,ap);
  517. }
  518.  
  519. /* the varargs invocation form */
  520. boolean   somClassDispatch(SOMClass* clsObj,
  521.         somToken* retValue,
  522.         somId methodId,
  523.         ...)
  524. {
  525.    va_list ap;
  526.    va_start(ap, methodId);
  527.    boolean __somResult = 
  528.       SOM_ResolveD(this,Principal,SOMObject,somClassDispatch)
  529.     (this,clsObj,retValue,methodId,ap);
  530.    va_end(ap);
  531.    return __somResult;
  532. }
  533.  
  534.  
  535. /* method: somCastObj */
  536. boolean   somCastObj(SOMClass* cls)
  537. {
  538.    return SOM_ResolveD(this,Principal,SOMObject,somCastObj)
  539.     (this,cls);
  540. }
  541.  
  542.  
  543. /* method: somResetObj */
  544. boolean   somResetObj()
  545. {
  546.    return SOM_ResolveD(this,Principal,SOMObject,somResetObj)
  547.     (this);
  548. }
  549.  
  550.  
  551. /* method: somPrintSelf */
  552. SOMObject*   somPrintSelf()
  553. {
  554.    return SOM_ResolveD(this,Principal,SOMObject,somPrintSelf)
  555.     (this);
  556. }
  557.  
  558.  
  559. /* method: somDumpSelf */
  560. void   somDumpSelf(long level)
  561. {
  562.    SOM_ResolveD(this,Principal,SOMObject,somDumpSelf)
  563.     (this,level);
  564. }
  565.  
  566.  
  567. /* method: somDumpSelfInt */
  568. void   somDumpSelfInt(long level)
  569. {
  570.    SOM_ResolveD(this,Principal,SOMObject,somDumpSelfInt)
  571.     (this,level);
  572. }
  573.  
  574.  
  575.  
  576. };   /* Principal */
  577.  
  578.  
  579.  
  580. #endif       /* SOM_Principal_xh */
  581.