home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / UNDO.XH < prev    next >
Text File  |  1997-02-28  |  25KB  |  921 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: F:\build\os2\ship\include\Undo.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ODUndo_xh
  11. #define SOM_ODUndo_xh
  12.  
  13. class ODUndo;
  14.  
  15. #define ODUndo_MajorVersion 1
  16. #define ODUndo_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_ODObject_xh
  24. #include <ODObject.xh>
  25. #endif
  26.  
  27. #ifndef ODUndo_API
  28. #define ODUndo_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of bindings for IDL types
  35.  */
  36.  
  37. class SOMClass;
  38. class SOMObject;
  39. class ODFrame;
  40. class ODFacet;
  41. class ODPlatformCanvas;
  42. class ODObject;
  43. class ODExtension;
  44. class ODUndo;
  45. class ODPart;
  46.  
  47. /*
  48.  * End of bindings for IDL types.
  49.  */
  50.  
  51. /* A procedure to create the ODUndo Class */
  52. SOMEXTERN SOMClass * SOMLINK ODUndoNewClass(
  53.         integer4 majorVersion,
  54.         integer4 minorVersion);
  55.  
  56. /* The API to the ODUndo class object, and the methods it introduces. */
  57. SOMEXTERN struct ODUndoClassDataStructure {
  58.     SOMClass *classObject;
  59.     somMToken InitUndo;
  60.     somMToken AddActionToHistory;
  61.     somMToken Undo;
  62.     somMToken Redo;
  63.     somMToken MarkActionHistory;
  64.     somMToken ClearActionHistory;
  65.     somMToken ClearRedoHistory;
  66.     somMToken PeekUndoHistory;
  67.     somMToken PeekRedoHistory;
  68.     somMToken AbortCurrentTransaction;
  69. } SOMDLINK ODUndoClassData;
  70. #define _ODUndo ODUndoClassData.classObject
  71.  
  72. /* The API to parentMtabs for ODUndo, and the instance data it introduces. */
  73. SOMEXTERN struct ODUndoCClassDataStructure {
  74.     somMethodTabs parentMtab;
  75.     somDToken              instanceDataToken;
  76. } SOMDLINK ODUndoCClassData;
  77.  
  78. /*
  79.  * -- Typedefs for ODUndo Method Procedures
  80.  */
  81. SOMEXTERN {
  82. typedef void   SOMLINK somTP_ODUndo_AddActionToHistory(ODUndo *somSelf, Environment *ev, 
  83.         ODPart* whichPart, 
  84.         ODActionData* actionData, 
  85.         ODActionType actionType, 
  86.         ODName* undoActionLabel, 
  87.         ODName* redoActionLabel);
  88. typedef somTP_ODUndo_AddActionToHistory *somTD_ODUndo_AddActionToHistory;
  89. typedef void   SOMLINK somTP_ODUndo_Undo(ODUndo *somSelf, Environment *ev);
  90. typedef somTP_ODUndo_Undo *somTD_ODUndo_Undo;
  91. typedef void   SOMLINK somTP_ODUndo_Redo(ODUndo *somSelf, Environment *ev);
  92. typedef somTP_ODUndo_Redo *somTD_ODUndo_Redo;
  93. typedef void   SOMLINK somTP_ODUndo_MarkActionHistory(ODUndo *somSelf, Environment *ev);
  94. typedef somTP_ODUndo_MarkActionHistory *somTD_ODUndo_MarkActionHistory;
  95. typedef void   SOMLINK somTP_ODUndo_ClearActionHistory(ODUndo *somSelf, Environment *ev, 
  96.         ODRespectMarksChoices respectMarks);
  97. typedef somTP_ODUndo_ClearActionHistory *somTD_ODUndo_ClearActionHistory;
  98. typedef void   SOMLINK somTP_ODUndo_ClearRedoHistory(ODUndo *somSelf, Environment *ev);
  99. typedef somTP_ODUndo_ClearRedoHistory *somTD_ODUndo_ClearRedoHistory;
  100. typedef ODBoolean   SOMLINK somTP_ODUndo_PeekUndoHistory(ODUndo *somSelf, Environment *ev, 
  101.         ODPart** part, 
  102.         ODActionData* actionData, 
  103.         ODActionType* actionType, 
  104.         ODName* actionLabel);
  105. typedef somTP_ODUndo_PeekUndoHistory *somTD_ODUndo_PeekUndoHistory;
  106. typedef ODBoolean   SOMLINK somTP_ODUndo_PeekRedoHistory(ODUndo *somSelf, Environment *ev, 
  107.         ODPart** part, 
  108.         ODActionData* actionData, 
  109.         ODActionType* actionType, 
  110.         ODName* actionLabel);
  111. typedef somTP_ODUndo_PeekRedoHistory *somTD_ODUndo_PeekRedoHistory;
  112. typedef void   SOMLINK somTP_ODUndo_AbortCurrentTransaction(ODUndo *somSelf, Environment *ev);
  113. typedef somTP_ODUndo_AbortCurrentTransaction *somTD_ODUndo_AbortCurrentTransaction;
  114.  
  115. /*
  116.  * -- Typedefs for Reintroduced Wrapper Methods
  117.  */
  118. typedef void   SOMLINK somTP_ODUndo_InitObject(ODUndo *somSelf, Environment *ev);
  119. typedef somTP_ODUndo_InitObject *somTD_ODUndo_InitObject;
  120. typedef ODBoolean   SOMLINK somTP_ODUndo_HasExtension(ODUndo *somSelf, Environment *ev, 
  121.         ODType extensionName);
  122. typedef somTP_ODUndo_HasExtension *somTD_ODUndo_HasExtension;
  123. typedef ODExtension*   SOMLINK somTP_ODUndo_AcquireExtension(ODUndo *somSelf, Environment *ev, 
  124.         ODType extensionName);
  125. typedef somTP_ODUndo_AcquireExtension *somTD_ODUndo_AcquireExtension;
  126. typedef void   SOMLINK somTP_ODUndo_ReleaseExtension(ODUndo *somSelf, Environment *ev, 
  127.         ODExtension* extension);
  128. typedef somTP_ODUndo_ReleaseExtension *somTD_ODUndo_ReleaseExtension;
  129. typedef ODSize   SOMLINK somTP_ODUndo_Purge(ODUndo *somSelf, Environment *ev, 
  130.         ODSize size);
  131. typedef somTP_ODUndo_Purge *somTD_ODUndo_Purge;
  132. typedef ODBoolean   SOMLINK somTP_ODUndo_IsEqualTo(ODUndo *somSelf, Environment *ev, 
  133.         ODObject* object);
  134. typedef somTP_ODUndo_IsEqualTo *somTD_ODUndo_IsEqualTo;
  135. typedef void   SOMLINK somTP_ODUndo_SubClassResponsibility(ODUndo *somSelf, Environment *ev);
  136. typedef somTP_ODUndo_SubClassResponsibility *somTD_ODUndo_SubClassResponsibility;
  137. typedef void   SOMLINK somTP_ODUndo_somInit(ODUndo *somSelf);
  138. typedef somTP_ODUndo_somInit *somTD_ODUndo_somInit;
  139. typedef void   SOMLINK somTP_ODUndo_somUninit(ODUndo *somSelf);
  140. typedef somTP_ODUndo_somUninit *somTD_ODUndo_somUninit;
  141. typedef void   SOMLINK somTP_ODUndo_somDefaultInit(ODUndo *somSelf, 
  142.         som3InitCtrl* ctrl);
  143. typedef somTP_ODUndo_somDefaultInit *somTD_ODUndo_somDefaultInit;
  144. typedef void   SOMLINK somTP_ODUndo_somDestruct(ODUndo *somSelf, 
  145.         octet doFree, 
  146.         som3DestructCtrl* ctrl);
  147. typedef somTP_ODUndo_somDestruct *somTD_ODUndo_somDestruct;
  148. typedef void   SOMLINK somTP_ODUndo_somDefaultCopyInit(ODUndo *somSelf, 
  149.         som3InitCtrl* ctrl, 
  150.         SOMObject* fromObj);
  151. typedef somTP_ODUndo_somDefaultCopyInit *somTD_ODUndo_somDefaultCopyInit;
  152. typedef ODUndo*   SOMLINK somTP_ODUndo_somDefaultAssign(ODUndo *somSelf, 
  153.         som3AssignCtrl* ctrl, 
  154.         SOMObject* fromObj);
  155. typedef somTP_ODUndo_somDefaultAssign *somTD_ODUndo_somDefaultAssign;
  156. typedef void   SOMLINK somTP_ODUndo_somDefaultConstCopyInit(ODUndo *somSelf, 
  157.         som3InitCtrl* ctrl, 
  158.         SOMObject* fromObj);
  159. typedef somTP_ODUndo_somDefaultConstCopyInit *somTD_ODUndo_somDefaultConstCopyInit;
  160. typedef void   SOMLINK somTP_ODUndo_somDefaultVCopyInit(ODUndo *somSelf, 
  161.         som3InitCtrl* ctrl, 
  162.         SOMObject* fromObj);
  163. typedef somTP_ODUndo_somDefaultVCopyInit *somTD_ODUndo_somDefaultVCopyInit;
  164. typedef void   SOMLINK somTP_ODUndo_somDefaultConstVCopyInit(ODUndo *somSelf, 
  165.         som3InitCtrl* ctrl, 
  166.         SOMObject* fromObj);
  167. typedef somTP_ODUndo_somDefaultConstVCopyInit *somTD_ODUndo_somDefaultConstVCopyInit;
  168. typedef ODUndo*   SOMLINK somTP_ODUndo_somDefaultConstAssign(ODUndo *somSelf, 
  169.         som3AssignCtrl* ctrl, 
  170.         SOMObject* fromObj);
  171. typedef somTP_ODUndo_somDefaultConstAssign *somTD_ODUndo_somDefaultConstAssign;
  172. typedef ODUndo*   SOMLINK somTP_ODUndo_somDefaultVAssign(ODUndo *somSelf, 
  173.         som3AssignCtrl* ctrl, 
  174.         SOMObject* fromObj);
  175. typedef somTP_ODUndo_somDefaultVAssign *somTD_ODUndo_somDefaultVAssign;
  176. typedef ODUndo*   SOMLINK somTP_ODUndo_somDefaultConstVAssign(ODUndo *somSelf, 
  177.         som3AssignCtrl* ctrl, 
  178.         SOMObject* fromObj);
  179. typedef somTP_ODUndo_somDefaultConstVAssign *somTD_ODUndo_somDefaultConstVAssign;
  180. typedef void   SOMLINK somTP_ODUndo_somFree(ODUndo *somSelf);
  181. typedef somTP_ODUndo_somFree *somTD_ODUndo_somFree;
  182. typedef SOMClass*   SOMLINK somTP_ODUndo_somGetClass(ODUndo *somSelf);
  183. typedef somTP_ODUndo_somGetClass *somTD_ODUndo_somGetClass;
  184. typedef string   SOMLINK somTP_ODUndo_somGetClassName(ODUndo *somSelf);
  185. typedef somTP_ODUndo_somGetClassName *somTD_ODUndo_somGetClassName;
  186. typedef long   SOMLINK somTP_ODUndo_somGetSize(ODUndo *somSelf);
  187. typedef somTP_ODUndo_somGetSize *somTD_ODUndo_somGetSize;
  188. typedef boolean   SOMLINK somTP_ODUndo_somIsA(ODUndo *somSelf, 
  189.         SOMClass* aClassObj);
  190. typedef somTP_ODUndo_somIsA *somTD_ODUndo_somIsA;
  191. typedef boolean   SOMLINK somTP_ODUndo_somIsInstanceOf(ODUndo *somSelf, 
  192.         SOMClass* aClassObj);
  193. typedef somTP_ODUndo_somIsInstanceOf *somTD_ODUndo_somIsInstanceOf;
  194. typedef boolean   SOMLINK somTP_ODUndo_somRespondsTo(ODUndo *somSelf, 
  195.         somId mId);
  196. typedef somTP_ODUndo_somRespondsTo *somTD_ODUndo_somRespondsTo;
  197. typedef boolean   SOMLINK somTP_ODUndo_somDispatch(ODUndo *somSelf, 
  198.         somToken* retValue, 
  199.         somId methodId, 
  200.         va_list ap);
  201. typedef somTP_ODUndo_somDispatch *somTD_ODUndo_somDispatch;
  202. typedef boolean   SOMLINK somTP_ODUndo_somClassDispatch(ODUndo *somSelf, 
  203.         SOMClass* clsObj, 
  204.         somToken* retValue, 
  205.         somId methodId, 
  206.         va_list ap);
  207. typedef somTP_ODUndo_somClassDispatch *somTD_ODUndo_somClassDispatch;
  208. typedef boolean   SOMLINK somTP_ODUndo_somCastObj(ODUndo *somSelf, 
  209.         SOMClass* cls);
  210. typedef somTP_ODUndo_somCastObj *somTD_ODUndo_somCastObj;
  211. typedef boolean   SOMLINK somTP_ODUndo_somResetObj(ODUndo *somSelf);
  212. typedef somTP_ODUndo_somResetObj *somTD_ODUndo_somResetObj;
  213. typedef void   SOMLINK somTP_ODUndo_somDispatchV(ODUndo *somSelf, 
  214.         somId methodId, 
  215.         somId descriptor, 
  216.         va_list ap);
  217. typedef somTP_ODUndo_somDispatchV *somTD_ODUndo_somDispatchV;
  218. typedef long   SOMLINK somTP_ODUndo_somDispatchL(ODUndo *somSelf, 
  219.         somId methodId, 
  220.         somId descriptor, 
  221.         va_list ap);
  222. typedef somTP_ODUndo_somDispatchL *somTD_ODUndo_somDispatchL;
  223. typedef void*   SOMLINK somTP_ODUndo_somDispatchA(ODUndo *somSelf, 
  224.         somId methodId, 
  225.         somId descriptor, 
  226.         va_list ap);
  227. typedef somTP_ODUndo_somDispatchA *somTD_ODUndo_somDispatchA;
  228. typedef double   SOMLINK somTP_ODUndo_somDispatchD(ODUndo *somSelf, 
  229.         somId methodId, 
  230.         somId descriptor, 
  231.         va_list ap);
  232. typedef somTP_ODUndo_somDispatchD *somTD_ODUndo_somDispatchD;
  233. typedef SOMObject*   SOMLINK somTP_ODUndo_somPrintSelf(ODUndo *somSelf);
  234. typedef somTP_ODUndo_somPrintSelf *somTD_ODUndo_somPrintSelf;
  235. typedef void   SOMLINK somTP_ODUndo_somDumpSelf(ODUndo *somSelf, 
  236.         long level);
  237. typedef somTP_ODUndo_somDumpSelf *somTD_ODUndo_somDumpSelf;
  238. typedef void   SOMLINK somTP_ODUndo_somDumpSelfInt(ODUndo *somSelf, 
  239.         long level);
  240. typedef somTP_ODUndo_somDumpSelfInt *somTD_ODUndo_somDumpSelfInt;
  241. }
  242.  
  243. #endif /* ODUndo_API */
  244.  
  245.  
  246. /*
  247.  * -- This emitter treats Method Tokens as Thunks by default.
  248.  * -- Use the sc modifier "nothunks" to change this default
  249.  */
  250. #undef somresolve_
  251. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  252.  
  253. /*
  254.  * -- The C++ Wrapper Class for ODUndo
  255.  */
  256. class ODUndo : public ODObject
  257. {
  258. public:
  259.  
  260. // ODUndo::new creates the class object if necessary, and then uses somNewNoInit
  261. // to allocate memory and create the object. Initialization is in ctors.
  262. void *operator new(size_t)
  263. {
  264.    if (!_ODUndo) ODUndoNewClass(ODUndo_MajorVersion,ODUndo_MinorVersion);
  265.    return (void*)
  266.       SOM_Resolve(_ODUndo,SOMClass,somNewNoInit)
  267.          ((SOMClass *)((void*)_ODUndo));
  268. }
  269.  
  270. // ODUndo::delete uses somDestruct.
  271. void operator delete(void * obj)
  272. {
  273.    if (obj && *(void**)obj) {
  274.       SOM_Resolve(obj,SOMObject,somFree)
  275.          ((SOMObject*)obj);
  276.    }
  277. }
  278.  
  279. ODUndo& operator=(ODUndo& fromObj)
  280. {
  281.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  282.    return *this;
  283. }
  284.  
  285. ODUndo()
  286. {
  287.    if (*(void**)this != 
  288.        ((somParentMtabStructPtr)
  289.         (ODUndoCClassData.parentMtab))->mtab)
  290.       return;
  291.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  292. }
  293.  
  294. ODUndo(ODUndo* fromObj)
  295. {
  296.    if (*(void**)this != 
  297.        ((somParentMtabStructPtr)
  298.         (ODUndoCClassData.parentMtab))->mtab)
  299.       return;
  300.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  301. }
  302.  
  303. #ifdef __IBMCPP__
  304. #pragma info(nocnv,nopar)
  305. #endif
  306. ODUndo(const ODUndo* fromObj)
  307. {
  308.    if (*(void**)this != 
  309.        ((somParentMtabStructPtr)
  310.         (ODUndoCClassData.parentMtab))->mtab)
  311.       return;
  312.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  313. }
  314. #ifdef __IBMCPP__
  315. #pragma info(restore)
  316. #endif
  317.  
  318.  
  319. /* method: AddActionToHistory */
  320. void   AddActionToHistory(Environment *ev, 
  321.         ODPart* whichPart, 
  322.         ODActionData* actionData, 
  323.         ODActionType actionType, 
  324.         ODName* undoActionLabel, 
  325.         ODName* redoActionLabel)
  326. {
  327.    SOM_ResolveD(this,ODUndo,ODUndo,AddActionToHistory)
  328.     (this, ev,whichPart,actionData,actionType,undoActionLabel,redoActionLabel);
  329. #ifdef SOMCHKEXCEPT
  330.    if ( ev->_major != NO_EXCEPTION )
  331.       SOMCHKEXCEPT;
  332. #endif
  333. }
  334.  
  335.  
  336. /* method: Undo */
  337. void   Undo(Environment *ev)
  338. {
  339.    SOM_ResolveD(this,ODUndo,ODUndo,Undo)
  340.     (this, ev);
  341. #ifdef SOMCHKEXCEPT
  342.    if ( ev->_major != NO_EXCEPTION )
  343.       SOMCHKEXCEPT;
  344. #endif
  345. }
  346.  
  347.  
  348. /* method: Redo */
  349. void   Redo(Environment *ev)
  350. {
  351.    SOM_ResolveD(this,ODUndo,ODUndo,Redo)
  352.     (this, ev);
  353. #ifdef SOMCHKEXCEPT
  354.    if ( ev->_major != NO_EXCEPTION )
  355.       SOMCHKEXCEPT;
  356. #endif
  357. }
  358.  
  359.  
  360. /* method: MarkActionHistory */
  361. void   MarkActionHistory(Environment *ev)
  362. {
  363.    SOM_ResolveD(this,ODUndo,ODUndo,MarkActionHistory)
  364.     (this, ev);
  365. #ifdef SOMCHKEXCEPT
  366.    if ( ev->_major != NO_EXCEPTION )
  367.       SOMCHKEXCEPT;
  368. #endif
  369. }
  370.  
  371.  
  372. /* method: ClearActionHistory */
  373. void   ClearActionHistory(Environment *ev, 
  374.         ODRespectMarksChoices respectMarks)
  375. {
  376.    SOM_ResolveD(this,ODUndo,ODUndo,ClearActionHistory)
  377.     (this, ev,respectMarks);
  378. #ifdef SOMCHKEXCEPT
  379.    if ( ev->_major != NO_EXCEPTION )
  380.       SOMCHKEXCEPT;
  381. #endif
  382. }
  383.  
  384.  
  385. /* method: ClearRedoHistory */
  386. void   ClearRedoHistory(Environment *ev)
  387. {
  388.    SOM_ResolveD(this,ODUndo,ODUndo,ClearRedoHistory)
  389.     (this, ev);
  390. #ifdef SOMCHKEXCEPT
  391.    if ( ev->_major != NO_EXCEPTION )
  392.       SOMCHKEXCEPT;
  393. #endif
  394. }
  395.  
  396.  
  397. /* method: PeekUndoHistory */
  398. ODBoolean   PeekUndoHistory(Environment *ev, 
  399.         ODPart** part, 
  400.         ODActionData* actionData, 
  401.         ODActionType* actionType, 
  402.         ODName* actionLabel)
  403. {
  404. #ifdef SOMCHKEXCEPT
  405.    ODBoolean __somResult = 
  406.       SOM_ResolveD(this,ODUndo,ODUndo,PeekUndoHistory)
  407.     (this, ev,part,actionData,actionType,actionLabel);
  408.    if ( ev->_major != NO_EXCEPTION )
  409.       SOMCHKEXCEPT;
  410.    return __somResult;
  411. #else
  412.    return SOM_ResolveD(this,ODUndo,ODUndo,PeekUndoHistory)
  413.     (this, ev,part,actionData,actionType,actionLabel);
  414. #endif
  415. }
  416.  
  417.  
  418. /* method: PeekRedoHistory */
  419. ODBoolean   PeekRedoHistory(Environment *ev, 
  420.         ODPart** part, 
  421.         ODActionData* actionData, 
  422.         ODActionType* actionType, 
  423.         ODName* actionLabel)
  424. {
  425. #ifdef SOMCHKEXCEPT
  426.    ODBoolean __somResult = 
  427.       SOM_ResolveD(this,ODUndo,ODUndo,PeekRedoHistory)
  428.     (this, ev,part,actionData,actionType,actionLabel);
  429.    if ( ev->_major != NO_EXCEPTION )
  430.       SOMCHKEXCEPT;
  431.    return __somResult;
  432. #else
  433.    return SOM_ResolveD(this,ODUndo,ODUndo,PeekRedoHistory)
  434.     (this, ev,part,actionData,actionType,actionLabel);
  435. #endif
  436. }
  437.  
  438.  
  439. /* method: AbortCurrentTransaction */
  440. void   AbortCurrentTransaction(Environment *ev)
  441. {
  442.    SOM_ResolveD(this,ODUndo,ODUndo,AbortCurrentTransaction)
  443.     (this, ev);
  444. #ifdef SOMCHKEXCEPT
  445.    if ( ev->_major != NO_EXCEPTION )
  446.       SOMCHKEXCEPT;
  447. #endif
  448. }
  449.  
  450.  
  451. /*
  452.  * Reintroduce inherited methods
  453.  */
  454.  
  455. /* method: InitObject */
  456. void   InitObject(Environment *ev)
  457. {
  458.    SOM_ResolveD(this,ODUndo,ODObject,InitObject)
  459.     (this, ev);
  460. #ifdef SOMCHKEXCEPT
  461.    if ( ev->_major != NO_EXCEPTION )
  462.       SOMCHKEXCEPT;
  463. #endif
  464. }
  465.  
  466.  
  467. /* method: HasExtension */
  468. ODBoolean   HasExtension(Environment *ev, 
  469.         ODType extensionName)
  470. {
  471. #ifdef SOMCHKEXCEPT
  472.    ODBoolean __somResult = 
  473.       SOM_ResolveD(this,ODUndo,ODObject,HasExtension)
  474.     (this, ev,extensionName);
  475.    if ( ev->_major != NO_EXCEPTION )
  476.       SOMCHKEXCEPT;
  477.    return __somResult;
  478. #else
  479.    return SOM_ResolveD(this,ODUndo,ODObject,HasExtension)
  480.     (this, ev,extensionName);
  481. #endif
  482. }
  483.  
  484.  
  485. /* method: AcquireExtension */
  486. ODExtension*   AcquireExtension(Environment *ev, 
  487.         ODType extensionName)
  488. {
  489. #ifdef SOMCHKEXCEPT
  490.    ODExtension* __somResult = 
  491.       SOM_ResolveD(this,ODUndo,ODObject,AcquireExtension)
  492.     (this, ev,extensionName);
  493.    if ( ev->_major != NO_EXCEPTION )
  494.       SOMCHKEXCEPT;
  495.    return __somResult;
  496. #else
  497.    return SOM_ResolveD(this,ODUndo,ODObject,AcquireExtension)
  498.     (this, ev,extensionName);
  499. #endif
  500. }
  501.  
  502.  
  503. /* method: ReleaseExtension */
  504. void   ReleaseExtension(Environment *ev, 
  505.         ODExtension* extension)
  506. {
  507.    SOM_ResolveD(this,ODUndo,ODObject,ReleaseExtension)
  508.     (this, ev,extension);
  509. #ifdef SOMCHKEXCEPT
  510.    if ( ev->_major != NO_EXCEPTION )
  511.       SOMCHKEXCEPT;
  512. #endif
  513. }
  514.  
  515.  
  516. /* method: Purge */
  517. ODSize   Purge(Environment *ev, 
  518.         ODSize size)
  519. {
  520. #ifdef SOMCHKEXCEPT
  521.    ODSize __somResult = 
  522.       SOM_ResolveD(this,ODUndo,ODObject,Purge)
  523.     (this, ev,size);
  524.    if ( ev->_major != NO_EXCEPTION )
  525.       SOMCHKEXCEPT;
  526.    return __somResult;
  527. #else
  528.    return SOM_ResolveD(this,ODUndo,ODObject,Purge)
  529.     (this, ev,size);
  530. #endif
  531. }
  532.  
  533.  
  534. /* method: IsEqualTo */
  535. ODBoolean   IsEqualTo(Environment *ev, 
  536.         ODObject* object)
  537. {
  538. #ifdef SOMCHKEXCEPT
  539.    ODBoolean __somResult = 
  540.       SOM_ResolveD(this,ODUndo,ODObject,IsEqualTo)
  541.     (this, ev,object);
  542.    if ( ev->_major != NO_EXCEPTION )
  543.       SOMCHKEXCEPT;
  544.    return __somResult;
  545. #else
  546.    return SOM_ResolveD(this,ODUndo,ODObject,IsEqualTo)
  547.     (this, ev,object);
  548. #endif
  549. }
  550.  
  551.  
  552. /* method: SubClassResponsibility */
  553. void   SubClassResponsibility(Environment *ev)
  554. {
  555.    SOM_ResolveD(this,ODUndo,ODObject,SubClassResponsibility)
  556.     (this, ev);
  557. #ifdef SOMCHKEXCEPT
  558.    if ( ev->_major != NO_EXCEPTION )
  559.       SOMCHKEXCEPT;
  560. #endif
  561. }
  562.  
  563.  
  564. /* method: somInit */
  565. void   somInit()
  566. {
  567.    SOM_ResolveD(this,ODUndo,SOMObject,somInit)
  568.     (this);
  569. }
  570.  
  571.  
  572. /* method: somUninit */
  573. void   somUninit()
  574. {
  575.    SOM_ResolveD(this,ODUndo,SOMObject,somUninit)
  576.     (this);
  577. }
  578.  
  579.  
  580. /* initializer method: somDefaultInit */
  581. void   somDefaultInit(som3InitCtrl* ctrl)
  582. {
  583.    SOM_ResolveD(this,ODUndo,SOMObject,somDefaultInit)
  584.     (this,ctrl);
  585. }
  586.  
  587.  
  588. /* method: somDestruct */
  589. void   somDestruct(octet doFree, 
  590.         som3DestructCtrl* ctrl)
  591. {
  592.    SOM_ResolveD(this,ODUndo,SOMObject,somDestruct)
  593.     (this,doFree,ctrl);
  594. }
  595.  
  596.  
  597. /* initializer method: somDefaultCopyInit */
  598. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  599.         SOMObject* fromObj)
  600. {
  601.    SOM_ResolveD(this,ODUndo,SOMObject,somDefaultCopyInit)
  602.     (this,ctrl,fromObj);
  603. }
  604.  
  605.  
  606. /* method: somDefaultAssign */
  607. ODUndo*  somDefaultAssign(som3AssignCtrl* ctrl, 
  608.         SOMObject* fromObj)
  609. {
  610.    return SOM_ResolveD(this,ODUndo,SOMObject,somDefaultAssign)
  611.     (this,ctrl,fromObj);
  612. }
  613.  
  614.  
  615. /* initializer method: somDefaultConstCopyInit */
  616. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  617.         SOMObject* fromObj)
  618. {
  619.    SOM_ResolveD(this,ODUndo,SOMObject,somDefaultConstCopyInit)
  620.     (this,ctrl,fromObj);
  621. }
  622.  
  623.  
  624. /* initializer method: somDefaultVCopyInit */
  625. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  626.         SOMObject* fromObj)
  627. {
  628.    SOM_ResolveD(this,ODUndo,SOMObject,somDefaultVCopyInit)
  629.     (this,ctrl,fromObj);
  630. }
  631.  
  632.  
  633. /* initializer method: somDefaultConstVCopyInit */
  634. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  635.         SOMObject* fromObj)
  636. {
  637.    SOM_ResolveD(this,ODUndo,SOMObject,somDefaultConstVCopyInit)
  638.     (this,ctrl,fromObj);
  639. }
  640.  
  641.  
  642. /* method: somDefaultConstAssign */
  643. ODUndo*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  644.         SOMObject* fromObj)
  645. {
  646.    return SOM_ResolveD(this,ODUndo,SOMObject,somDefaultConstAssign)
  647.     (this,ctrl,fromObj);
  648. }
  649.  
  650.  
  651. /* method: somDefaultVAssign */
  652. ODUndo*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  653.         SOMObject* fromObj)
  654. {
  655.    return SOM_ResolveD(this,ODUndo,SOMObject,somDefaultVAssign)
  656.     (this,ctrl,fromObj);
  657. }
  658.  
  659.  
  660. /* method: somDefaultConstVAssign */
  661. ODUndo*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  662.         SOMObject* fromObj)
  663. {
  664.    return SOM_ResolveD(this,ODUndo,SOMObject,somDefaultConstVAssign)
  665.     (this,ctrl,fromObj);
  666. }
  667.  
  668.  
  669. /* method: somFree */
  670. void   somFree()
  671. {
  672.    SOM_ResolveD(this,ODUndo,SOMObject,somFree)
  673.     (this);
  674. }
  675.  
  676.  
  677. /* method: somGetClass */
  678. SOMClass*   somGetClass()
  679. {
  680.    return SOM_ResolveD(this,ODUndo,SOMObject,somGetClass)
  681.     (this);
  682. }
  683.  
  684.  
  685. /* method: somGetClassName */
  686. string   somGetClassName()
  687. {
  688.    return SOM_ResolveD(this,ODUndo,SOMObject,somGetClassName)
  689.     (this);
  690. }
  691.  
  692.  
  693. /* method: somGetSize */
  694. long   somGetSize()
  695. {
  696.    return SOM_ResolveD(this,ODUndo,SOMObject,somGetSize)
  697.     (this);
  698. }
  699.  
  700.  
  701. /* method: somIsA */
  702. boolean   somIsA(SOMClass* aClassObj)
  703. {
  704.    return SOM_ResolveD(this,ODUndo,SOMObject,somIsA)
  705.     (this,aClassObj);
  706. }
  707.  
  708.  
  709. /* method: somIsInstanceOf */
  710. boolean   somIsInstanceOf(SOMClass* aClassObj)
  711. {
  712.    return SOM_ResolveD(this,ODUndo,SOMObject,somIsInstanceOf)
  713.     (this,aClassObj);
  714. }
  715.  
  716.  
  717. /* method: somRespondsTo */
  718. boolean   somRespondsTo(somId mId)
  719. {
  720.    return SOM_ResolveD(this,ODUndo,SOMObject,somRespondsTo)
  721.     (this,mId);
  722. }
  723.  
  724.  
  725. /* va_list method: somDispatch */
  726.  
  727. /* the va_list invocation form */
  728. boolean   ODUndo_somDispatch(somToken* retValue, 
  729.         somId methodId, 
  730.         va_list ap)
  731. {return SOM_ResolveD(this,ODUndo,SOMObject,somDispatch)
  732.     (this,retValue,methodId,ap);
  733. }
  734.  
  735. /* the varargs invocation form */
  736. boolean   somDispatch(somToken* retValue, 
  737.         somId methodId, 
  738.         ...)
  739. {
  740.    va_list ap;
  741.    va_start(ap, methodId);
  742.    boolean __somResult = 
  743.       SOM_ResolveD(this,ODUndo,SOMObject,somDispatch)
  744.     (this,retValue,methodId,ap);
  745.    va_end(ap);
  746.    return __somResult;
  747. }
  748.  
  749.  
  750. /* va_list method: somClassDispatch */
  751.  
  752. /* the va_list invocation form */
  753. boolean   ODUndo_somClassDispatch(SOMClass* clsObj, 
  754.         somToken* retValue, 
  755.         somId methodId, 
  756.         va_list ap)
  757. {return SOM_ResolveD(this,ODUndo,SOMObject,somClassDispatch)
  758.     (this,clsObj,retValue,methodId,ap);
  759. }
  760.  
  761. /* the varargs invocation form */
  762. boolean   somClassDispatch(SOMClass* clsObj, 
  763.         somToken* retValue, 
  764.         somId methodId, 
  765.         ...)
  766. {
  767.    va_list ap;
  768.    va_start(ap, methodId);
  769.    boolean __somResult = 
  770.       SOM_ResolveD(this,ODUndo,SOMObject,somClassDispatch)
  771.     (this,clsObj,retValue,methodId,ap);
  772.    va_end(ap);
  773.    return __somResult;
  774. }
  775.  
  776.  
  777. /* method: somCastObj */
  778. boolean   somCastObj(SOMClass* cls)
  779. {
  780.    return SOM_ResolveD(this,ODUndo,SOMObject,somCastObj)
  781.     (this,cls);
  782. }
  783.  
  784.  
  785. /* method: somResetObj */
  786. boolean   somResetObj()
  787. {
  788.    return SOM_ResolveD(this,ODUndo,SOMObject,somResetObj)
  789.     (this);
  790. }
  791.  
  792.  
  793. /* va_list method: somDispatchV */
  794.  
  795. /* the va_list invocation form */
  796. void   ODUndo_somDispatchV(somId methodId, 
  797.         somId descriptor, 
  798.         va_list ap)
  799. {   SOM_ResolveD(this,ODUndo,SOMObject,somDispatchV)
  800.     (this,methodId,descriptor,ap);
  801. }
  802.  
  803. /* the varargs invocation form */
  804. void   somDispatchV(somId methodId, 
  805.         somId descriptor, 
  806.         ...)
  807. {
  808.    va_list ap;
  809.    va_start(ap, descriptor);
  810.    SOM_ResolveD(this,ODUndo,SOMObject,somDispatchV)
  811.     (this,methodId,descriptor,ap);
  812.    va_end(ap);
  813. }
  814.  
  815.  
  816. /* va_list method: somDispatchL */
  817.  
  818. /* the va_list invocation form */
  819. long   ODUndo_somDispatchL(somId methodId, 
  820.         somId descriptor, 
  821.         va_list ap)
  822. {return SOM_ResolveD(this,ODUndo,SOMObject,somDispatchL)
  823.     (this,methodId,descriptor,ap);
  824. }
  825.  
  826. /* the varargs invocation form */
  827. long   somDispatchL(somId methodId, 
  828.         somId descriptor, 
  829.         ...)
  830. {
  831.    va_list ap;
  832.    va_start(ap, descriptor);
  833.    long __somResult = 
  834.       SOM_ResolveD(this,ODUndo,SOMObject,somDispatchL)
  835.     (this,methodId,descriptor,ap);
  836.    va_end(ap);
  837.    return __somResult;
  838. }
  839.  
  840.  
  841. /* va_list method: somDispatchA */
  842.  
  843. /* the va_list invocation form */
  844. void*   ODUndo_somDispatchA(somId methodId, 
  845.         somId descriptor, 
  846.         va_list ap)
  847. {return SOM_ResolveD(this,ODUndo,SOMObject,somDispatchA)
  848.     (this,methodId,descriptor,ap);
  849. }
  850.  
  851. /* the varargs invocation form */
  852. void*   somDispatchA(somId methodId, 
  853.         somId descriptor, 
  854.         ...)
  855. {
  856.    va_list ap;
  857.    va_start(ap, descriptor);
  858.    void* __somResult = 
  859.       SOM_ResolveD(this,ODUndo,SOMObject,somDispatchA)
  860.     (this,methodId,descriptor,ap);
  861.    va_end(ap);
  862.    return __somResult;
  863. }
  864.  
  865.  
  866. /* va_list method: somDispatchD */
  867.  
  868. /* the va_list invocation form */
  869. double   ODUndo_somDispatchD(somId methodId, 
  870.         somId descriptor, 
  871.         va_list ap)
  872. {return SOM_ResolveD(this,ODUndo,SOMObject,somDispatchD)
  873.     (this,methodId,descriptor,ap);
  874. }
  875.  
  876. /* the varargs invocation form */
  877. double   somDispatchD(somId methodId, 
  878.         somId descriptor, 
  879.         ...)
  880. {
  881.    va_list ap;
  882.    va_start(ap, descriptor);
  883.    double __somResult = 
  884.       SOM_ResolveD(this,ODUndo,SOMObject,somDispatchD)
  885.     (this,methodId,descriptor,ap);
  886.    va_end(ap);
  887.    return __somResult;
  888. }
  889.  
  890.  
  891. /* method: somPrintSelf */
  892. SOMObject*   somPrintSelf()
  893. {
  894.    return SOM_ResolveD(this,ODUndo,SOMObject,somPrintSelf)
  895.     (this);
  896. }
  897.  
  898.  
  899. /* method: somDumpSelf */
  900. void   somDumpSelf(long level)
  901. {
  902.    SOM_ResolveD(this,ODUndo,SOMObject,somDumpSelf)
  903.     (this,level);
  904. }
  905.  
  906.  
  907. /* method: somDumpSelfInt */
  908. void   somDumpSelfInt(long level)
  909. {
  910.    SOM_ResolveD(this,ODUndo,SOMObject,somDumpSelfInt)
  911.     (this,level);
  912. }
  913.  
  914.  
  915.  
  916. };   /* ODUndo */
  917.  
  918.  
  919.  
  920. #endif       /* SOM_ODUndo_xh */
  921.