home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / poid.xh < prev    next >
Text File  |  1999-02-22  |  24KB  |  807 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: poid.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somp
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,1996
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMPIdAssigner_xh
  26. #define SOM_SOMPIdAssigner_xh
  27.  
  28. class SOMPIdAssigner;
  29.  
  30. /*
  31.  *  See poida.csc for the abstract definition of this class.
  32.  */
  33.  
  34. #define SOMPIdAssigner_MajorVersion 2
  35. #define SOMPIdAssigner_MinorVersion 1
  36.  
  37. /* C++ SOM defs */
  38. #include <somcls.xh>
  39. #include <somcm.xh>
  40.  
  41. /* C++ parent defs */
  42. #ifndef SOM_SOMPIdAssignerAbstract_xh
  43. #include <poida.xh>
  44. #endif
  45.  
  46. #ifndef SOMPIdAssigner_API
  47. #define SOMPIdAssigner_API
  48. /*
  49.  * -- The Class API
  50.  */
  51.  
  52. /*
  53.  * Start of bindings for IDL types
  54.  */
  55.  
  56. class SOMClass;
  57. class SOMObject;
  58. class SOMPPersistentId;
  59.  
  60. /*
  61.  * End of bindings for IDL types.
  62.  */
  63.  
  64. /* A procedure to create the SOMPIdAssigner Class */
  65. SOMEXTERN SOMClass * SOMLINK SOMPIdAssignerNewClass(
  66.         integer4 majorVersion,
  67.         integer4 minorVersion);
  68.  
  69. /* The API to the SOMPIdAssigner class object, and the methods it introduces. */
  70. SOMEXTERN struct SOMPIdAssignerClassDataStructure {
  71.     SOMClass *classObject;
  72. } SOMDLINK SOMPIdAssignerClassData;
  73. #define _SOMPIdAssigner SOMPIdAssignerClassData.classObject
  74.  
  75. /* The API to parentMtabs for SOMPIdAssigner, and the instance data it introduces. */
  76. SOMEXTERN struct SOMPIdAssignerCClassDataStructure {
  77.     somMethodTabs parentMtab;
  78.     somDToken              instanceDataToken;
  79. } SOMDLINK SOMPIdAssignerCClassData;
  80.  
  81. /*
  82.  * -- Typedefs for SOMPIdAssigner Method Procedures
  83.  */
  84. SOMEXTERN {
  85.  
  86. /*
  87.  * -- Typedefs for Reintroduced Wrapper Methods
  88.  */
  89. typedef void   SOMLINK somTP_SOMPIdAssigner_sompGetSystemAssignedId(SOMPIdAssigner *somSelf, Environment *ev, 
  90.         SOMPPersistentId** id);
  91. typedef somTP_SOMPIdAssigner_sompGetSystemAssignedId *somTD_SOMPIdAssigner_sompGetSystemAssignedId;
  92. typedef void   SOMLINK somTP_SOMPIdAssigner_somDefaultInit(SOMPIdAssigner *somSelf, 
  93.         som3InitCtrl* ctrl);
  94. typedef somTP_SOMPIdAssigner_somDefaultInit *somTD_SOMPIdAssigner_somDefaultInit;
  95. typedef void   SOMLINK somTP_SOMPIdAssigner_somDestruct(SOMPIdAssigner *somSelf, 
  96.         octet doFree, 
  97.         som3DestructCtrl* ctrl);
  98. typedef somTP_SOMPIdAssigner_somDestruct *somTD_SOMPIdAssigner_somDestruct;
  99. typedef void   SOMLINK somTP_SOMPIdAssigner_somDefaultCopyInit(SOMPIdAssigner *somSelf, 
  100.         som3InitCtrl* ctrl, 
  101.         SOMObject* fromObj);
  102. typedef somTP_SOMPIdAssigner_somDefaultCopyInit *somTD_SOMPIdAssigner_somDefaultCopyInit;
  103. typedef SOMPIdAssigner*   SOMLINK somTP_SOMPIdAssigner_somDefaultAssign(SOMPIdAssigner *somSelf, 
  104.         som3AssignCtrl* ctrl, 
  105.         SOMObject* fromObj);
  106. typedef somTP_SOMPIdAssigner_somDefaultAssign *somTD_SOMPIdAssigner_somDefaultAssign;
  107. typedef void   SOMLINK somTP_SOMPIdAssigner_somDefaultConstCopyInit(SOMPIdAssigner *somSelf, 
  108.         som3InitCtrl* ctrl, 
  109.         SOMObject* fromObj);
  110. typedef somTP_SOMPIdAssigner_somDefaultConstCopyInit *somTD_SOMPIdAssigner_somDefaultConstCopyInit;
  111. typedef void   SOMLINK somTP_SOMPIdAssigner_somDefaultVCopyInit(SOMPIdAssigner *somSelf, 
  112.         som3InitCtrl* ctrl, 
  113.         SOMObject* fromObj);
  114. typedef somTP_SOMPIdAssigner_somDefaultVCopyInit *somTD_SOMPIdAssigner_somDefaultVCopyInit;
  115. typedef void   SOMLINK somTP_SOMPIdAssigner_somDefaultConstVCopyInit(SOMPIdAssigner *somSelf, 
  116.         som3InitCtrl* ctrl, 
  117.         SOMObject* fromObj);
  118. typedef somTP_SOMPIdAssigner_somDefaultConstVCopyInit *somTD_SOMPIdAssigner_somDefaultConstVCopyInit;
  119. typedef SOMPIdAssigner*   SOMLINK somTP_SOMPIdAssigner_somDefaultConstAssign(SOMPIdAssigner *somSelf, 
  120.         som3AssignCtrl* ctrl, 
  121.         SOMObject* fromObj);
  122. typedef somTP_SOMPIdAssigner_somDefaultConstAssign *somTD_SOMPIdAssigner_somDefaultConstAssign;
  123. typedef SOMPIdAssigner*   SOMLINK somTP_SOMPIdAssigner_somDefaultVAssign(SOMPIdAssigner *somSelf, 
  124.         som3AssignCtrl* ctrl, 
  125.         SOMObject* fromObj);
  126. typedef somTP_SOMPIdAssigner_somDefaultVAssign *somTD_SOMPIdAssigner_somDefaultVAssign;
  127. typedef SOMPIdAssigner*   SOMLINK somTP_SOMPIdAssigner_somDefaultConstVAssign(SOMPIdAssigner *somSelf, 
  128.         som3AssignCtrl* ctrl, 
  129.         SOMObject* fromObj);
  130. typedef somTP_SOMPIdAssigner_somDefaultConstVAssign *somTD_SOMPIdAssigner_somDefaultConstVAssign;
  131. typedef void   SOMLINK somTP_SOMPIdAssigner_somInit(SOMPIdAssigner *somSelf);
  132. typedef somTP_SOMPIdAssigner_somInit *somTD_SOMPIdAssigner_somInit;
  133. typedef void   SOMLINK somTP_SOMPIdAssigner_somFree(SOMPIdAssigner *somSelf);
  134. typedef somTP_SOMPIdAssigner_somFree *somTD_SOMPIdAssigner_somFree;
  135. typedef void   SOMLINK somTP_SOMPIdAssigner_somUninit(SOMPIdAssigner *somSelf);
  136. typedef somTP_SOMPIdAssigner_somUninit *somTD_SOMPIdAssigner_somUninit;
  137. typedef SOMClass*   SOMLINK somTP_SOMPIdAssigner_somGetClass(SOMPIdAssigner *somSelf);
  138. typedef somTP_SOMPIdAssigner_somGetClass *somTD_SOMPIdAssigner_somGetClass;
  139. typedef string   SOMLINK somTP_SOMPIdAssigner_somGetClassName(SOMPIdAssigner *somSelf);
  140. typedef somTP_SOMPIdAssigner_somGetClassName *somTD_SOMPIdAssigner_somGetClassName;
  141. typedef long   SOMLINK somTP_SOMPIdAssigner_somGetSize(SOMPIdAssigner *somSelf);
  142. typedef somTP_SOMPIdAssigner_somGetSize *somTD_SOMPIdAssigner_somGetSize;
  143. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somIsA(SOMPIdAssigner *somSelf, 
  144.         SOMClass* aClassObj);
  145. typedef somTP_SOMPIdAssigner_somIsA *somTD_SOMPIdAssigner_somIsA;
  146. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somIsInstanceOf(SOMPIdAssigner *somSelf, 
  147.         SOMClass* aClassObj);
  148. typedef somTP_SOMPIdAssigner_somIsInstanceOf *somTD_SOMPIdAssigner_somIsInstanceOf;
  149. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somRespondsTo(SOMPIdAssigner *somSelf, 
  150.         somId mId);
  151. typedef somTP_SOMPIdAssigner_somRespondsTo *somTD_SOMPIdAssigner_somRespondsTo;
  152. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somDispatch(SOMPIdAssigner *somSelf, 
  153.         somToken* retValue, 
  154.         somId methodId, 
  155.         va_list ap);
  156. typedef somTP_SOMPIdAssigner_somDispatch *somTD_SOMPIdAssigner_somDispatch;
  157. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somClassDispatch(SOMPIdAssigner *somSelf, 
  158.         SOMClass* clsObj, 
  159.         somToken* retValue, 
  160.         somId methodId, 
  161.         va_list ap);
  162. typedef somTP_SOMPIdAssigner_somClassDispatch *somTD_SOMPIdAssigner_somClassDispatch;
  163. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somCastObj(SOMPIdAssigner *somSelf, 
  164.         SOMClass* cls);
  165. typedef somTP_SOMPIdAssigner_somCastObj *somTD_SOMPIdAssigner_somCastObj;
  166. typedef boolean   SOMLINK somTP_SOMPIdAssigner_somResetObj(SOMPIdAssigner *somSelf);
  167. typedef somTP_SOMPIdAssigner_somResetObj *somTD_SOMPIdAssigner_somResetObj;
  168. typedef void   SOMLINK somTP_SOMPIdAssigner_somDispatchV(SOMPIdAssigner *somSelf, 
  169.         somId methodId, 
  170.         somId descriptor, 
  171.         va_list ap);
  172. typedef somTP_SOMPIdAssigner_somDispatchV *somTD_SOMPIdAssigner_somDispatchV;
  173. typedef long   SOMLINK somTP_SOMPIdAssigner_somDispatchL(SOMPIdAssigner *somSelf, 
  174.         somId methodId, 
  175.         somId descriptor, 
  176.         va_list ap);
  177. typedef somTP_SOMPIdAssigner_somDispatchL *somTD_SOMPIdAssigner_somDispatchL;
  178. typedef void*   SOMLINK somTP_SOMPIdAssigner_somDispatchA(SOMPIdAssigner *somSelf, 
  179.         somId methodId, 
  180.         somId descriptor, 
  181.         va_list ap);
  182. typedef somTP_SOMPIdAssigner_somDispatchA *somTD_SOMPIdAssigner_somDispatchA;
  183. typedef double   SOMLINK somTP_SOMPIdAssigner_somDispatchD(SOMPIdAssigner *somSelf, 
  184.         somId methodId, 
  185.         somId descriptor, 
  186.         va_list ap);
  187. typedef somTP_SOMPIdAssigner_somDispatchD *somTD_SOMPIdAssigner_somDispatchD;
  188. typedef SOMObject*   SOMLINK somTP_SOMPIdAssigner_somPrintSelf(SOMPIdAssigner *somSelf);
  189. typedef somTP_SOMPIdAssigner_somPrintSelf *somTD_SOMPIdAssigner_somPrintSelf;
  190. typedef void   SOMLINK somTP_SOMPIdAssigner_somDumpSelf(SOMPIdAssigner *somSelf, 
  191.         long level);
  192. typedef somTP_SOMPIdAssigner_somDumpSelf *somTD_SOMPIdAssigner_somDumpSelf;
  193. typedef void   SOMLINK somTP_SOMPIdAssigner_somDumpSelfInt(SOMPIdAssigner *somSelf, 
  194.         long level);
  195. typedef somTP_SOMPIdAssigner_somDumpSelfInt *somTD_SOMPIdAssigner_somDumpSelfInt;
  196. }
  197.  
  198. #endif /* SOMPIdAssigner_API */
  199.  
  200.  
  201. /*
  202.  * -- This emitter treats Method Tokens as Thunks by default.
  203.  * -- Use the sc modifier "nothunks" to change this default
  204.  */
  205. #undef somresolve_
  206. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  207.  
  208. /*
  209.  * -- The C++ Wrapper Class for SOMPIdAssigner
  210.  */
  211. class SOMPIdAssigner : public SOMPIdAssignerAbstract
  212. {
  213. /*
  214.  *  See poida.csc for the abstract definition of this class.
  215.  */
  216. public:
  217.  
  218. // SOMPIdAssigner::new creates the class object if necessary, and then uses somNewNoInit
  219. // to allocate memory and create the object. Initialization is in ctors.
  220. void *operator new(size_t)
  221. {
  222.    if (!_SOMPIdAssigner) SOMPIdAssignerNewClass(SOMPIdAssigner_MajorVersion,SOMPIdAssigner_MinorVersion);
  223.    return (void*)
  224.       SOM_Resolve(_SOMPIdAssigner,SOMClass,somNewNoInit)
  225.          ((SOMClass *)((void*)_SOMPIdAssigner));
  226. }
  227.  
  228. // SOMPIdAssigner::delete uses somDestruct.
  229. void operator delete(void * obj)
  230. {
  231.    if (obj && *(void**)obj) {
  232.       SOM_Resolve(obj,SOMObject,somFree)
  233.          ((SOMObject*)obj);
  234.    }
  235. }
  236.  
  237. SOMPIdAssigner& operator=(SOMPIdAssigner& fromObj)
  238. {
  239.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  240.    return *this;
  241. }
  242.  
  243. SOMPIdAssigner()
  244. {
  245.    if (*(void**)this != 
  246.        ((somParentMtabStructPtr)
  247.         (SOMPIdAssignerCClassData.parentMtab))->mtab)
  248.       return;
  249.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  250. }
  251.  
  252. SOMPIdAssigner(SOMPIdAssigner* fromObj)
  253. {
  254.    if (*(void**)this != 
  255.        ((somParentMtabStructPtr)
  256.         (SOMPIdAssignerCClassData.parentMtab))->mtab)
  257.       return;
  258.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  259. }
  260.  
  261. #ifdef __IBMCPP__
  262. #pragma info(nocnv,nopar)
  263. #endif
  264. SOMPIdAssigner(const SOMPIdAssigner* fromObj)
  265. {
  266.    if (*(void**)this != 
  267.        ((somParentMtabStructPtr)
  268.         (SOMPIdAssignerCClassData.parentMtab))->mtab)
  269.       return;
  270.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  271. }
  272. #ifdef __IBMCPP__
  273. #pragma info(restore)
  274. #endif
  275.  
  276.  
  277. /*
  278.  * Reintroduce inherited methods
  279.  */
  280.  
  281. /* method: sompGetSystemAssignedId */
  282. void   sompGetSystemAssignedId(Environment *ev, 
  283.         SOMPPersistentId** id)
  284. {
  285. /*
  286.  *  Assign a system ID.
  287.  *  Input: Pointer to persistent ID object
  288.  *  Output: Returns nonzero error if ID could not be assigned,
  289.  *          otherwise, returns 0.
  290.  *          This method allocates the ID object.
  291.  *          Freeing the storage space is the
  292.  *          responsibility of the persistent object (po.c) at uninit.
  293.  */
  294.    SOM_ResolveD(this,SOMPIdAssigner,SOMPIdAssignerAbstract,sompGetSystemAssignedId)
  295.     (this, ev,id);
  296. }
  297.  
  298.  
  299. /* initializer method: somDefaultInit */
  300. void   somDefaultInit(som3InitCtrl* ctrl)
  301. {
  302. /*
  303.  *  A default initializer for a SOM object. Passing a null ctrl
  304.  *  indicates to the receiver that its class is the class of the
  305.  *  object being initialized, whereby the initializer will determine
  306.  *  an appropriate control structure.
  307.  */
  308.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultInit)
  309.     (this,ctrl);
  310. }
  311.  
  312.  
  313. /* method: somDestruct */
  314. void   somDestruct(octet doFree, 
  315.         som3DestructCtrl* ctrl)
  316. {
  317. /*
  318.  *  The default destructor for a SOM object. A nonzero <doFree>
  319.  *  indicates that the object storage should be freed by the
  320.  *  object's class (via somDeallocate) after uninitialization.
  321.  *  As with somDefaultInit, a null ctrl can be passed.
  322.  */
  323.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDestruct)
  324.     (this,doFree,ctrl);
  325. }
  326.  
  327.  
  328. /* initializer method: somDefaultCopyInit */
  329. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  330.         SOMObject* fromObj)
  331. {
  332. /*
  333.  *  A default copy constructor. Use this to make copies of objects for
  334.  *  calling methods with "by-value" argument semantics.
  335.  */
  336.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultCopyInit)
  337.     (this,ctrl,fromObj);
  338. }
  339.  
  340.  
  341. /* method: somDefaultAssign */
  342. SOMPIdAssigner*  somDefaultAssign(som3AssignCtrl* ctrl, 
  343.         SOMObject* fromObj)
  344. {
  345. /*
  346.  *  A default assignment operator. Use this to "assign" the state of one
  347.  *  object to another.
  348.  */
  349.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultAssign)
  350.     (this,ctrl,fromObj);
  351. }
  352.  
  353.  
  354. /* initializer method: somDefaultConstCopyInit */
  355. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  356.         SOMObject* fromObj)
  357. {
  358. /*
  359.  *  A default copy constructor that uses a const fromObj.
  360.  */
  361.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultConstCopyInit)
  362.     (this,ctrl,fromObj);
  363. }
  364.  
  365.  
  366. /* initializer method: somDefaultVCopyInit */
  367. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  368.         SOMObject* fromObj)
  369. {
  370. /*
  371.  *  A default copy constructor that uses a volatile fromObj.
  372.  */
  373.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultVCopyInit)
  374.     (this,ctrl,fromObj);
  375. }
  376.  
  377.  
  378. /* initializer method: somDefaultConstVCopyInit */
  379. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  380.         SOMObject* fromObj)
  381. {
  382. /*
  383.  *  A default copy constructor that uses a const volatile fromObj.
  384.  */
  385.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultConstVCopyInit)
  386.     (this,ctrl,fromObj);
  387. }
  388.  
  389.  
  390. /* method: somDefaultConstAssign */
  391. SOMPIdAssigner*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  392.         SOMObject* fromObj)
  393. {
  394. /*
  395.  *  A default assignment operator that uses a const fromObj.
  396.  */
  397.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultConstAssign)
  398.     (this,ctrl,fromObj);
  399. }
  400.  
  401.  
  402. /* method: somDefaultVAssign */
  403. SOMPIdAssigner*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  404.         SOMObject* fromObj)
  405. {
  406. /*
  407.  *  A default assignment operator that uses a volatile fromObj.
  408.  */
  409.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultVAssign)
  410.     (this,ctrl,fromObj);
  411. }
  412.  
  413.  
  414. /* method: somDefaultConstVAssign */
  415. SOMPIdAssigner*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  416.         SOMObject* fromObj)
  417. {
  418. /*
  419.  *  A default assignment operator that uses a const volatile fromObj.
  420.  */
  421.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDefaultConstVAssign)
  422.     (this,ctrl,fromObj);
  423. }
  424.  
  425.  
  426. /* method: somInit */
  427. void   somInit()
  428. {
  429. /*
  430.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  431.  */
  432.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somInit)
  433.     (this);
  434. }
  435.  
  436.  
  437. /* method: somFree */
  438. void   somFree()
  439. {
  440. /*
  441.  *  Use as directed by framework implementations.
  442.  */
  443.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somFree)
  444.     (this);
  445. }
  446.  
  447.  
  448. /* method: somUninit */
  449. void   somUninit()
  450. {
  451. /*
  452.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  453.  */
  454.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somUninit)
  455.     (this);
  456. }
  457.  
  458.  
  459. /* method: somGetClass */
  460. SOMClass*   somGetClass()
  461. {
  462. /*
  463.  *  Return the receiver's class.
  464.  */
  465.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somGetClass)
  466.     (this);
  467. }
  468.  
  469.  
  470. /* method: somGetClassName */
  471. string   somGetClassName()
  472. {
  473. /*
  474.  *  Return the name of the receiver's class.
  475.  */
  476.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somGetClassName)
  477.     (this);
  478. }
  479.  
  480.  
  481. /* method: somGetSize */
  482. long   somGetSize()
  483. {
  484. /*
  485.  *  Return the size of the receiver.
  486.  */
  487.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somGetSize)
  488.     (this);
  489. }
  490.  
  491.  
  492. /* method: somIsA */
  493. boolean   somIsA(SOMClass* aClassObj)
  494. {
  495. /*
  496.  *  Returns 1 (true) if the receiver responds to methods
  497.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  498.  */
  499.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somIsA)
  500.     (this,aClassObj);
  501. }
  502.  
  503.  
  504. /* method: somIsInstanceOf */
  505. boolean   somIsInstanceOf(SOMClass* aClassObj)
  506. {
  507. /*
  508.  *  Returns 1 (true) if the receiver is an instance of
  509.  *  <aClassObj> and 0 (false) otherwise.
  510.  */
  511.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somIsInstanceOf)
  512.     (this,aClassObj);
  513. }
  514.  
  515.  
  516. /* method: somRespondsTo */
  517. boolean   somRespondsTo(somId mId)
  518. {
  519. /*
  520.  *  Returns 1 (true) if the indicated method can be invoked
  521.  *  on the receiver and 0 (false) otherwise.
  522.  */
  523.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somRespondsTo)
  524.     (this,mId);
  525. }
  526.  
  527.  
  528. /* va_list method: somDispatch */
  529.  
  530. /*
  531.  *  This method provides a generic, class-specific dispatch mechanism.
  532.  *  It accepts as input <retValue> a pointer to the memory area to be
  533.  *  loaded with the result of dispatching the method indicated by
  534.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  535.  *  on which the method is to be invoked as the first argument.
  536.  */
  537. /* the va_list invocation form */
  538. boolean   SOMPIdAssigner_somDispatch(somToken* retValue, 
  539.         somId methodId, 
  540.         va_list ap)
  541. {return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatch)
  542.     (this,retValue,methodId,ap);
  543. }
  544.  
  545. /* the varargs invocation form */
  546. boolean   somDispatch(somToken* retValue, 
  547.         somId methodId, 
  548.         ...)
  549. {
  550. /*
  551.  *  This method provides a generic, class-specific dispatch mechanism.
  552.  *  It accepts as input <retValue> a pointer to the memory area to be
  553.  *  loaded with the result of dispatching the method indicated by
  554.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  555.  *  on which the method is to be invoked as the first argument.
  556.  */
  557.    va_list ap;
  558.    va_start(ap, methodId);
  559.    boolean __somResult = 
  560.       SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatch)
  561.     (this,retValue,methodId,ap);
  562.    va_end(ap);
  563.    return __somResult;
  564. }
  565.  
  566.  
  567. /* va_list method: somClassDispatch */
  568.  
  569. /*
  570.  *  Like somDispatch, but method resolution for static methods is done
  571.  *  according to the clsObj instance method table.
  572.  */
  573. /* the va_list invocation form */
  574. boolean   SOMPIdAssigner_somClassDispatch(SOMClass* clsObj, 
  575.         somToken* retValue, 
  576.         somId methodId, 
  577.         va_list ap)
  578. {return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somClassDispatch)
  579.     (this,clsObj,retValue,methodId,ap);
  580. }
  581.  
  582. /* the varargs invocation form */
  583. boolean   somClassDispatch(SOMClass* clsObj, 
  584.         somToken* retValue, 
  585.         somId methodId, 
  586.         ...)
  587. {
  588. /*
  589.  *  Like somDispatch, but method resolution for static methods is done
  590.  *  according to the clsObj instance method table.
  591.  */
  592.    va_list ap;
  593.    va_start(ap, methodId);
  594.    boolean __somResult = 
  595.       SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somClassDispatch)
  596.     (this,clsObj,retValue,methodId,ap);
  597.    va_end(ap);
  598.    return __somResult;
  599. }
  600.  
  601.  
  602. /* method: somCastObj */
  603. boolean   somCastObj(SOMClass* cls)
  604. {
  605. /*
  606.  *  cast the receiving object to cls (which must be an ancestor of the
  607.  *  objects true class. Returns true on success.
  608.  */
  609.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somCastObj)
  610.     (this,cls);
  611. }
  612.  
  613.  
  614. /* method: somResetObj */
  615. boolean   somResetObj()
  616. {
  617. /*
  618.  *  reset an object to its true class. Returns true always.
  619.  */
  620.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somResetObj)
  621.     (this);
  622. }
  623.  
  624.  
  625. /* va_list method: somDispatchV */
  626.  
  627. /*
  628.  *  Obsolete. Use somDispatch instead.
  629.  */
  630. /* the va_list invocation form */
  631. void   SOMPIdAssigner_somDispatchV(somId methodId, 
  632.         somId descriptor, 
  633.         va_list ap)
  634. {   SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchV)
  635.     (this,methodId,descriptor,ap);
  636. }
  637.  
  638. /* the varargs invocation form */
  639. void   somDispatchV(somId methodId, 
  640.         somId descriptor, 
  641.         ...)
  642. {
  643. /*
  644.  *  Obsolete. Use somDispatch instead.
  645.  */
  646.    va_list ap;
  647.    va_start(ap, descriptor);
  648.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchV)
  649.     (this,methodId,descriptor,ap);
  650.    va_end(ap);
  651. }
  652.  
  653.  
  654. /* va_list method: somDispatchL */
  655.  
  656. /*
  657.  *  Obsolete. Use somDispatch instead.
  658.  */
  659. /* the va_list invocation form */
  660. long   SOMPIdAssigner_somDispatchL(somId methodId, 
  661.         somId descriptor, 
  662.         va_list ap)
  663. {return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchL)
  664.     (this,methodId,descriptor,ap);
  665. }
  666.  
  667. /* the varargs invocation form */
  668. long   somDispatchL(somId methodId, 
  669.         somId descriptor, 
  670.         ...)
  671. {
  672. /*
  673.  *  Obsolete. Use somDispatch instead.
  674.  */
  675.    va_list ap;
  676.    va_start(ap, descriptor);
  677.    long __somResult = 
  678.       SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchL)
  679.     (this,methodId,descriptor,ap);
  680.    va_end(ap);
  681.    return __somResult;
  682. }
  683.  
  684.  
  685. /* va_list method: somDispatchA */
  686.  
  687. /*
  688.  *  Obsolete. Use somDispatch instead.
  689.  */
  690. /* the va_list invocation form */
  691. void*   SOMPIdAssigner_somDispatchA(somId methodId, 
  692.         somId descriptor, 
  693.         va_list ap)
  694. {return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchA)
  695.     (this,methodId,descriptor,ap);
  696. }
  697.  
  698. /* the varargs invocation form */
  699. void*   somDispatchA(somId methodId, 
  700.         somId descriptor, 
  701.         ...)
  702. {
  703. /*
  704.  *  Obsolete. Use somDispatch instead.
  705.  */
  706.    va_list ap;
  707.    va_start(ap, descriptor);
  708.    void* __somResult = 
  709.       SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchA)
  710.     (this,methodId,descriptor,ap);
  711.    va_end(ap);
  712.    return __somResult;
  713. }
  714.  
  715.  
  716. /* va_list method: somDispatchD */
  717.  
  718. /*
  719.  *  Obsolete. Use somDispatch instead.
  720.  */
  721. /* the va_list invocation form */
  722. double   SOMPIdAssigner_somDispatchD(somId methodId, 
  723.         somId descriptor, 
  724.         va_list ap)
  725. {return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchD)
  726.     (this,methodId,descriptor,ap);
  727. }
  728.  
  729. /* the varargs invocation form */
  730. double   somDispatchD(somId methodId, 
  731.         somId descriptor, 
  732.         ...)
  733. {
  734. /*
  735.  *  Obsolete. Use somDispatch instead.
  736.  */
  737.    va_list ap;
  738.    va_start(ap, descriptor);
  739.    double __somResult = 
  740.       SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDispatchD)
  741.     (this,methodId,descriptor,ap);
  742.    va_end(ap);
  743.    return __somResult;
  744. }
  745.  
  746.  
  747. /* method: somPrintSelf */
  748. SOMObject*   somPrintSelf()
  749. {
  750. /*
  751.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  752.  *  information about this object.  The default implementation just gives
  753.  *  the object's class name and its address in memory.
  754.  *  <self> is returned.
  755.  */
  756.    return SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somPrintSelf)
  757.     (this);
  758. }
  759.  
  760.  
  761. /* method: somDumpSelf */
  762. void   somDumpSelf(long level)
  763. {
  764. /*
  765.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  766.  *  and its current state.
  767.  * 
  768.  *  <level> indicates the nesting level for describing compound objects
  769.  *  it must be greater than or equal to zero.  All lines in the
  770.  *  description will be preceeded by <2*level> spaces.
  771.  * 
  772.  *  This routine only actually writes the data that concerns the object
  773.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  774.  *  the object's current state.  This approach allows readable
  775.  *  descriptions of compound objects to be constructed.
  776.  * 
  777.  *  Generally it is not necessary to override this method, if it is
  778.  *  overriden it generally must be completely replaced.
  779.  */
  780.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDumpSelf)
  781.     (this,level);
  782. }
  783.  
  784.  
  785. /* method: somDumpSelfInt */
  786. void   somDumpSelfInt(long level)
  787. {
  788. /*
  789.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  790.  *  Generally this method will need to be overridden.  When overriding
  791.  *  it, begin by calling the parent class form of this method and then
  792.  *  write in a description of your class's instance data. This will
  793.  *  result in a description of all the object's instance data going
  794.  *  from its root ancestor class to its specific class.
  795.  */
  796.    SOM_ResolveD(this,SOMPIdAssigner,SOMObject,somDumpSelfInt)
  797.     (this,level);
  798. }
  799.  
  800.  
  801.  
  802. };   /* SOMPIdAssigner */
  803.  
  804.  
  805.  
  806. #endif       /* SOM_SOMPIdAssigner_xh */
  807.