home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc™ Source Code / Storage / Document.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-28  |  6.9 KB  |  216 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Document.cpp
  3.  
  4.     Contains:    Implementation of ODDocument
  5.     
  6.     Owned by:    Vincent Lo
  7.  
  8.     Copyright:    © 1994 - 1996 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <2>      6/6/96    jpa        T10020: Fixed uninitialized-variable
  13.                                     (ODIText) warning.
  14.          <7>     10/8/95    TJ        Fixes Recomended by Refball
  15.          <6>      8/3/95    RR        #1257260: Collapse B classes. Remove
  16.                                     somInit methods. Don't call IsInitialized
  17.                                     or SubclassResponsibility
  18.          <5>     5/26/95    VL        1251403: Multithreading naming support.
  19.          <4>     9/23/94    VL        1184166: DocumentName is ODIText now.
  20.          <3>      9/6/94    VL        1184154: Removed Document Properties.
  21.          <2>     7/11/94    VL        Added Exists and SubClassResponsibility.
  22.          <1>     6/28/94    VL        first checked in
  23.  
  24.     To Do:
  25.     In Progress:
  26.         
  27. */
  28.  
  29. #define ODDocument_Class_Source
  30. #include <Document.xih>
  31.  
  32. #ifndef _ITEXT_
  33. #include <IText.h>
  34. #endif
  35.  
  36. SOM_Scope ODContainer*  SOMLINK ODDocumentGetContainer(ODDocument *somSelf, Environment *ev)
  37. {
  38.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  39.     ODDocumentMethodDebug("ODDocument","ODDocumentGetContainer");
  40.  
  41.     WARN("A subclass should have overridden this method!");
  42.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  43.     return kODNULL;
  44. }
  45.  
  46. SOM_Scope ODDocumentID  SOMLINK ODDocumentGetID(ODDocument *somSelf, Environment *ev)
  47. {
  48.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  49.     ODDocumentMethodDebug("ODDocument","ODDocumentGetID");
  50.  
  51.     WARN("A subclass should have overridden this method!");
  52.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  53.     return 0;
  54. }
  55.  
  56. SOM_Scope ODDocumentName  SOMLINK ODDocumentGetName(ODDocument *somSelf, Environment *ev)
  57. {
  58.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  59.     ODDocumentMethodDebug("ODDocument","ODDocumentGetName");
  60.  
  61.     WARN("A subclass should have overridden this method!");
  62.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  63.     
  64.     // The following two lines are used to pacify the compiler.
  65.     // They should never be executed.
  66.     ODDocumentName    name;
  67.     InitIText(&name);
  68.     return name;
  69. }
  70.  
  71. SOM_Scope void  SOMLINK ODDocumentSetName(ODDocument *somSelf, Environment *ev,
  72.         ODDocumentName* name)
  73. {
  74.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  75.     ODDocumentMethodDebug("ODDocument","ODDocumentSetName");
  76.  
  77.     WARN("A subclass should have overridden this method!");
  78.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  79. }
  80.  
  81. SOM_Scope ODDocument*  SOMLINK ODDocumentCollapseDrafts(ODDocument *somSelf, Environment *ev,
  82.         ODDraft* from,
  83.         ODDraft* to)
  84. {
  85.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  86.     ODDocumentMethodDebug("ODDocument","ODDocumentCollapseDrafts");
  87.  
  88.     WARN("A subclass should have overridden this method!");
  89.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  90.     return somSelf;
  91. }
  92.  
  93. SOM_Scope ODDraft*  SOMLINK ODDocumentAcquireDraft(ODDocument *somSelf, Environment *ev,
  94.         ODDraftPermissions perms,
  95.         ODDraftID id,
  96.         ODDraft* draft,
  97.         ODPositionCode posCode,
  98.         ODBoolean release)
  99. {
  100.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  101.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireDraft");
  102.  
  103.     WARN("A subclass should have overridden this method!");
  104.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  105.     return kODNULL;
  106. }
  107.  
  108. SOM_Scope ODBoolean  SOMLINK ODDocumentExists(ODDocument *somSelf, Environment *ev,
  109.         ODDraftID id,
  110.         ODDraft* draft,
  111.         ODPositionCode posCode)
  112. {
  113.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  114.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireDraft");
  115.  
  116.     WARN("A subclass should have overridden this method!");
  117.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  118.     return kODFalse;
  119. }
  120.  
  121. SOM_Scope ODDraft*  SOMLINK ODDocumentAcquireBaseDraft(ODDocument *somSelf, Environment *ev,
  122.         ODDraftPermissions perms)
  123. {
  124.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  125.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquireBaseDraft");
  126.  
  127.     WARN("A subclass should have overridden this method!");
  128.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  129.     return kODNULL;
  130. }
  131.  
  132. SOM_Scope ODDraft*  SOMLINK ODDocumentCreateDraft(ODDocument *somSelf, Environment *ev,
  133.         ODDraft* below,
  134.         ODBoolean releaseBelow)
  135. {
  136.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  137.     ODDocumentMethodDebug("ODDocument","ODDocumentCreateDraft");
  138.  
  139.     WARN("A subclass should have overridden this method!");
  140.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  141.     return kODNULL;
  142. }
  143.  
  144. SOM_Scope void  SOMLINK ODDocumentSaveToAPrevDraft(ODDocument *somSelf, Environment *ev,
  145.         ODDraft* from,
  146.         ODDraft* to)
  147. {
  148.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  149.     ODDocumentMethodDebug("ODDocument","ODDocumentSaveToAPrevDraft");
  150.  
  151.     WARN("A subclass should have overridden this method!");
  152.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  153. }
  154.  
  155. /*
  156.  *  private by convention
  157.  */
  158.  
  159. SOM_Scope void  SOMLINK ODDocumentSetBaseDraftFromForeignDraft(ODDocument *somSelf, Environment *ev,
  160.         ODDraft* draft)
  161. {
  162.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  163.     ODDocumentMethodDebug("ODDocument","ODDocumentSetBaseDraftFromForeignDraft");
  164.  
  165.     WARN("A subclass should have overridden this method!");
  166.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  167. }
  168.  
  169. SOM_Scope void  SOMLINK ODDocumentInitDocument(ODDocument *somSelf, Environment *ev,
  170.         ODContainer* container,
  171.         ODDocumentID id)
  172. {
  173.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  174.     ODDocumentMethodDebug("ODDocument","ODDocumentInitDocument");
  175.  
  176.     SOM_TRY
  177.     somSelf->InitRefCntObject(ev);
  178.     SOM_CATCH_ALL
  179.     SOM_ENDTRY
  180. }
  181.  
  182. SOM_Scope ODDocument*  SOMLINK ODDocumentReleaseDraft(ODDocument *somSelf, Environment *ev,
  183.         ODDraft* draft)
  184. {
  185.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  186.     ODDocumentMethodDebug("ODDocument","ODDocumentReleaseDraft");
  187.  
  188.     WARN("A subclass should have overridden this method!");
  189.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  190.     return somSelf;
  191. }
  192.  
  193. SOM_Scope void  SOMLINK ODDocumentsomUninit(ODDocument *somSelf)
  194. {
  195.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  196.     ODDocumentMethodDebug("ODDocument","ODDocumentsomUninit");
  197.  
  198.     ODDocument_parent_ODRefCntObject_somUninit(somSelf);
  199. }
  200.  
  201. SOM_Scope void  SOMLINK ODDocumentAcquire(ODDocument *somSelf, Environment *ev)
  202. {
  203.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  204.     ODDocumentMethodDebug("ODDocument","ODDocumentAcquire");
  205.  
  206.     ODDocument_parent_ODRefCntObject_Acquire(somSelf,ev);
  207. }
  208.  
  209. SOM_Scope void  SOMLINK ODDocumentRelease(ODDocument *somSelf, Environment *ev)
  210. {
  211.     /* ODDocumentData *somThis = ODDocumentGetData(somSelf); */
  212.     ODDocumentMethodDebug("ODDocument","ODDocumentRelease");
  213.  
  214.     ODDocument_parent_ODRefCntObject_Release(somSelf,ev);
  215. }
  216.