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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tdeqlink.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_TDequeLinkable
  25.  * 
  26.  * DESCRIPTION: This class provides the user with a generic MLinkable
  27.  *              containing a long value.
  28.  * 
  29.  */
  30.  
  31.  
  32. #ifndef SOM_somf_TDequeLinkable_xh
  33. #define SOM_somf_TDequeLinkable_xh
  34.  
  35. class somf_TDequeLinkable;
  36.  
  37. #define somf_TDequeLinkable_MajorVersion 2
  38. #define somf_TDequeLinkable_MinorVersion 1
  39.  
  40. /* C++ SOM defs */
  41. #include <somcls.xh>
  42. #include <somcm.xh>
  43.  
  44. /* C++ parent defs */
  45. #ifndef SOM_somf_MLinkable_xh
  46. #include <mlink.xh>
  47. #endif
  48.  
  49. #ifndef somf_TDequeLinkable_API
  50. #define somf_TDequeLinkable_API
  51. /*
  52.  * -- The Class API
  53.  */
  54.  
  55. /*
  56.  * Start of bindings for IDL types
  57.  */
  58.  
  59. class SOMClass;
  60. class SOMObject;
  61. class somf_MCollectible;
  62.  
  63. /*
  64.  * End of bindings for IDL types.
  65.  */
  66.  
  67. /* A procedure to create the somf_TDequeLinkable Class */
  68. SOMEXTERN SOMClass * SOMLINK somf_TDequeLinkableNewClass(
  69.         integer4 majorVersion,
  70.         integer4 minorVersion);
  71.  
  72. /* The API to the somf_TDequeLinkable class object, and the methods it introduces. */
  73. SOMEXTERN struct somf_TDequeLinkableClassDataStructure {
  74.     SOMClass *classObject;
  75.     somMToken somfGetValue;
  76.     somMToken somfSetValue;
  77.     somMToken somfTDequeLinkableInitDDM;
  78.     somMToken somfTDequeLinkableInitDD;
  79. } SOMDLINK somf_TDequeLinkableClassData;
  80. #define _somf_TDequeLinkable somf_TDequeLinkableClassData.classObject
  81.  
  82. /* The API to parentMtabs for somf_TDequeLinkable, and the instance data it introduces. */
  83. SOMEXTERN struct somf_TDequeLinkableCClassDataStructure {
  84.     somMethodTabs parentMtab;
  85.     somDToken              instanceDataToken;
  86. } SOMDLINK somf_TDequeLinkableCClassData;
  87.  
  88. /*
  89.  * -- Typedefs for somf_TDequeLinkable Method Procedures
  90.  */
  91. SOMEXTERN {
  92. typedef somf_TDequeLinkable*   SOMLINK somTP_somf_TDequeLinkable_somfTDequeLinkableInitDDM(somf_TDequeLinkable *somSelf, Environment *ev, 
  93.         somf_TDequeLinkable* previous, 
  94.         somf_TDequeLinkable* next, 
  95.         somf_MCollectible* v);
  96. typedef somTP_somf_TDequeLinkable_somfTDequeLinkableInitDDM *somTD_somf_TDequeLinkable_somfTDequeLinkableInitDDM;
  97. typedef somf_TDequeLinkable*   SOMLINK somTP_somf_TDequeLinkable_somfTDequeLinkableInitDD(somf_TDequeLinkable *somSelf, Environment *ev, 
  98.         somf_TDequeLinkable* previous, 
  99.         somf_TDequeLinkable* next);
  100. typedef somTP_somf_TDequeLinkable_somfTDequeLinkableInitDD *somTD_somf_TDequeLinkable_somfTDequeLinkableInitDD;
  101. typedef somf_MCollectible*   SOMLINK somTP_somf_TDequeLinkable_somfGetValue(somf_TDequeLinkable *somSelf, Environment *ev);
  102. typedef somTP_somf_TDequeLinkable_somfGetValue *somTD_somf_TDequeLinkable_somfGetValue;
  103. typedef void   SOMLINK somTP_somf_TDequeLinkable_somfSetValue(somf_TDequeLinkable *somSelf, Environment *ev, 
  104.         somf_MCollectible* v);
  105. typedef somTP_somf_TDequeLinkable_somfSetValue *somTD_somf_TDequeLinkable_somfSetValue;
  106.  
  107. /*
  108.  * -- Typedefs for Reintroduced Wrapper Methods
  109.  */
  110. typedef somf_MLinkable*   SOMLINK somTP_somf_TDequeLinkable_somfMLinkableInit(somf_TDequeLinkable *somSelf, Environment *ev, 
  111.         somf_MLinkable* n, 
  112.         somf_MLinkable* p);
  113. typedef somTP_somf_TDequeLinkable_somfMLinkableInit *somTD_somf_TDequeLinkable_somfMLinkableInit;
  114. typedef somf_MLinkable*   SOMLINK somTP_somf_TDequeLinkable_somfGetNext(somf_TDequeLinkable *somSelf, Environment *ev);
  115. typedef somTP_somf_TDequeLinkable_somfGetNext *somTD_somf_TDequeLinkable_somfGetNext;
  116. typedef void   SOMLINK somTP_somf_TDequeLinkable_somfSetNext(somf_TDequeLinkable *somSelf, Environment *ev, 
  117.         somf_MLinkable* aLink);
  118. typedef somTP_somf_TDequeLinkable_somfSetNext *somTD_somf_TDequeLinkable_somfSetNext;
  119. typedef somf_MLinkable*   SOMLINK somTP_somf_TDequeLinkable_somfGetPrevious(somf_TDequeLinkable *somSelf, Environment *ev);
  120. typedef somTP_somf_TDequeLinkable_somfGetPrevious *somTD_somf_TDequeLinkable_somfGetPrevious;
  121. typedef void   SOMLINK somTP_somf_TDequeLinkable_somfSetPrevious(somf_TDequeLinkable *somSelf, Environment *ev, 
  122.         somf_MLinkable* aLink);
  123. typedef somTP_somf_TDequeLinkable_somfSetPrevious *somTD_somf_TDequeLinkable_somfSetPrevious;
  124. typedef void   SOMLINK somTP_somf_TDequeLinkable_somInit(somf_TDequeLinkable *somSelf);
  125. typedef somTP_somf_TDequeLinkable_somInit *somTD_somf_TDequeLinkable_somInit;
  126. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDefaultInit(somf_TDequeLinkable *somSelf, 
  127.         som3InitCtrl* ctrl);
  128. typedef somTP_somf_TDequeLinkable_somDefaultInit *somTD_somf_TDequeLinkable_somDefaultInit;
  129. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDestruct(somf_TDequeLinkable *somSelf, 
  130.         octet doFree, 
  131.         som3DestructCtrl* ctrl);
  132. typedef somTP_somf_TDequeLinkable_somDestruct *somTD_somf_TDequeLinkable_somDestruct;
  133. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDefaultCopyInit(somf_TDequeLinkable *somSelf, 
  134.         som3InitCtrl* ctrl, 
  135.         SOMObject* fromObj);
  136. typedef somTP_somf_TDequeLinkable_somDefaultCopyInit *somTD_somf_TDequeLinkable_somDefaultCopyInit;
  137. typedef somf_TDequeLinkable*   SOMLINK somTP_somf_TDequeLinkable_somDefaultAssign(somf_TDequeLinkable *somSelf, 
  138.         som3AssignCtrl* ctrl, 
  139.         SOMObject* fromObj);
  140. typedef somTP_somf_TDequeLinkable_somDefaultAssign *somTD_somf_TDequeLinkable_somDefaultAssign;
  141. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDefaultConstCopyInit(somf_TDequeLinkable *somSelf, 
  142.         som3InitCtrl* ctrl, 
  143.         SOMObject* fromObj);
  144. typedef somTP_somf_TDequeLinkable_somDefaultConstCopyInit *somTD_somf_TDequeLinkable_somDefaultConstCopyInit;
  145. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDefaultVCopyInit(somf_TDequeLinkable *somSelf, 
  146.         som3InitCtrl* ctrl, 
  147.         SOMObject* fromObj);
  148. typedef somTP_somf_TDequeLinkable_somDefaultVCopyInit *somTD_somf_TDequeLinkable_somDefaultVCopyInit;
  149. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDefaultConstVCopyInit(somf_TDequeLinkable *somSelf, 
  150.         som3InitCtrl* ctrl, 
  151.         SOMObject* fromObj);
  152. typedef somTP_somf_TDequeLinkable_somDefaultConstVCopyInit *somTD_somf_TDequeLinkable_somDefaultConstVCopyInit;
  153. typedef somf_TDequeLinkable*   SOMLINK somTP_somf_TDequeLinkable_somDefaultConstAssign(somf_TDequeLinkable *somSelf, 
  154.         som3AssignCtrl* ctrl, 
  155.         SOMObject* fromObj);
  156. typedef somTP_somf_TDequeLinkable_somDefaultConstAssign *somTD_somf_TDequeLinkable_somDefaultConstAssign;
  157. typedef somf_TDequeLinkable*   SOMLINK somTP_somf_TDequeLinkable_somDefaultVAssign(somf_TDequeLinkable *somSelf, 
  158.         som3AssignCtrl* ctrl, 
  159.         SOMObject* fromObj);
  160. typedef somTP_somf_TDequeLinkable_somDefaultVAssign *somTD_somf_TDequeLinkable_somDefaultVAssign;
  161. typedef somf_TDequeLinkable*   SOMLINK somTP_somf_TDequeLinkable_somDefaultConstVAssign(somf_TDequeLinkable *somSelf, 
  162.         som3AssignCtrl* ctrl, 
  163.         SOMObject* fromObj);
  164. typedef somTP_somf_TDequeLinkable_somDefaultConstVAssign *somTD_somf_TDequeLinkable_somDefaultConstVAssign;
  165. typedef void   SOMLINK somTP_somf_TDequeLinkable_somFree(somf_TDequeLinkable *somSelf);
  166. typedef somTP_somf_TDequeLinkable_somFree *somTD_somf_TDequeLinkable_somFree;
  167. typedef void   SOMLINK somTP_somf_TDequeLinkable_somUninit(somf_TDequeLinkable *somSelf);
  168. typedef somTP_somf_TDequeLinkable_somUninit *somTD_somf_TDequeLinkable_somUninit;
  169. typedef SOMClass*   SOMLINK somTP_somf_TDequeLinkable_somGetClass(somf_TDequeLinkable *somSelf);
  170. typedef somTP_somf_TDequeLinkable_somGetClass *somTD_somf_TDequeLinkable_somGetClass;
  171. typedef string   SOMLINK somTP_somf_TDequeLinkable_somGetClassName(somf_TDequeLinkable *somSelf);
  172. typedef somTP_somf_TDequeLinkable_somGetClassName *somTD_somf_TDequeLinkable_somGetClassName;
  173. typedef long   SOMLINK somTP_somf_TDequeLinkable_somGetSize(somf_TDequeLinkable *somSelf);
  174. typedef somTP_somf_TDequeLinkable_somGetSize *somTD_somf_TDequeLinkable_somGetSize;
  175. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somIsA(somf_TDequeLinkable *somSelf, 
  176.         SOMClass* aClassObj);
  177. typedef somTP_somf_TDequeLinkable_somIsA *somTD_somf_TDequeLinkable_somIsA;
  178. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somIsInstanceOf(somf_TDequeLinkable *somSelf, 
  179.         SOMClass* aClassObj);
  180. typedef somTP_somf_TDequeLinkable_somIsInstanceOf *somTD_somf_TDequeLinkable_somIsInstanceOf;
  181. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somRespondsTo(somf_TDequeLinkable *somSelf, 
  182.         somId mId);
  183. typedef somTP_somf_TDequeLinkable_somRespondsTo *somTD_somf_TDequeLinkable_somRespondsTo;
  184. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somDispatch(somf_TDequeLinkable *somSelf, 
  185.         somToken* retValue, 
  186.         somId methodId, 
  187.         va_list ap);
  188. typedef somTP_somf_TDequeLinkable_somDispatch *somTD_somf_TDequeLinkable_somDispatch;
  189. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somClassDispatch(somf_TDequeLinkable *somSelf, 
  190.         SOMClass* clsObj, 
  191.         somToken* retValue, 
  192.         somId methodId, 
  193.         va_list ap);
  194. typedef somTP_somf_TDequeLinkable_somClassDispatch *somTD_somf_TDequeLinkable_somClassDispatch;
  195. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somCastObj(somf_TDequeLinkable *somSelf, 
  196.         SOMClass* cls);
  197. typedef somTP_somf_TDequeLinkable_somCastObj *somTD_somf_TDequeLinkable_somCastObj;
  198. typedef boolean   SOMLINK somTP_somf_TDequeLinkable_somResetObj(somf_TDequeLinkable *somSelf);
  199. typedef somTP_somf_TDequeLinkable_somResetObj *somTD_somf_TDequeLinkable_somResetObj;
  200. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDispatchV(somf_TDequeLinkable *somSelf, 
  201.         somId methodId, 
  202.         somId descriptor, 
  203.         va_list ap);
  204. typedef somTP_somf_TDequeLinkable_somDispatchV *somTD_somf_TDequeLinkable_somDispatchV;
  205. typedef long   SOMLINK somTP_somf_TDequeLinkable_somDispatchL(somf_TDequeLinkable *somSelf, 
  206.         somId methodId, 
  207.         somId descriptor, 
  208.         va_list ap);
  209. typedef somTP_somf_TDequeLinkable_somDispatchL *somTD_somf_TDequeLinkable_somDispatchL;
  210. typedef void*   SOMLINK somTP_somf_TDequeLinkable_somDispatchA(somf_TDequeLinkable *somSelf, 
  211.         somId methodId, 
  212.         somId descriptor, 
  213.         va_list ap);
  214. typedef somTP_somf_TDequeLinkable_somDispatchA *somTD_somf_TDequeLinkable_somDispatchA;
  215. typedef double   SOMLINK somTP_somf_TDequeLinkable_somDispatchD(somf_TDequeLinkable *somSelf, 
  216.         somId methodId, 
  217.         somId descriptor, 
  218.         va_list ap);
  219. typedef somTP_somf_TDequeLinkable_somDispatchD *somTD_somf_TDequeLinkable_somDispatchD;
  220. typedef SOMObject*   SOMLINK somTP_somf_TDequeLinkable_somPrintSelf(somf_TDequeLinkable *somSelf);
  221. typedef somTP_somf_TDequeLinkable_somPrintSelf *somTD_somf_TDequeLinkable_somPrintSelf;
  222. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDumpSelf(somf_TDequeLinkable *somSelf, 
  223.         long level);
  224. typedef somTP_somf_TDequeLinkable_somDumpSelf *somTD_somf_TDequeLinkable_somDumpSelf;
  225. typedef void   SOMLINK somTP_somf_TDequeLinkable_somDumpSelfInt(somf_TDequeLinkable *somSelf, 
  226.         long level);
  227. typedef somTP_somf_TDequeLinkable_somDumpSelfInt *somTD_somf_TDequeLinkable_somDumpSelfInt;
  228. }
  229.  
  230. #endif /* somf_TDequeLinkable_API */
  231.  
  232.  
  233. /*
  234.  * -- This emitter treats Method Tokens as Thunks by default.
  235.  * -- Use the sc modifier "nothunks" to change this default
  236.  */
  237. #undef somresolve_
  238. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  239.  
  240. /*
  241.  * -- The C++ Wrapper Class for somf_TDequeLinkable
  242.  */
  243. class somf_TDequeLinkable : public somf_MLinkable
  244. {
  245. public:
  246.  
  247. // somf_TDequeLinkable::new creates the class object if necessary, and then uses somNewNoInit
  248. // to allocate memory and create the object. Initialization is in ctors.
  249. void *operator new(size_t)
  250. {
  251.    if (!_somf_TDequeLinkable) somf_TDequeLinkableNewClass(somf_TDequeLinkable_MajorVersion,somf_TDequeLinkable_MinorVersion);
  252.    return (void*)
  253.       SOM_Resolve(_somf_TDequeLinkable,SOMClass,somNewNoInit)
  254.          ((SOMClass *)((void*)_somf_TDequeLinkable));
  255. }
  256.  
  257. // somf_TDequeLinkable::delete uses somDestruct.
  258. void operator delete(void * obj)
  259. {
  260.    if (obj && *(void**)obj) {
  261.       SOM_Resolve(obj,SOMObject,somFree)
  262.          ((SOMObject*)obj);
  263.    }
  264. }
  265.  
  266. somf_TDequeLinkable& operator=(somf_TDequeLinkable& fromObj)
  267. {
  268.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  269.    return *this;
  270. }
  271.  
  272. somf_TDequeLinkable()
  273. {
  274.    if (*(void**)this != 
  275.        ((somParentMtabStructPtr)
  276.         (somf_TDequeLinkableCClassData.parentMtab))->mtab)
  277.       return;
  278.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  279. }
  280.  
  281. somf_TDequeLinkable(somf_TDequeLinkable* fromObj)
  282. {
  283.    if (*(void**)this != 
  284.        ((somParentMtabStructPtr)
  285.         (somf_TDequeLinkableCClassData.parentMtab))->mtab)
  286.       return;
  287.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  288. }
  289.  
  290. #ifdef __IBMCPP__
  291. #pragma info(nocnv,nopar)
  292. #endif
  293. somf_TDequeLinkable(const somf_TDequeLinkable* fromObj)
  294. {
  295.    if (*(void**)this != 
  296.        ((somParentMtabStructPtr)
  297.         (somf_TDequeLinkableCClassData.parentMtab))->mtab)
  298.       return;
  299.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  300. }
  301. #ifdef __IBMCPP__
  302. #pragma info(restore)
  303. #endif
  304.  
  305.  
  306. /* method: somfTDequeLinkableInitDDM */
  307. somf_TDequeLinkable*   somfTDequeLinkableInitDDM(Environment *ev, 
  308.         somf_TDequeLinkable* previous, 
  309.         somf_TDequeLinkable* next, 
  310.         somf_MCollectible* v)
  311. {
  312. /*
  313.  *  This method initializes the somf_TDequeLinkable object.
  314.  */
  315.    return SOM_ResolveD(this,somf_TDequeLinkable,somf_TDequeLinkable,somfTDequeLinkableInitDDM)
  316.     (this, ev,previous,next,v);
  317. }
  318.  
  319.  
  320. /* method: somfTDequeLinkableInitDD */
  321. somf_TDequeLinkable*   somfTDequeLinkableInitDD(Environment *ev, 
  322.         somf_TDequeLinkable* previous, 
  323.         somf_TDequeLinkable* next)
  324. {
  325. /*
  326.  *  This method initializes the somf_TDequeLinkable object.
  327.  */
  328.    return SOM_ResolveD(this,somf_TDequeLinkable,somf_TDequeLinkable,somfTDequeLinkableInitDD)
  329.     (this, ev,previous,next);
  330. }
  331.  
  332.  
  333. /* method: somfGetValue */
  334. somf_MCollectible*   somfGetValue(Environment *ev)
  335. {
  336. /*
  337.  *  This method gets the value of the somf_TDequeLinkable.
  338.  */
  339.    return SOM_ResolveD(this,somf_TDequeLinkable,somf_TDequeLinkable,somfGetValue)
  340.     (this, ev);
  341. }
  342.  
  343.  
  344. /* method: somfSetValue */
  345. void   somfSetValue(Environment *ev, 
  346.         somf_MCollectible* v)
  347. {
  348. /*
  349.  *  This method sets the value of the somf_TDequeLinkable.
  350.  */
  351.    SOM_ResolveD(this,somf_TDequeLinkable,somf_TDequeLinkable,somfSetValue)
  352.     (this, ev,v);
  353. }
  354.  
  355.  
  356. /*
  357.  * Reintroduce inherited methods
  358.  */
  359.  
  360. /* method: somfMLinkableInit */
  361. somf_MLinkable*   somfMLinkableInit(Environment *ev, 
  362.         somf_MLinkable* n, 
  363.         somf_MLinkable* p)
  364. {
  365. /*
  366.  *  This method initialized the somf_MLinkable object using n and p.
  367.  */
  368.    return SOM_ResolveD(this,somf_TDequeLinkable,somf_MLinkable,somfMLinkableInit)
  369.     (this, ev,n,p);
  370. }
  371.  
  372.  
  373. /* method: somfGetNext */
  374. somf_MLinkable*   somfGetNext(Environment *ev)
  375. {
  376. /*
  377.  *  This method returns a pointer to the next somf_MLinkable.
  378.  */
  379.    return SOM_ResolveD(this,somf_TDequeLinkable,somf_MLinkable,somfGetNext)
  380.     (this, ev);
  381. }
  382.  
  383.  
  384. /* method: somfSetNext */
  385. void   somfSetNext(Environment *ev, 
  386.         somf_MLinkable* aLink)
  387. {
  388. /*
  389.  *  This method sets the pointer to the next somf_MLinkable.
  390.  */
  391.    SOM_ResolveD(this,somf_TDequeLinkable,somf_MLinkable,somfSetNext)
  392.     (this, ev,aLink);
  393. }
  394.  
  395.  
  396. /* method: somfGetPrevious */
  397. somf_MLinkable*   somfGetPrevious(Environment *ev)
  398. {
  399. /*
  400.  *  This method returns a pointer to the previous somf_MLinkable.
  401.  */
  402.    return SOM_ResolveD(this,somf_TDequeLinkable,somf_MLinkable,somfGetPrevious)
  403.     (this, ev);
  404. }
  405.  
  406.  
  407. /* method: somfSetPrevious */
  408. void   somfSetPrevious(Environment *ev, 
  409.         somf_MLinkable* aLink)
  410. {
  411. /*
  412.  *  This method sets the pointer to the previous somf_MLinkable.
  413.  */
  414.    SOM_ResolveD(this,somf_TDequeLinkable,somf_MLinkable,somfSetPrevious)
  415.     (this, ev,aLink);
  416. }
  417.  
  418.  
  419. /* method: somInit */
  420. void   somInit()
  421. {
  422.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somInit)
  423.     (this);
  424. }
  425.  
  426.  
  427. /* initializer method: somDefaultInit */
  428. void   somDefaultInit(som3InitCtrl* ctrl)
  429. {
  430. /*
  431.  *  A default initializer for a SOM object. Passing a null ctrl
  432.  *  indicates to the receiver that its class is the class of the
  433.  *  object being initialized, whereby the initializer will determine
  434.  *  an appropriate control structure.
  435.  */
  436.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultInit)
  437.     (this,ctrl);
  438. }
  439.  
  440.  
  441. /* method: somDestruct */
  442. void   somDestruct(octet doFree, 
  443.         som3DestructCtrl* ctrl)
  444. {
  445. /*
  446.  *  The default destructor for a SOM object. A nonzero <doFree>
  447.  *  indicates that the object storage should be freed by the
  448.  *  object's class (via somDeallocate) after uninitialization.
  449.  *  As with somDefaultInit, a null ctrl can be passed.
  450.  */
  451.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDestruct)
  452.     (this,doFree,ctrl);
  453. }
  454.  
  455.  
  456. /* initializer method: somDefaultCopyInit */
  457. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  458.         SOMObject* fromObj)
  459. {
  460. /*
  461.  *  A default copy constructor. Use this to make copies of objects for
  462.  *  calling methods with "by-value" argument semantics.
  463.  */
  464.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultCopyInit)
  465.     (this,ctrl,fromObj);
  466. }
  467.  
  468.  
  469. /* method: somDefaultAssign */
  470. somf_TDequeLinkable*  somDefaultAssign(som3AssignCtrl* ctrl, 
  471.         SOMObject* fromObj)
  472. {
  473. /*
  474.  *  A default assignment operator. Use this to "assign" the state of one
  475.  *  object to another.
  476.  */
  477.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultAssign)
  478.     (this,ctrl,fromObj);
  479. }
  480.  
  481.  
  482. /* initializer method: somDefaultConstCopyInit */
  483. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  484.         SOMObject* fromObj)
  485. {
  486. /*
  487.  *  A default copy constructor that uses a const fromObj.
  488.  */
  489.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultConstCopyInit)
  490.     (this,ctrl,fromObj);
  491. }
  492.  
  493.  
  494. /* initializer method: somDefaultVCopyInit */
  495. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  496.         SOMObject* fromObj)
  497. {
  498. /*
  499.  *  A default copy constructor that uses a volatile fromObj.
  500.  */
  501.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultVCopyInit)
  502.     (this,ctrl,fromObj);
  503. }
  504.  
  505.  
  506. /* initializer method: somDefaultConstVCopyInit */
  507. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  508.         SOMObject* fromObj)
  509. {
  510. /*
  511.  *  A default copy constructor that uses a const volatile fromObj.
  512.  */
  513.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultConstVCopyInit)
  514.     (this,ctrl,fromObj);
  515. }
  516.  
  517.  
  518. /* method: somDefaultConstAssign */
  519. somf_TDequeLinkable*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  520.         SOMObject* fromObj)
  521. {
  522. /*
  523.  *  A default assignment operator that uses a const fromObj.
  524.  */
  525.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultConstAssign)
  526.     (this,ctrl,fromObj);
  527. }
  528.  
  529.  
  530. /* method: somDefaultVAssign */
  531. somf_TDequeLinkable*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  532.         SOMObject* fromObj)
  533. {
  534. /*
  535.  *  A default assignment operator that uses a volatile fromObj.
  536.  */
  537.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultVAssign)
  538.     (this,ctrl,fromObj);
  539. }
  540.  
  541.  
  542. /* method: somDefaultConstVAssign */
  543. somf_TDequeLinkable*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  544.         SOMObject* fromObj)
  545. {
  546. /*
  547.  *  A default assignment operator that uses a const volatile fromObj.
  548.  */
  549.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDefaultConstVAssign)
  550.     (this,ctrl,fromObj);
  551. }
  552.  
  553.  
  554. /* method: somFree */
  555. void   somFree()
  556. {
  557. /*
  558.  *  Use as directed by framework implementations.
  559.  */
  560.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somFree)
  561.     (this);
  562. }
  563.  
  564.  
  565. /* method: somUninit */
  566. void   somUninit()
  567. {
  568. /*
  569.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  570.  */
  571.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somUninit)
  572.     (this);
  573. }
  574.  
  575.  
  576. /* method: somGetClass */
  577. SOMClass*   somGetClass()
  578. {
  579. /*
  580.  *  Return the receiver's class.
  581.  */
  582.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somGetClass)
  583.     (this);
  584. }
  585.  
  586.  
  587. /* method: somGetClassName */
  588. string   somGetClassName()
  589. {
  590. /*
  591.  *  Return the name of the receiver's class.
  592.  */
  593.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somGetClassName)
  594.     (this);
  595. }
  596.  
  597.  
  598. /* method: somGetSize */
  599. long   somGetSize()
  600. {
  601. /*
  602.  *  Return the size of the receiver.
  603.  */
  604.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somGetSize)
  605.     (this);
  606. }
  607.  
  608.  
  609. /* method: somIsA */
  610. boolean   somIsA(SOMClass* aClassObj)
  611. {
  612. /*
  613.  *  Returns 1 (true) if the receiver responds to methods
  614.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  615.  */
  616.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somIsA)
  617.     (this,aClassObj);
  618. }
  619.  
  620.  
  621. /* method: somIsInstanceOf */
  622. boolean   somIsInstanceOf(SOMClass* aClassObj)
  623. {
  624. /*
  625.  *  Returns 1 (true) if the receiver is an instance of
  626.  *  <aClassObj> and 0 (false) otherwise.
  627.  */
  628.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somIsInstanceOf)
  629.     (this,aClassObj);
  630. }
  631.  
  632.  
  633. /* method: somRespondsTo */
  634. boolean   somRespondsTo(somId mId)
  635. {
  636. /*
  637.  *  Returns 1 (true) if the indicated method can be invoked
  638.  *  on the receiver and 0 (false) otherwise.
  639.  */
  640.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somRespondsTo)
  641.     (this,mId);
  642. }
  643.  
  644.  
  645. /* va_list method: somDispatch */
  646.  
  647. /*
  648.  *  This method provides a generic, class-specific dispatch mechanism.
  649.  *  It accepts as input <retValue> a pointer to the memory area to be
  650.  *  loaded with the result of dispatching the method indicated by
  651.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  652.  *  on which the method is to be invoked as the first argument.
  653.  */
  654. /* the va_list invocation form */
  655. boolean   somf_TDequeLinkable_somDispatch(somToken* retValue, 
  656.         somId methodId, 
  657.         va_list ap)
  658. {return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatch)
  659.     (this,retValue,methodId,ap);
  660. }
  661.  
  662. /* the varargs invocation form */
  663. boolean   somDispatch(somToken* retValue, 
  664.         somId methodId, 
  665.         ...)
  666. {
  667. /*
  668.  *  This method provides a generic, class-specific dispatch mechanism.
  669.  *  It accepts as input <retValue> a pointer to the memory area to be
  670.  *  loaded with the result of dispatching the method indicated by
  671.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  672.  *  on which the method is to be invoked as the first argument.
  673.  */
  674.    va_list ap;
  675.    va_start(ap, methodId);
  676.    boolean __somResult = 
  677.       SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatch)
  678.     (this,retValue,methodId,ap);
  679.    va_end(ap);
  680.    return __somResult;
  681. }
  682.  
  683.  
  684. /* va_list method: somClassDispatch */
  685.  
  686. /*
  687.  *  Like somDispatch, but method resolution for static methods is done
  688.  *  according to the clsObj instance method table.
  689.  */
  690. /* the va_list invocation form */
  691. boolean   somf_TDequeLinkable_somClassDispatch(SOMClass* clsObj, 
  692.         somToken* retValue, 
  693.         somId methodId, 
  694.         va_list ap)
  695. {return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somClassDispatch)
  696.     (this,clsObj,retValue,methodId,ap);
  697. }
  698.  
  699. /* the varargs invocation form */
  700. boolean   somClassDispatch(SOMClass* clsObj, 
  701.         somToken* retValue, 
  702.         somId methodId, 
  703.         ...)
  704. {
  705. /*
  706.  *  Like somDispatch, but method resolution for static methods is done
  707.  *  according to the clsObj instance method table.
  708.  */
  709.    va_list ap;
  710.    va_start(ap, methodId);
  711.    boolean __somResult = 
  712.       SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somClassDispatch)
  713.     (this,clsObj,retValue,methodId,ap);
  714.    va_end(ap);
  715.    return __somResult;
  716. }
  717.  
  718.  
  719. /* method: somCastObj */
  720. boolean   somCastObj(SOMClass* cls)
  721. {
  722. /*
  723.  *  cast the receiving object to cls (which must be an ancestor of the
  724.  *  objects true class. Returns true on success.
  725.  */
  726.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somCastObj)
  727.     (this,cls);
  728. }
  729.  
  730.  
  731. /* method: somResetObj */
  732. boolean   somResetObj()
  733. {
  734. /*
  735.  *  reset an object to its true class. Returns true always.
  736.  */
  737.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somResetObj)
  738.     (this);
  739. }
  740.  
  741.  
  742. /* va_list method: somDispatchV */
  743.  
  744. /*
  745.  *  Obsolete. Use somDispatch instead.
  746.  */
  747. /* the va_list invocation form */
  748. void   somf_TDequeLinkable_somDispatchV(somId methodId, 
  749.         somId descriptor, 
  750.         va_list ap)
  751. {   SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchV)
  752.     (this,methodId,descriptor,ap);
  753. }
  754.  
  755. /* the varargs invocation form */
  756. void   somDispatchV(somId methodId, 
  757.         somId descriptor, 
  758.         ...)
  759. {
  760. /*
  761.  *  Obsolete. Use somDispatch instead.
  762.  */
  763.    va_list ap;
  764.    va_start(ap, descriptor);
  765.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchV)
  766.     (this,methodId,descriptor,ap);
  767.    va_end(ap);
  768. }
  769.  
  770.  
  771. /* va_list method: somDispatchL */
  772.  
  773. /*
  774.  *  Obsolete. Use somDispatch instead.
  775.  */
  776. /* the va_list invocation form */
  777. long   somf_TDequeLinkable_somDispatchL(somId methodId, 
  778.         somId descriptor, 
  779.         va_list ap)
  780. {return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchL)
  781.     (this,methodId,descriptor,ap);
  782. }
  783.  
  784. /* the varargs invocation form */
  785. long   somDispatchL(somId methodId, 
  786.         somId descriptor, 
  787.         ...)
  788. {
  789. /*
  790.  *  Obsolete. Use somDispatch instead.
  791.  */
  792.    va_list ap;
  793.    va_start(ap, descriptor);
  794.    long __somResult = 
  795.       SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchL)
  796.     (this,methodId,descriptor,ap);
  797.    va_end(ap);
  798.    return __somResult;
  799. }
  800.  
  801.  
  802. /* va_list method: somDispatchA */
  803.  
  804. /*
  805.  *  Obsolete. Use somDispatch instead.
  806.  */
  807. /* the va_list invocation form */
  808. void*   somf_TDequeLinkable_somDispatchA(somId methodId, 
  809.         somId descriptor, 
  810.         va_list ap)
  811. {return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchA)
  812.     (this,methodId,descriptor,ap);
  813. }
  814.  
  815. /* the varargs invocation form */
  816. void*   somDispatchA(somId methodId, 
  817.         somId descriptor, 
  818.         ...)
  819. {
  820. /*
  821.  *  Obsolete. Use somDispatch instead.
  822.  */
  823.    va_list ap;
  824.    va_start(ap, descriptor);
  825.    void* __somResult = 
  826.       SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchA)
  827.     (this,methodId,descriptor,ap);
  828.    va_end(ap);
  829.    return __somResult;
  830. }
  831.  
  832.  
  833. /* va_list method: somDispatchD */
  834.  
  835. /*
  836.  *  Obsolete. Use somDispatch instead.
  837.  */
  838. /* the va_list invocation form */
  839. double   somf_TDequeLinkable_somDispatchD(somId methodId, 
  840.         somId descriptor, 
  841.         va_list ap)
  842. {return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchD)
  843.     (this,methodId,descriptor,ap);
  844. }
  845.  
  846. /* the varargs invocation form */
  847. double   somDispatchD(somId methodId, 
  848.         somId descriptor, 
  849.         ...)
  850. {
  851. /*
  852.  *  Obsolete. Use somDispatch instead.
  853.  */
  854.    va_list ap;
  855.    va_start(ap, descriptor);
  856.    double __somResult = 
  857.       SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDispatchD)
  858.     (this,methodId,descriptor,ap);
  859.    va_end(ap);
  860.    return __somResult;
  861. }
  862.  
  863.  
  864. /* method: somPrintSelf */
  865. SOMObject*   somPrintSelf()
  866. {
  867. /*
  868.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  869.  *  information about this object.  The default implementation just gives
  870.  *  the object's class name and its address in memory.
  871.  *  <self> is returned.
  872.  */
  873.    return SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somPrintSelf)
  874.     (this);
  875. }
  876.  
  877.  
  878. /* method: somDumpSelf */
  879. void   somDumpSelf(long level)
  880. {
  881. /*
  882.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  883.  *  and its current state.
  884.  * 
  885.  *  <level> indicates the nesting level for describing compound objects
  886.  *  it must be greater than or equal to zero.  All lines in the
  887.  *  description will be preceeded by <2*level> spaces.
  888.  * 
  889.  *  This routine only actually writes the data that concerns the object
  890.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  891.  *  the object's current state.  This approach allows readable
  892.  *  descriptions of compound objects to be constructed.
  893.  * 
  894.  *  Generally it is not necessary to override this method, if it is
  895.  *  overriden it generally must be completely replaced.
  896.  */
  897.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDumpSelf)
  898.     (this,level);
  899. }
  900.  
  901.  
  902. /* method: somDumpSelfInt */
  903. void   somDumpSelfInt(long level)
  904. {
  905. /*
  906.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  907.  *  Generally this method will need to be overridden.  When overriding
  908.  *  it, begin by calling the parent class form of this method and then
  909.  *  write in a description of your class's instance data. This will
  910.  *  result in a description of all the object's instance data going
  911.  *  from its root ancestor class to its specific class.
  912.  */
  913.    SOM_ResolveD(this,somf_TDequeLinkable,SOMObject,somDumpSelfInt)
  914.     (this,level);
  915. }
  916.  
  917.  
  918.  
  919. };   /* somf_TDequeLinkable */
  920.  
  921.  
  922.  
  923. #endif       /* SOM_somf_TDequeLinkable_xh */
  924.