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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tssnode.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somuc
  12.  * 
  13.  *    ORIGINS: 82, 81, 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.  *    Copyright ⌐ 1988, 1989 Apple Computer, Inc. All rights reserved.
  23.  * 
  24.  * CLASS_NAME: somf_TSortedSequenceNode
  25.  * 
  26.  * DESCRIPTION: A TSortedSequenceNode is a node in a tree containing
  27.  *              MOrderableCollectible elements.  It contains a key
  28.  *              (the MOrderableCollectible) and a link to a left child and
  29.  *              a right child.
  30.  * 
  31.  */
  32.  
  33.  
  34. #ifndef SOM_somf_TSortedSequenceNode_xh
  35. #define SOM_somf_TSortedSequenceNode_xh
  36.  
  37. class somf_TSortedSequenceNode;
  38.  
  39. #define somf_TSortedSequenceNode_MajorVersion 2
  40. #define somf_TSortedSequenceNode_MinorVersion 1
  41.  
  42. /* C++ SOM defs */
  43. #include <somcls.xh>
  44. #include <somcm.xh>
  45.  
  46. /* C++ parent defs */
  47. #ifndef SOM_SOMObject_xh
  48. #include <somobj.xh>
  49. #endif
  50.  
  51. #ifndef somf_TSortedSequenceNode_API
  52. #define somf_TSortedSequenceNode_API
  53. /*
  54.  * -- The Class API
  55.  */
  56.  
  57. /*
  58.  * Start of bindings for IDL types
  59.  */
  60.  
  61. class SOMClass;
  62. class SOMObject;
  63. class somf_MOrderableCollectible;
  64.  
  65. /*
  66.  * End of bindings for IDL types.
  67.  */
  68.  
  69. /*
  70.  * Passthru lines: File: "C.xh", "after"
  71.  */
  72.  
  73. #include <morder.xh>
  74.  
  75. /* A procedure to create the somf_TSortedSequenceNode Class */
  76. SOMEXTERN SOMClass * SOMLINK somf_TSortedSequenceNodeNewClass(
  77.         integer4 majorVersion,
  78.         integer4 minorVersion);
  79.  
  80. /* The API to the somf_TSortedSequenceNode class object, and the methods it introduces. */
  81. SOMEXTERN struct somf_TSortedSequenceNodeClassDataStructure {
  82.     SOMClass *classObject;
  83.     somMToken somfGetLeftChild;
  84.     somMToken somfGetRightChild;
  85.     somMToken somfGetParent;
  86.     somMToken somfGetKey;
  87.     somMToken somfGetRed;
  88.     somMToken somfSetParent;
  89.     somMToken somfSetLeftChild;
  90.     somMToken somfSetRightChild;
  91.     somMToken somfSetKey;
  92.     somMToken somfSetRed;
  93.     somMToken somfSetRedOn;
  94.     somMToken somfTSortedSequenceNodeInitTMT;
  95.     somMToken somfTSortedSequenceNodeInitTM;
  96.     somMToken somfTSortedSequenceNodeInitT;
  97. } SOMDLINK somf_TSortedSequenceNodeClassData;
  98. #define _somf_TSortedSequenceNode somf_TSortedSequenceNodeClassData.classObject
  99.  
  100. /* The API to parentMtabs for somf_TSortedSequenceNode, and the instance data it introduces. */
  101. SOMEXTERN struct somf_TSortedSequenceNodeCClassDataStructure {
  102.     somMethodTabs parentMtab;
  103.     somDToken              instanceDataToken;
  104. } SOMDLINK somf_TSortedSequenceNodeCClassData;
  105.  
  106. /*
  107.  * -- Typedefs for somf_TSortedSequenceNode Method Procedures
  108.  */
  109. SOMEXTERN {
  110. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitTMT(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  111.         somf_TSortedSequenceNode* n1, 
  112.         somf_MOrderableCollectible* obj, 
  113.         somf_TSortedSequenceNode* n2);
  114. typedef somTP_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitTMT *somTD_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitTMT;
  115. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitTM(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  116.         somf_TSortedSequenceNode* n1, 
  117.         somf_MOrderableCollectible* obj);
  118. typedef somTP_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitTM *somTD_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitTM;
  119. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitT(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  120.         somf_TSortedSequenceNode* n1);
  121. typedef somTP_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitT *somTD_somf_TSortedSequenceNode_somfTSortedSequenceNodeInitT;
  122. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somfGetLeftChild(somf_TSortedSequenceNode *somSelf, Environment *ev);
  123. typedef somTP_somf_TSortedSequenceNode_somfGetLeftChild *somTD_somf_TSortedSequenceNode_somfGetLeftChild;
  124. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somfGetRightChild(somf_TSortedSequenceNode *somSelf, Environment *ev);
  125. typedef somTP_somf_TSortedSequenceNode_somfGetRightChild *somTD_somf_TSortedSequenceNode_somfGetRightChild;
  126. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somfGetParent(somf_TSortedSequenceNode *somSelf, Environment *ev);
  127. typedef somTP_somf_TSortedSequenceNode_somfGetParent *somTD_somf_TSortedSequenceNode_somfGetParent;
  128. typedef somf_MOrderableCollectible*   SOMLINK somTP_somf_TSortedSequenceNode_somfGetKey(somf_TSortedSequenceNode *somSelf, Environment *ev);
  129. typedef somTP_somf_TSortedSequenceNode_somfGetKey *somTD_somf_TSortedSequenceNode_somfGetKey;
  130. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somfGetRed(somf_TSortedSequenceNode *somSelf, Environment *ev);
  131. typedef somTP_somf_TSortedSequenceNode_somfGetRed *somTD_somf_TSortedSequenceNode_somfGetRed;
  132. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somfSetParent(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  133.         somf_TSortedSequenceNode* n);
  134. typedef somTP_somf_TSortedSequenceNode_somfSetParent *somTD_somf_TSortedSequenceNode_somfSetParent;
  135. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somfSetLeftChild(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  136.         somf_TSortedSequenceNode* n);
  137. typedef somTP_somf_TSortedSequenceNode_somfSetLeftChild *somTD_somf_TSortedSequenceNode_somfSetLeftChild;
  138. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somfSetRightChild(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  139.         somf_TSortedSequenceNode* n);
  140. typedef somTP_somf_TSortedSequenceNode_somfSetRightChild *somTD_somf_TSortedSequenceNode_somfSetRightChild;
  141. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somfSetKey(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  142.         somf_MOrderableCollectible* k);
  143. typedef somTP_somf_TSortedSequenceNode_somfSetKey *somTD_somf_TSortedSequenceNode_somfSetKey;
  144. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somfSetRed(somf_TSortedSequenceNode *somSelf, Environment *ev, 
  145.         boolean on);
  146. typedef somTP_somf_TSortedSequenceNode_somfSetRed *somTD_somf_TSortedSequenceNode_somfSetRed;
  147. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somfSetRedOn(somf_TSortedSequenceNode *somSelf, Environment *ev);
  148. typedef somTP_somf_TSortedSequenceNode_somfSetRedOn *somTD_somf_TSortedSequenceNode_somfSetRedOn;
  149.  
  150. /*
  151.  * -- Typedefs for Reintroduced Wrapper Methods
  152.  */
  153. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultInit(somf_TSortedSequenceNode *somSelf, 
  154.         som3InitCtrl* ctrl);
  155. typedef somTP_somf_TSortedSequenceNode_somDefaultInit *somTD_somf_TSortedSequenceNode_somDefaultInit;
  156. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDestruct(somf_TSortedSequenceNode *somSelf, 
  157.         octet doFree, 
  158.         som3DestructCtrl* ctrl);
  159. typedef somTP_somf_TSortedSequenceNode_somDestruct *somTD_somf_TSortedSequenceNode_somDestruct;
  160. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultCopyInit(somf_TSortedSequenceNode *somSelf, 
  161.         som3InitCtrl* ctrl, 
  162.         SOMObject* fromObj);
  163. typedef somTP_somf_TSortedSequenceNode_somDefaultCopyInit *somTD_somf_TSortedSequenceNode_somDefaultCopyInit;
  164. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultAssign(somf_TSortedSequenceNode *somSelf, 
  165.         som3AssignCtrl* ctrl, 
  166.         SOMObject* fromObj);
  167. typedef somTP_somf_TSortedSequenceNode_somDefaultAssign *somTD_somf_TSortedSequenceNode_somDefaultAssign;
  168. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultConstCopyInit(somf_TSortedSequenceNode *somSelf, 
  169.         som3InitCtrl* ctrl, 
  170.         SOMObject* fromObj);
  171. typedef somTP_somf_TSortedSequenceNode_somDefaultConstCopyInit *somTD_somf_TSortedSequenceNode_somDefaultConstCopyInit;
  172. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultVCopyInit(somf_TSortedSequenceNode *somSelf, 
  173.         som3InitCtrl* ctrl, 
  174.         SOMObject* fromObj);
  175. typedef somTP_somf_TSortedSequenceNode_somDefaultVCopyInit *somTD_somf_TSortedSequenceNode_somDefaultVCopyInit;
  176. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultConstVCopyInit(somf_TSortedSequenceNode *somSelf, 
  177.         som3InitCtrl* ctrl, 
  178.         SOMObject* fromObj);
  179. typedef somTP_somf_TSortedSequenceNode_somDefaultConstVCopyInit *somTD_somf_TSortedSequenceNode_somDefaultConstVCopyInit;
  180. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultConstAssign(somf_TSortedSequenceNode *somSelf, 
  181.         som3AssignCtrl* ctrl, 
  182.         SOMObject* fromObj);
  183. typedef somTP_somf_TSortedSequenceNode_somDefaultConstAssign *somTD_somf_TSortedSequenceNode_somDefaultConstAssign;
  184. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultVAssign(somf_TSortedSequenceNode *somSelf, 
  185.         som3AssignCtrl* ctrl, 
  186.         SOMObject* fromObj);
  187. typedef somTP_somf_TSortedSequenceNode_somDefaultVAssign *somTD_somf_TSortedSequenceNode_somDefaultVAssign;
  188. typedef somf_TSortedSequenceNode*   SOMLINK somTP_somf_TSortedSequenceNode_somDefaultConstVAssign(somf_TSortedSequenceNode *somSelf, 
  189.         som3AssignCtrl* ctrl, 
  190.         SOMObject* fromObj);
  191. typedef somTP_somf_TSortedSequenceNode_somDefaultConstVAssign *somTD_somf_TSortedSequenceNode_somDefaultConstVAssign;
  192. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somInit(somf_TSortedSequenceNode *somSelf);
  193. typedef somTP_somf_TSortedSequenceNode_somInit *somTD_somf_TSortedSequenceNode_somInit;
  194. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somFree(somf_TSortedSequenceNode *somSelf);
  195. typedef somTP_somf_TSortedSequenceNode_somFree *somTD_somf_TSortedSequenceNode_somFree;
  196. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somUninit(somf_TSortedSequenceNode *somSelf);
  197. typedef somTP_somf_TSortedSequenceNode_somUninit *somTD_somf_TSortedSequenceNode_somUninit;
  198. typedef SOMClass*   SOMLINK somTP_somf_TSortedSequenceNode_somGetClass(somf_TSortedSequenceNode *somSelf);
  199. typedef somTP_somf_TSortedSequenceNode_somGetClass *somTD_somf_TSortedSequenceNode_somGetClass;
  200. typedef string   SOMLINK somTP_somf_TSortedSequenceNode_somGetClassName(somf_TSortedSequenceNode *somSelf);
  201. typedef somTP_somf_TSortedSequenceNode_somGetClassName *somTD_somf_TSortedSequenceNode_somGetClassName;
  202. typedef long   SOMLINK somTP_somf_TSortedSequenceNode_somGetSize(somf_TSortedSequenceNode *somSelf);
  203. typedef somTP_somf_TSortedSequenceNode_somGetSize *somTD_somf_TSortedSequenceNode_somGetSize;
  204. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somIsA(somf_TSortedSequenceNode *somSelf, 
  205.         SOMClass* aClassObj);
  206. typedef somTP_somf_TSortedSequenceNode_somIsA *somTD_somf_TSortedSequenceNode_somIsA;
  207. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somIsInstanceOf(somf_TSortedSequenceNode *somSelf, 
  208.         SOMClass* aClassObj);
  209. typedef somTP_somf_TSortedSequenceNode_somIsInstanceOf *somTD_somf_TSortedSequenceNode_somIsInstanceOf;
  210. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somRespondsTo(somf_TSortedSequenceNode *somSelf, 
  211.         somId mId);
  212. typedef somTP_somf_TSortedSequenceNode_somRespondsTo *somTD_somf_TSortedSequenceNode_somRespondsTo;
  213. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somDispatch(somf_TSortedSequenceNode *somSelf, 
  214.         somToken* retValue, 
  215.         somId methodId, 
  216.         va_list ap);
  217. typedef somTP_somf_TSortedSequenceNode_somDispatch *somTD_somf_TSortedSequenceNode_somDispatch;
  218. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somClassDispatch(somf_TSortedSequenceNode *somSelf, 
  219.         SOMClass* clsObj, 
  220.         somToken* retValue, 
  221.         somId methodId, 
  222.         va_list ap);
  223. typedef somTP_somf_TSortedSequenceNode_somClassDispatch *somTD_somf_TSortedSequenceNode_somClassDispatch;
  224. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somCastObj(somf_TSortedSequenceNode *somSelf, 
  225.         SOMClass* cls);
  226. typedef somTP_somf_TSortedSequenceNode_somCastObj *somTD_somf_TSortedSequenceNode_somCastObj;
  227. typedef boolean   SOMLINK somTP_somf_TSortedSequenceNode_somResetObj(somf_TSortedSequenceNode *somSelf);
  228. typedef somTP_somf_TSortedSequenceNode_somResetObj *somTD_somf_TSortedSequenceNode_somResetObj;
  229. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDispatchV(somf_TSortedSequenceNode *somSelf, 
  230.         somId methodId, 
  231.         somId descriptor, 
  232.         va_list ap);
  233. typedef somTP_somf_TSortedSequenceNode_somDispatchV *somTD_somf_TSortedSequenceNode_somDispatchV;
  234. typedef long   SOMLINK somTP_somf_TSortedSequenceNode_somDispatchL(somf_TSortedSequenceNode *somSelf, 
  235.         somId methodId, 
  236.         somId descriptor, 
  237.         va_list ap);
  238. typedef somTP_somf_TSortedSequenceNode_somDispatchL *somTD_somf_TSortedSequenceNode_somDispatchL;
  239. typedef void*   SOMLINK somTP_somf_TSortedSequenceNode_somDispatchA(somf_TSortedSequenceNode *somSelf, 
  240.         somId methodId, 
  241.         somId descriptor, 
  242.         va_list ap);
  243. typedef somTP_somf_TSortedSequenceNode_somDispatchA *somTD_somf_TSortedSequenceNode_somDispatchA;
  244. typedef double   SOMLINK somTP_somf_TSortedSequenceNode_somDispatchD(somf_TSortedSequenceNode *somSelf, 
  245.         somId methodId, 
  246.         somId descriptor, 
  247.         va_list ap);
  248. typedef somTP_somf_TSortedSequenceNode_somDispatchD *somTD_somf_TSortedSequenceNode_somDispatchD;
  249. typedef SOMObject*   SOMLINK somTP_somf_TSortedSequenceNode_somPrintSelf(somf_TSortedSequenceNode *somSelf);
  250. typedef somTP_somf_TSortedSequenceNode_somPrintSelf *somTD_somf_TSortedSequenceNode_somPrintSelf;
  251. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDumpSelf(somf_TSortedSequenceNode *somSelf, 
  252.         long level);
  253. typedef somTP_somf_TSortedSequenceNode_somDumpSelf *somTD_somf_TSortedSequenceNode_somDumpSelf;
  254. typedef void   SOMLINK somTP_somf_TSortedSequenceNode_somDumpSelfInt(somf_TSortedSequenceNode *somSelf, 
  255.         long level);
  256. typedef somTP_somf_TSortedSequenceNode_somDumpSelfInt *somTD_somf_TSortedSequenceNode_somDumpSelfInt;
  257. }
  258.  
  259. #endif /* somf_TSortedSequenceNode_API */
  260.  
  261.  
  262. /*
  263.  * -- This emitter treats Method Tokens as Thunks by default.
  264.  * -- Use the sc modifier "nothunks" to change this default
  265.  */
  266. #undef somresolve_
  267. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  268.  
  269. /*
  270.  * -- The C++ Wrapper Class for somf_TSortedSequenceNode
  271.  */
  272. class somf_TSortedSequenceNode : public SOMObject
  273. {
  274. public:
  275.  
  276. // somf_TSortedSequenceNode::new creates the class object if necessary, and then uses somNewNoInit
  277. // to allocate memory and create the object. Initialization is in ctors.
  278. void *operator new(size_t)
  279. {
  280.    if (!_somf_TSortedSequenceNode) somf_TSortedSequenceNodeNewClass(somf_TSortedSequenceNode_MajorVersion,somf_TSortedSequenceNode_MinorVersion);
  281.    return (void*)
  282.       SOM_Resolve(_somf_TSortedSequenceNode,SOMClass,somNewNoInit)
  283.          ((SOMClass *)((void*)_somf_TSortedSequenceNode));
  284. }
  285.  
  286. // somf_TSortedSequenceNode::delete uses somDestruct.
  287. void operator delete(void * obj)
  288. {
  289.    if (obj && *(void**)obj) {
  290.       SOM_Resolve(obj,SOMObject,somFree)
  291.          ((SOMObject*)obj);
  292.    }
  293. }
  294.  
  295. somf_TSortedSequenceNode& operator=(somf_TSortedSequenceNode& fromObj)
  296. {
  297.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  298.    return *this;
  299. }
  300.  
  301. somf_TSortedSequenceNode()
  302. {
  303.    if (*(void**)this != 
  304.        ((somParentMtabStructPtr)
  305.         (somf_TSortedSequenceNodeCClassData.parentMtab))->mtab)
  306.       return;
  307.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  308. }
  309.  
  310. somf_TSortedSequenceNode(somf_TSortedSequenceNode* fromObj)
  311. {
  312.    if (*(void**)this != 
  313.        ((somParentMtabStructPtr)
  314.         (somf_TSortedSequenceNodeCClassData.parentMtab))->mtab)
  315.       return;
  316.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  317. }
  318.  
  319. #ifdef __IBMCPP__
  320. #pragma info(nocnv,nopar)
  321. #endif
  322. somf_TSortedSequenceNode(const somf_TSortedSequenceNode* fromObj)
  323. {
  324.    if (*(void**)this != 
  325.        ((somParentMtabStructPtr)
  326.         (somf_TSortedSequenceNodeCClassData.parentMtab))->mtab)
  327.       return;
  328.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  329. }
  330. #ifdef __IBMCPP__
  331. #pragma info(restore)
  332. #endif
  333.  
  334.  
  335. /* method: somfTSortedSequenceNodeInitTMT */
  336. somf_TSortedSequenceNode*   somfTSortedSequenceNodeInitTMT(Environment *ev, 
  337.         somf_TSortedSequenceNode* n1, 
  338.         somf_MOrderableCollectible* obj, 
  339.         somf_TSortedSequenceNode* n2)
  340. {
  341. /*
  342.  *  Initialize the new TSortedSequenceNode
  343.  */
  344.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfTSortedSequenceNodeInitTMT)
  345.     (this, ev,n1,obj,n2);
  346. }
  347.  
  348.  
  349. /* method: somfTSortedSequenceNodeInitTM */
  350. somf_TSortedSequenceNode*   somfTSortedSequenceNodeInitTM(Environment *ev, 
  351.         somf_TSortedSequenceNode* n1, 
  352.         somf_MOrderableCollectible* obj)
  353. {
  354. /*
  355.  *  Initialize the new TSortedSequenceNode
  356.  */
  357.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfTSortedSequenceNodeInitTM)
  358.     (this, ev,n1,obj);
  359. }
  360.  
  361.  
  362. /* method: somfTSortedSequenceNodeInitT */
  363. somf_TSortedSequenceNode*   somfTSortedSequenceNodeInitT(Environment *ev, 
  364.         somf_TSortedSequenceNode* n1)
  365. {
  366. /*
  367.  *  Initialize the new TSortedSequenceNode
  368.  */
  369.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfTSortedSequenceNodeInitT)
  370.     (this, ev,n1);
  371. }
  372.  
  373.  
  374. /* method: somfGetLeftChild */
  375. somf_TSortedSequenceNode*   somfGetLeftChild(Environment *ev)
  376. {
  377. /*
  378.  *  Determine the left child of the node.
  379.  */
  380.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfGetLeftChild)
  381.     (this, ev);
  382. }
  383.  
  384.  
  385. /* method: somfGetRightChild */
  386. somf_TSortedSequenceNode*   somfGetRightChild(Environment *ev)
  387. {
  388. /*
  389.  *  Determine the right child of the node.
  390.  */
  391.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfGetRightChild)
  392.     (this, ev);
  393. }
  394.  
  395.  
  396. /* method: somfGetParent */
  397. somf_TSortedSequenceNode*   somfGetParent(Environment *ev)
  398. {
  399. /*
  400.  *  Determine the parent of the node.
  401.  */
  402.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfGetParent)
  403.     (this, ev);
  404. }
  405.  
  406.  
  407. /* method: somfGetKey */
  408. somf_MOrderableCollectible*   somfGetKey(Environment *ev)
  409. {
  410. /*
  411.  *  Determine the key to the node.
  412.  */
  413.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfGetKey)
  414.     (this, ev);
  415. }
  416.  
  417.  
  418. /* method: somfGetRed */
  419. boolean   somfGetRed(Environment *ev)
  420. {
  421. /*
  422.  *  Determine if the node is red or black.
  423.  */
  424.    return SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfGetRed)
  425.     (this, ev);
  426. }
  427.  
  428.  
  429. /* method: somfSetParent */
  430. void   somfSetParent(Environment *ev, 
  431.         somf_TSortedSequenceNode* n)
  432. {
  433. /*
  434.  *  Set the parent of the node.
  435.  */
  436.    SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfSetParent)
  437.     (this, ev,n);
  438. }
  439.  
  440.  
  441. /* method: somfSetLeftChild */
  442. void   somfSetLeftChild(Environment *ev, 
  443.         somf_TSortedSequenceNode* n)
  444. {
  445. /*
  446.  *  Set the left child of the node.
  447.  */
  448.    SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfSetLeftChild)
  449.     (this, ev,n);
  450. }
  451.  
  452.  
  453. /* method: somfSetRightChild */
  454. void   somfSetRightChild(Environment *ev, 
  455.         somf_TSortedSequenceNode* n)
  456. {
  457. /*
  458.  *  Set the right child of the node.
  459.  */
  460.    SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfSetRightChild)
  461.     (this, ev,n);
  462. }
  463.  
  464.  
  465. /* method: somfSetKey */
  466. void   somfSetKey(Environment *ev, 
  467.         somf_MOrderableCollectible* k)
  468. {
  469. /*
  470.  *  Set the key to the node.
  471.  */
  472.    SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfSetKey)
  473.     (this, ev,k);
  474. }
  475.  
  476.  
  477. /* method: somfSetRed */
  478. void   somfSetRed(Environment *ev, 
  479.         boolean on)
  480. {
  481. /*
  482.  *  Set the node to red or black.
  483.  */
  484.    SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfSetRed)
  485.     (this, ev,on);
  486. }
  487.  
  488.  
  489. /* method: somfSetRedOn */
  490. void   somfSetRedOn(Environment *ev)
  491. {
  492. /*
  493.  *  Set the node to red.
  494.  */
  495.    SOM_ResolveD(this,somf_TSortedSequenceNode,somf_TSortedSequenceNode,somfSetRedOn)
  496.     (this, ev);
  497. }
  498.  
  499.  
  500. /*
  501.  * Reintroduce inherited methods
  502.  */
  503.  
  504. /* initializer method: somDefaultInit */
  505. void   somDefaultInit(som3InitCtrl* ctrl)
  506. {
  507. /*
  508.  *  A default initializer for a SOM object. Passing a null ctrl
  509.  *  indicates to the receiver that its class is the class of the
  510.  *  object being initialized, whereby the initializer will determine
  511.  *  an appropriate control structure.
  512.  */
  513.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultInit)
  514.     (this,ctrl);
  515. }
  516.  
  517.  
  518. /* method: somDestruct */
  519. void   somDestruct(octet doFree, 
  520.         som3DestructCtrl* ctrl)
  521. {
  522. /*
  523.  *  The default destructor for a SOM object. A nonzero <doFree>
  524.  *  indicates that the object storage should be freed by the
  525.  *  object's class (via somDeallocate) after uninitialization.
  526.  *  As with somDefaultInit, a null ctrl can be passed.
  527.  */
  528.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDestruct)
  529.     (this,doFree,ctrl);
  530. }
  531.  
  532.  
  533. /* initializer method: somDefaultCopyInit */
  534. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  535.         SOMObject* fromObj)
  536. {
  537. /*
  538.  *  A default copy constructor. Use this to make copies of objects for
  539.  *  calling methods with "by-value" argument semantics.
  540.  */
  541.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultCopyInit)
  542.     (this,ctrl,fromObj);
  543. }
  544.  
  545.  
  546. /* method: somDefaultAssign */
  547. somf_TSortedSequenceNode*  somDefaultAssign(som3AssignCtrl* ctrl, 
  548.         SOMObject* fromObj)
  549. {
  550. /*
  551.  *  A default assignment operator. Use this to "assign" the state of one
  552.  *  object to another.
  553.  */
  554.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultAssign)
  555.     (this,ctrl,fromObj);
  556. }
  557.  
  558.  
  559. /* initializer method: somDefaultConstCopyInit */
  560. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  561.         SOMObject* fromObj)
  562. {
  563. /*
  564.  *  A default copy constructor that uses a const fromObj.
  565.  */
  566.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultConstCopyInit)
  567.     (this,ctrl,fromObj);
  568. }
  569.  
  570.  
  571. /* initializer method: somDefaultVCopyInit */
  572. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  573.         SOMObject* fromObj)
  574. {
  575. /*
  576.  *  A default copy constructor that uses a volatile fromObj.
  577.  */
  578.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultVCopyInit)
  579.     (this,ctrl,fromObj);
  580. }
  581.  
  582.  
  583. /* initializer method: somDefaultConstVCopyInit */
  584. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  585.         SOMObject* fromObj)
  586. {
  587. /*
  588.  *  A default copy constructor that uses a const volatile fromObj.
  589.  */
  590.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultConstVCopyInit)
  591.     (this,ctrl,fromObj);
  592. }
  593.  
  594.  
  595. /* method: somDefaultConstAssign */
  596. somf_TSortedSequenceNode*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  597.         SOMObject* fromObj)
  598. {
  599. /*
  600.  *  A default assignment operator that uses a const fromObj.
  601.  */
  602.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultConstAssign)
  603.     (this,ctrl,fromObj);
  604. }
  605.  
  606.  
  607. /* method: somDefaultVAssign */
  608. somf_TSortedSequenceNode*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  609.         SOMObject* fromObj)
  610. {
  611. /*
  612.  *  A default assignment operator that uses a volatile fromObj.
  613.  */
  614.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultVAssign)
  615.     (this,ctrl,fromObj);
  616. }
  617.  
  618.  
  619. /* method: somDefaultConstVAssign */
  620. somf_TSortedSequenceNode*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  621.         SOMObject* fromObj)
  622. {
  623. /*
  624.  *  A default assignment operator that uses a const volatile fromObj.
  625.  */
  626.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDefaultConstVAssign)
  627.     (this,ctrl,fromObj);
  628. }
  629.  
  630.  
  631. /* method: somInit */
  632. void   somInit()
  633. {
  634. /*
  635.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  636.  */
  637.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somInit)
  638.     (this);
  639. }
  640.  
  641.  
  642. /* method: somFree */
  643. void   somFree()
  644. {
  645. /*
  646.  *  Use as directed by framework implementations.
  647.  */
  648.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somFree)
  649.     (this);
  650. }
  651.  
  652.  
  653. /* method: somUninit */
  654. void   somUninit()
  655. {
  656. /*
  657.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  658.  */
  659.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somUninit)
  660.     (this);
  661. }
  662.  
  663.  
  664. /* method: somGetClass */
  665. SOMClass*   somGetClass()
  666. {
  667. /*
  668.  *  Return the receiver's class.
  669.  */
  670.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somGetClass)
  671.     (this);
  672. }
  673.  
  674.  
  675. /* method: somGetClassName */
  676. string   somGetClassName()
  677. {
  678. /*
  679.  *  Return the name of the receiver's class.
  680.  */
  681.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somGetClassName)
  682.     (this);
  683. }
  684.  
  685.  
  686. /* method: somGetSize */
  687. long   somGetSize()
  688. {
  689. /*
  690.  *  Return the size of the receiver.
  691.  */
  692.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somGetSize)
  693.     (this);
  694. }
  695.  
  696.  
  697. /* method: somIsA */
  698. boolean   somIsA(SOMClass* aClassObj)
  699. {
  700. /*
  701.  *  Returns 1 (true) if the receiver responds to methods
  702.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  703.  */
  704.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somIsA)
  705.     (this,aClassObj);
  706. }
  707.  
  708.  
  709. /* method: somIsInstanceOf */
  710. boolean   somIsInstanceOf(SOMClass* aClassObj)
  711. {
  712. /*
  713.  *  Returns 1 (true) if the receiver is an instance of
  714.  *  <aClassObj> and 0 (false) otherwise.
  715.  */
  716.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somIsInstanceOf)
  717.     (this,aClassObj);
  718. }
  719.  
  720.  
  721. /* method: somRespondsTo */
  722. boolean   somRespondsTo(somId mId)
  723. {
  724. /*
  725.  *  Returns 1 (true) if the indicated method can be invoked
  726.  *  on the receiver and 0 (false) otherwise.
  727.  */
  728.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somRespondsTo)
  729.     (this,mId);
  730. }
  731.  
  732.  
  733. /* va_list method: somDispatch */
  734.  
  735. /*
  736.  *  This method provides a generic, class-specific dispatch mechanism.
  737.  *  It accepts as input <retValue> a pointer to the memory area to be
  738.  *  loaded with the result of dispatching the method indicated by
  739.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  740.  *  on which the method is to be invoked as the first argument.
  741.  */
  742. /* the va_list invocation form */
  743. boolean   somf_TSortedSequenceNode_somDispatch(somToken* retValue, 
  744.         somId methodId, 
  745.         va_list ap)
  746. {return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatch)
  747.     (this,retValue,methodId,ap);
  748. }
  749.  
  750. /* the varargs invocation form */
  751. boolean   somDispatch(somToken* retValue, 
  752.         somId methodId, 
  753.         ...)
  754. {
  755. /*
  756.  *  This method provides a generic, class-specific dispatch mechanism.
  757.  *  It accepts as input <retValue> a pointer to the memory area to be
  758.  *  loaded with the result of dispatching the method indicated by
  759.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  760.  *  on which the method is to be invoked as the first argument.
  761.  */
  762.    va_list ap;
  763.    va_start(ap, methodId);
  764.    boolean __somResult = 
  765.       SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatch)
  766.     (this,retValue,methodId,ap);
  767.    va_end(ap);
  768.    return __somResult;
  769. }
  770.  
  771.  
  772. /* va_list method: somClassDispatch */
  773.  
  774. /*
  775.  *  Like somDispatch, but method resolution for static methods is done
  776.  *  according to the clsObj instance method table.
  777.  */
  778. /* the va_list invocation form */
  779. boolean   somf_TSortedSequenceNode_somClassDispatch(SOMClass* clsObj, 
  780.         somToken* retValue, 
  781.         somId methodId, 
  782.         va_list ap)
  783. {return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somClassDispatch)
  784.     (this,clsObj,retValue,methodId,ap);
  785. }
  786.  
  787. /* the varargs invocation form */
  788. boolean   somClassDispatch(SOMClass* clsObj, 
  789.         somToken* retValue, 
  790.         somId methodId, 
  791.         ...)
  792. {
  793. /*
  794.  *  Like somDispatch, but method resolution for static methods is done
  795.  *  according to the clsObj instance method table.
  796.  */
  797.    va_list ap;
  798.    va_start(ap, methodId);
  799.    boolean __somResult = 
  800.       SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somClassDispatch)
  801.     (this,clsObj,retValue,methodId,ap);
  802.    va_end(ap);
  803.    return __somResult;
  804. }
  805.  
  806.  
  807. /* method: somCastObj */
  808. boolean   somCastObj(SOMClass* cls)
  809. {
  810. /*
  811.  *  cast the receiving object to cls (which must be an ancestor of the
  812.  *  objects true class. Returns true on success.
  813.  */
  814.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somCastObj)
  815.     (this,cls);
  816. }
  817.  
  818.  
  819. /* method: somResetObj */
  820. boolean   somResetObj()
  821. {
  822. /*
  823.  *  reset an object to its true class. Returns true always.
  824.  */
  825.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somResetObj)
  826.     (this);
  827. }
  828.  
  829.  
  830. /* va_list method: somDispatchV */
  831.  
  832. /*
  833.  *  Obsolete. Use somDispatch instead.
  834.  */
  835. /* the va_list invocation form */
  836. void   somf_TSortedSequenceNode_somDispatchV(somId methodId, 
  837.         somId descriptor, 
  838.         va_list ap)
  839. {   SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchV)
  840.     (this,methodId,descriptor,ap);
  841. }
  842.  
  843. /* the varargs invocation form */
  844. void   somDispatchV(somId methodId, 
  845.         somId descriptor, 
  846.         ...)
  847. {
  848. /*
  849.  *  Obsolete. Use somDispatch instead.
  850.  */
  851.    va_list ap;
  852.    va_start(ap, descriptor);
  853.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchV)
  854.     (this,methodId,descriptor,ap);
  855.    va_end(ap);
  856. }
  857.  
  858.  
  859. /* va_list method: somDispatchL */
  860.  
  861. /*
  862.  *  Obsolete. Use somDispatch instead.
  863.  */
  864. /* the va_list invocation form */
  865. long   somf_TSortedSequenceNode_somDispatchL(somId methodId, 
  866.         somId descriptor, 
  867.         va_list ap)
  868. {return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchL)
  869.     (this,methodId,descriptor,ap);
  870. }
  871.  
  872. /* the varargs invocation form */
  873. long   somDispatchL(somId methodId, 
  874.         somId descriptor, 
  875.         ...)
  876. {
  877. /*
  878.  *  Obsolete. Use somDispatch instead.
  879.  */
  880.    va_list ap;
  881.    va_start(ap, descriptor);
  882.    long __somResult = 
  883.       SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchL)
  884.     (this,methodId,descriptor,ap);
  885.    va_end(ap);
  886.    return __somResult;
  887. }
  888.  
  889.  
  890. /* va_list method: somDispatchA */
  891.  
  892. /*
  893.  *  Obsolete. Use somDispatch instead.
  894.  */
  895. /* the va_list invocation form */
  896. void*   somf_TSortedSequenceNode_somDispatchA(somId methodId, 
  897.         somId descriptor, 
  898.         va_list ap)
  899. {return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchA)
  900.     (this,methodId,descriptor,ap);
  901. }
  902.  
  903. /* the varargs invocation form */
  904. void*   somDispatchA(somId methodId, 
  905.         somId descriptor, 
  906.         ...)
  907. {
  908. /*
  909.  *  Obsolete. Use somDispatch instead.
  910.  */
  911.    va_list ap;
  912.    va_start(ap, descriptor);
  913.    void* __somResult = 
  914.       SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchA)
  915.     (this,methodId,descriptor,ap);
  916.    va_end(ap);
  917.    return __somResult;
  918. }
  919.  
  920.  
  921. /* va_list method: somDispatchD */
  922.  
  923. /*
  924.  *  Obsolete. Use somDispatch instead.
  925.  */
  926. /* the va_list invocation form */
  927. double   somf_TSortedSequenceNode_somDispatchD(somId methodId, 
  928.         somId descriptor, 
  929.         va_list ap)
  930. {return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchD)
  931.     (this,methodId,descriptor,ap);
  932. }
  933.  
  934. /* the varargs invocation form */
  935. double   somDispatchD(somId methodId, 
  936.         somId descriptor, 
  937.         ...)
  938. {
  939. /*
  940.  *  Obsolete. Use somDispatch instead.
  941.  */
  942.    va_list ap;
  943.    va_start(ap, descriptor);
  944.    double __somResult = 
  945.       SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDispatchD)
  946.     (this,methodId,descriptor,ap);
  947.    va_end(ap);
  948.    return __somResult;
  949. }
  950.  
  951.  
  952. /* method: somPrintSelf */
  953. SOMObject*   somPrintSelf()
  954. {
  955. /*
  956.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  957.  *  information about this object.  The default implementation just gives
  958.  *  the object's class name and its address in memory.
  959.  *  <self> is returned.
  960.  */
  961.    return SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somPrintSelf)
  962.     (this);
  963. }
  964.  
  965.  
  966. /* method: somDumpSelf */
  967. void   somDumpSelf(long level)
  968. {
  969. /*
  970.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  971.  *  and its current state.
  972.  * 
  973.  *  <level> indicates the nesting level for describing compound objects
  974.  *  it must be greater than or equal to zero.  All lines in the
  975.  *  description will be preceeded by <2*level> spaces.
  976.  * 
  977.  *  This routine only actually writes the data that concerns the object
  978.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  979.  *  the object's current state.  This approach allows readable
  980.  *  descriptions of compound objects to be constructed.
  981.  * 
  982.  *  Generally it is not necessary to override this method, if it is
  983.  *  overriden it generally must be completely replaced.
  984.  */
  985.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDumpSelf)
  986.     (this,level);
  987. }
  988.  
  989.  
  990. /* method: somDumpSelfInt */
  991. void   somDumpSelfInt(long level)
  992. {
  993. /*
  994.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  995.  *  Generally this method will need to be overridden.  When overriding
  996.  *  it, begin by calling the parent class form of this method and then
  997.  *  write in a description of your class's instance data. This will
  998.  *  result in a description of all the object's instance data going
  999.  *  from its root ancestor class to its specific class.
  1000.  */
  1001.    SOM_ResolveD(this,somf_TSortedSequenceNode,SOMObject,somDumpSelfInt)
  1002.     (this,level);
  1003. }
  1004.  
  1005.  
  1006.  
  1007. };   /* somf_TSortedSequenceNode */
  1008.  
  1009.  
  1010.  
  1011. #endif       /* SOM_somf_TSortedSequenceNode_xh */
  1012.