home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osp1.exe / src / basecntr / iodbcutl.cpp < prev    next >
C/C++ Source or Header  |  1997-04-02  |  8KB  |  271 lines

  1. //====START_GENERATED_PROLOG======================================
  2. //
  3. //
  4. //   COMPONENT_NAME: odbasecntr
  5. //
  6. //   CLASSES: none
  7. //
  8. //   ORIGINS: 82,27
  9. //
  10. //
  11. //   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  12. //   All Rights Reserved
  13. //   Licensed Materials - Property of IBM
  14. //   US Government Users Restricted Rights - Use, duplication or
  15. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  16. //       
  17. //   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  18. //   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  19. //   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  20. //   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  21. //   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  22. //   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  23. //   OR PERFORMANCE OF THIS SOFTWARE.
  24. //
  25. //====END_GENERATED_PROLOG========================================
  26. //
  27. /* @(#) 1.25 com/src/samples/basecntr/iodbcutl.cpp, odbasepart, od96os2, odos29712d 10/30/96 23:28:15 [3/21/97 17:45:37] */
  28.  
  29. //#====START_GENERATED_PROLOG======================================
  30. //#
  31. //#
  32. //#
  33. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  34. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  35. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  36. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  37. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  38. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  39. //#   OR PERFORMANCE OF THIS SOFTWARE.
  40. //#
  41. //#====END_GENERATED_PROLOG========================================
  42. //#
  43. /*
  44.  *  This file was generated by the SOM Compiler and Emitter Framework.
  45.  *  Generated using:
  46.  *      SOM Emitter emitxtm.dll: Development
  47.  */
  48.  
  49. #ifndef SOM_Module_iodbcutl_Source
  50. #define SOM_Module_iodbcutl_Source
  51. #endif
  52. #define ALink_Class_Source
  53. #define ALinkedList_Class_Source
  54. #define VARIABLE_MACROS
  55. #define METHOD_MACROS
  56.  
  57. #include <ODTypes.h>
  58. #include "iodbcutl.xih"
  59.  
  60.  
  61. //==================================================================
  62. // ALink
  63. //==================================================================
  64.  
  65. SOM_Scope ODPtr  SOMLINK ALinkContent(ALink *somSelf,  Environment *ev)
  66. {
  67.     ALinkData *somThis = ALinkGetData(somSelf);
  68.     ALinkMethodDebug("ALink","ALinkContent");
  69.  
  70.     return _fContent;
  71. }
  72.  
  73. SOM_Scope ALink*  SOMLINK ALinkNext(ALink *somSelf,  Environment *ev)
  74. {
  75.     ALinkData *somThis = ALinkGetData(somSelf);
  76.     ALinkMethodDebug("ALink","ALinkNext");
  77.  
  78.     return _fNext;
  79. }
  80.  
  81. SOM_Scope void  SOMLINK ALinksetContent(ALink *somSelf,  Environment *ev,
  82.                                         ODPtr content)
  83. {
  84.     ALinkData *somThis = ALinkGetData(somSelf);
  85.     ALinkMethodDebug("ALink","ALinksetContent");
  86.     _fContent = content;
  87.  
  88. }
  89.  
  90. SOM_Scope void  SOMLINK ALinksetNext(ALink *somSelf,  Environment *ev,
  91.                                      ALink* next)
  92. {
  93.     ALinkData *somThis = ALinkGetData(somSelf);
  94.     ALinkMethodDebug("ALink","ALinksetNext");
  95.     _fNext = next;
  96.  
  97. }
  98.  
  99. SOM_Scope void  SOMLINK ALinksomInit(ALink *somSelf)
  100. {
  101.     ALinkData *somThis = ALinkGetData(somSelf);
  102.     ALinkMethodDebug("ALink","ALinksomInit");
  103.  
  104.     ALink_parent_ODObject_somInit(somSelf);
  105.     _fContent = _fNext = kODNULL;
  106. }
  107.  
  108. SOM_Scope void  SOMLINK ALinksomUninit(ALink *somSelf)
  109. {
  110.     ALinkData *somThis = ALinkGetData(somSelf);
  111.     ALinkMethodDebug("ALink","ALinksomUninit");
  112.  
  113.     ALink_parent_ODObject_somUninit(somSelf);
  114. }
  115.  
  116. //==================================================================
  117. // ALinkList
  118. //==================================================================
  119.  
  120.  
  121. SOM_Scope ALink*  SOMLINK ALinkedListFirst(ALinkedList *somSelf,
  122.                                              Environment *ev)
  123. {
  124.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  125.     ALinkedListMethodDebug("ALinkedList","ALinkedListFirst");
  126.     return _fRoot;
  127.  
  128. }
  129.  
  130. SOM_Scope void  SOMLINK ALinkedListAddFirst(ALinkedList *somSelf,
  131.                                              Environment *ev,
  132.                                             ODPtr content)
  133. {
  134.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  135.     ALinkedListMethodDebug("ALinkedList","ALinkedListAddFirst");
  136.  
  137.     ALink *node = new ALink;
  138.     node->setContent(ev, content);
  139.     node->setNext(ev, _fRoot);
  140.     _fRoot = node;
  141. }
  142.  
  143. SOM_Scope void  SOMLINK ALinkedListAddLast(ALinkedList *somSelf,
  144.                                             Environment *ev,
  145.                                            ODPtr content)
  146. {
  147.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  148.     ALinkedListMethodDebug("ALinkedList","ALinkedListAddLast");
  149.  
  150.     if (_fRoot->Content(ev) == kODNULL) {
  151.        somSelf->AddFirst (ev, content);
  152.        return;
  153.     }
  154.  
  155.     ALink *node = _fRoot, *prev = _fRoot;
  156.  
  157.     while (node->Next(ev) != kODNULL) {
  158.        prev = node;
  159.        node = node->Next(ev);
  160.     }
  161.     ALink *newNode = new ALink;
  162.     newNode->setContent (ev, content);
  163.     newNode->setNext (ev, node);
  164.     prev->setNext (ev, newNode);
  165.  
  166.  
  167. }
  168.  
  169. SOM_Scope void  SOMLINK ALinkedListRemove(ALinkedList *somSelf,
  170.                                            Environment *ev, ODPtr content)
  171. {
  172.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  173.     ALinkedListMethodDebug("ALinkedList","ALinkedListRemove");
  174.  
  175.     if (somSelf->Contains(ev, content) == kODFalse)
  176.        return;
  177.  
  178.     if (_fRoot->Content(ev) == content) {
  179.        ALink *temp = _fRoot;
  180.        _fRoot = _fRoot->Next(ev);
  181.        delete temp;
  182.        return;
  183.     }
  184.  
  185.     ALink *node = _fRoot, *prev = _fRoot;
  186.  
  187.     while (node->Content(ev) != content) {
  188.        prev = node;
  189.        node = node->Next(ev);
  190.     }
  191.     prev->setNext (ev, node->Next(ev));
  192.     delete node;
  193.  
  194. }
  195.  
  196. SOM_Scope void  SOMLINK ALinkedListRemoveAll(ALinkedList *somSelf,
  197.                                               Environment *ev)
  198. {
  199.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  200.     ALinkedListMethodDebug("ALinkedList","ALinkedListRemoveAll");
  201.  
  202.     ALink *node = _fRoot;
  203.     while (node->Next(ev)) {
  204.        ALink *temp = node;
  205.        node = node->Next(ev);
  206.        delete temp;
  207.     }
  208.     _fRoot = node;
  209.  
  210. }
  211.  
  212. SOM_Scope ODBoolean  SOMLINK ALinkedListContains(ALinkedList *somSelf,
  213.                                                   Environment *ev,
  214.                                                  ODPtr content)
  215. {
  216.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  217.     ALinkedListMethodDebug("ALinkedList","ALinkedListContains");
  218.  
  219.     ALink *node = _fRoot;
  220.     while(node->Next(ev)) {
  221.        if (node->Content(ev) == content)
  222.           return kODTrue;
  223.        node = node->Next(ev);
  224.     }
  225.     return kODFalse;
  226. }
  227.  
  228. SOM_Scope ODULong  SOMLINK ALinkedListCount(ALinkedList *somSelf,
  229.                                              Environment *ev)
  230. {
  231.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  232.     ALinkedListMethodDebug("ALinkedList","ALinkedListCount");
  233.  
  234.     ODULong retVal = 0;
  235.     ALink *node = _fRoot;
  236.     while (node->Next(ev)) {
  237.        retVal++;
  238.        node = node->Next(ev);
  239.     }
  240.     return retVal;
  241.  
  242. }
  243.  
  244. SOM_Scope void  SOMLINK ALinkedListsomInit(ALinkedList *somSelf)
  245. {
  246.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  247.     ALinkedListMethodDebug("ALinkedList","ALinkedListsomInit");
  248.  
  249.     ALinkedList_parent_ODObject_somInit(somSelf);
  250.     _fRoot = new ALink;
  251.  
  252. }
  253.  
  254. SOM_Scope void  SOMLINK ALinkedListsomUninit(ALinkedList *somSelf)
  255. {
  256.     ALinkedListData *somThis = ALinkedListGetData(somSelf);
  257.     ALinkedListMethodDebug("ALinkedList","ALinkedListsomUninit");
  258.  
  259.     Environment *ev = somGetGlobalEnvironment();
  260.     ALink *node = _fRoot;
  261.     while (node->Next(ev)) {
  262.        ALink *temp = node->Next(ev);
  263.        delete node;
  264.        node = temp;
  265.     }
  266.     delete node;
  267.  
  268.     ALinkedList_parent_ODObject_somUninit(somSelf);
  269. }
  270.  
  271.