home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osr1.exe / src / Document.cpp < prev    next >
C/C++ Source or Header  |  1997-03-21  |  9KB  |  245 lines

  1. /* @(#)Z 1.8 com/src/storage/Document.cpp, odstorage, od96os2, odos29712d 97/03/21 17:18:34 (96/10/29 09:30:51) */
  2. //====START_GENERATED_PROLOG======================================
  3. //
  4. //
  5. //   COMPONENT_NAME: odstorage
  6. //
  7. //   CLASSES: none
  8. //
  9. //   ORIGINS: 82,27
  10. //
  11. //
  12. //   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  13. //   All Rights Reserved
  14. //   Licensed Materials - Property of IBM
  15. //   US Government Users Restricted Rights - Use, duplication or
  16. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  17. //       
  18. //   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  19. //   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20. //   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  21. //   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  22. //   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  23. //   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  24. //   OR PERFORMANCE OF THIS SOFTWARE.
  25. //
  26. //====END_GENERATED_PROLOG========================================
  27. //
  28.  
  29. /*
  30.     File:        Document.cpp
  31.  
  32.     Contains:    Implementation of ODDocument
  33.     
  34.     Owned by:    Vincent Lo
  35.  
  36.     Copyright:    ⌐ 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  37.  
  38.     Change History (most recent first):
  39.  
  40.          <7>     10/8/95    TJ        Fixes Recomended by Refball
  41.          <6>      8/3/95    RR        #1257260: Collapse B classes. Remove
  42.                                     somInit methods. Don't call IsInitialized
  43.                                     or SubclassResponsibility
  44.          <5>     5/26/95    VL        1251403: Multithreading naming support.
  45.          <4>     9/23/94    VL        1184166: DocumentName is ODIText now.
  46.          <3>      9/6/94    VL        1184154: Removed Document Properties.
  47.          <2>     7/11/94    VL        Added Exists and SubClassResponsibility.
  48.          <1>     6/28/94    VL        first checked in
  49.  
  50.     To Do:
  51. */
  52.  
  53. #define ODDocument_Class_Source
  54. #include <Document.xih>
  55.  
  56. #include <ODDebug.h>
  57.  
  58. #ifndef _ITEXT_
  59. #include <IText.h>
  60. #endif
  61.  
  62. SOM_Scope ODContainer*  SOMLINK ODDocumentGetContainer(ODDocument *somSelf, Environment *ev)
  63. {
  64.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  65.     ODDocumentMethodDebug("ODDocument","ODDocumentGetContainer");
  66.  
  67.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  68.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  69.     return kODNULL;
  70. }
  71.  
  72. SOM_Scope ODDocumentID  SOMLINK ODDocumentGetID(ODDocument *somSelf, Environment *ev)
  73. {
  74.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  75.     ODDocumentMethodDebug("ODDocument","ODDocumentGetID");
  76.  
  77.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  78.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  79.     return 0;
  80. }
  81.  
  82. SOM_Scope ODDocumentName  SOMLINK ODDocumentGetName(ODDocument *somSelf, Environment *ev)
  83. {
  84.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  85.     ODDocumentMethodDebug("ODDocument","ODDocumentGetName");
  86.  
  87.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  88.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  89.     
  90.     // The following two lines are used to pacify the compiler.
  91.     // They should never be executed.
  92.     ODDocumentName    name;
  93.     return name;
  94. }
  95.  
  96. SOM_Scope void  SOMLINK ODDocumentSetName(ODDocument *somSelf, Environment *ev,
  97.         ODDocumentName* name)
  98. {
  99.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  100.     ODDocumentMethodDebug("ODDocument","ODDocumentSetName");
  101.  
  102.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  103.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  104. }
  105.  
  106. SOM_Scope ODDocument*  SOMLINK ODDocumentCollapseDrafts(ODDocument *somSelf, Environment *ev,
  107.         ODDraft* from,
  108.         ODDraft* to)
  109. {
  110.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  111.     ODDocumentMethodDebug("ODDocument","ODDocumentCollapseDrafts");
  112.  
  113.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  114.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  115.     return somSelf;
  116. }
  117.  
  118. SOM_Scope ODDraft*  SOMLINK ODDocumentAcquireDraft(ODDocument *somSelf, Environment *ev,
  119.         ODDraftPermissions perms,
  120.         ODDraftID id,
  121.         ODDraft* draft,
  122.         ODPositionCode posCode,
  123.         ODBoolean release)
  124. {
  125.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  126.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireDraft");
  127.  
  128.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  129.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  130.     return kODNULL;
  131. }
  132.  
  133. SOM_Scope ODBoolean  SOMLINK ODDocumentExists(ODDocument *somSelf, Environment *ev,
  134.         ODDraftID id,
  135.         ODDraft* draft,
  136.         ODPositionCode posCode)
  137. {
  138.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  139.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireDraft");
  140.  
  141.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  142.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  143.     return kODFalse;
  144. }
  145.  
  146. SOM_Scope ODDraft*  SOMLINK ODDocumentAcquireBaseDraft(ODDocument *somSelf, Environment *ev,
  147.         ODDraftPermissions perms)
  148. {
  149.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  150.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireBaseDraft");
  151.  
  152.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  153.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  154.     return kODNULL;
  155. }
  156.  
  157. SOM_Scope ODDraft*  SOMLINK ODDocumentCreateDraft(ODDocument *somSelf, Environment *ev,
  158.         ODDraft* below,
  159.         ODBoolean releaseBelow)
  160. {
  161.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  162.     ODDocumentMethodDebug("ODDocument","ODDocumentCreateDraft");
  163.  
  164.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  165.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  166.     return kODNULL;
  167. }
  168.  
  169. SOM_Scope void  SOMLINK ODDocumentSaveToAPrevDraft(ODDocument *somSelf, Environment *ev,
  170.         ODDraft* from,
  171.         ODDraft* to)
  172. {
  173.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  174.     ODDocumentMethodDebug("ODDocument","ODDocumentSaveToAPrevDraft");
  175.  
  176.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  177.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  178. }
  179.  
  180. /*
  181.  *  private by convention
  182.  */
  183.  
  184. SOM_Scope void  SOMLINK ODDocumentSetBaseDraftFromForeignDraft(ODDocument *somSelf, Environment *ev,
  185.         ODDraft* draft)
  186. {
  187.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  188.     ODDocumentMethodDebug("ODDocument","ODDocumentSetBaseDraftFromForeignDraft");
  189.  
  190.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  191.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  192. }
  193.  
  194. SOM_Scope void  SOMLINK ODDocumentInitDocument(ODDocument *somSelf, Environment *ev,
  195.         ODContainer* container,
  196.         ODDocumentID id)
  197. {
  198.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  199.     ODDocumentMethodDebug("ODDocument","ODDocumentInitDocument");
  200.  
  201.     try
  202.         {
  203.       somSelf->InitRefCntObject(ev);
  204.         }
  205.     catch (ODException _exception)
  206.         {
  207.           ODSetSOMException(ev, _exception);
  208.         }
  209. }
  210.  
  211. SOM_Scope ODDocument*  SOMLINK ODDocumentReleaseDraft(ODDocument *somSelf, Environment *ev,
  212.         ODDraft* draft)
  213. {
  214.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  215.     ODDocumentMethodDebug("ODDocument","ODDocumentReleaseDraft");
  216.  
  217.     WARNMSG(WARN_INDEX(AMSG_690),"A subclass should have overridden this method!");
  218.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  219.     return somSelf;
  220. }
  221.  
  222. SOM_Scope void  SOMLINK ODDocumentsomUninit(ODDocument *somSelf)
  223. {
  224.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  225.     ODDocumentMethodDebug("ODDocument","ODDocumentsomUninit");
  226.  
  227.     ODDocument_parent_ODRefCntObject_somUninit(somSelf);
  228. }
  229.  
  230. SOM_Scope void  SOMLINK ODDocumentAcquire(ODDocument *somSelf, Environment *ev)
  231. {
  232.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  233.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquire");
  234.  
  235.     ODDocument_parent_ODRefCntObject_Acquire(somSelf,ev);
  236. }
  237.  
  238. SOM_Scope void  SOMLINK ODDocumentRelease(ODDocument *somSelf, Environment *ev)
  239. {
  240.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  241.     ODDocumentMethodDebug("ODDocument","ODDocumentRelease");
  242.  
  243.     ODDocument_parent_ODRefCntObject_Release(somSelf,ev);
  244. }
  245.