home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / Implementation / Storage / Draft.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-13  |  20.2 KB  |  621 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Draft.cpp
  3.  
  4.     Contains:    Implementation of ODDraft
  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>      11/19/96    CC        1354893 Create new frames during move to
  13.                                     simplify in-limbo recipes.
  14.         <22>     9/11/95    VL        1283326: CreateFrame now takes ODObjectType
  15.                                     instead of ODType
  16.         <21>     8/25/95    JBS        1263078 FB: fix part editor swapping
  17.         <20>      8/3/95    RR        #1257260: Collapse B classes. Remove
  18.                                     somInit methods. Don't call IsInitialized
  19.                                     or SubclassResponsibility
  20.         <19>     6/23/95    JBS        1261323 Draft::CreateFrame: add isSubframe
  21.                                     param, remove isRoot
  22.         <18>     6/19/95    VL        1170098: Added DeleteRealPart.
  23.         <17>     5/26/95    VL        1251403: Multithreading naming support.
  24.         <16>     5/22/95    CC        1242879: Added IsValidID.
  25.         <15>     5/18/95    CC        1238898: Added destFrame parameter to
  26.                                     BeginClone.
  27.         <14>     5/17/95    VL        1170098: Added ConstructRealPart and
  28.                                     ReleaseRealPart.
  29.         <13>     1/18/95    VL        1193559: Two new methods
  30.                                     (AcquirePersistentObject and
  31.                                     GetPersistentObjectID).
  32.         <12>     1/11/95    VL        1185688: Made storage more robust in terms
  33.                                     of error handling. Also did some code
  34.                                     review cleanup.
  35.         <11>    12/15/94    CC        1193569 CreateLinkSpec() takes ODByteArray
  36.                                     parameter.
  37.         <10>     10/4/94    CC        1190858 - Added ReleaseLinkSource().
  38.          <9>     9/26/94    VL        1185419: Added SubClassResponsibility to
  39.                                     methods.
  40.          <8>      9/6/94    VL        1184177: Removed GetName and SetName.
  41.          <7>     8/26/94    VL        1183174: Added parameters to Clone and
  42.                                     implementation to the method.
  43.          <6>     8/16/94    VL        1143605: Added Clone.
  44.          <5>     8/15/94    VL        #???: Added frameType parameter to
  45.                                     CreateFrame.
  46.          <4>     8/12/94    JBS        1179919: add biasCanvas param to
  47.                                     Draft::CreateFrame()
  48.          <3>     8/11/94    CC        Added CreateLinkIterator() and
  49.                                     CreateLinkSourceIterator(), implementation
  50.                                     is subclass responsibility.
  51.          <2>      7/5/94    VL        Added SubClassResponsibility.
  52.          <1>     6/28/94    VL        first checked in
  53.  
  54.     To Do:
  55. */
  56.  
  57. #define ODDraft_Class_Source
  58. #include <Draft.xih>
  59.  
  60. SOM_Scope ODDocument*  SOMLINK ODDraftGetDocument(ODDraft *somSelf, Environment *ev)
  61. {
  62.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  63.     ODDraftMethodDebug("ODDraft","ODDraftGetDocument");
  64.  
  65.     WARN("A subclass should have overridden this method!");
  66.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  67.     
  68.     return kODNULL;
  69. }
  70.  
  71. SOM_Scope ODDraftID  SOMLINK ODDraftGetID(ODDraft *somSelf, Environment *ev)
  72. {
  73.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  74.     ODDraftMethodDebug("ODDraft","ODDraftGetID");
  75.  
  76.     WARN("A subclass should have overridden this method!");
  77.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  78.     
  79.     return kODNULL;
  80. }
  81.  
  82. SOM_Scope ODStorageUnit*  SOMLINK ODDraftAcquireDraftProperties(ODDraft *somSelf, Environment *ev)
  83. {
  84.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  85.     ODDraftMethodDebug("ODDraft","ODDraftAcquireDraftProperties");
  86.  
  87.     WARN("A subclass should have overridden this method!");
  88.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  89.     
  90.     return kODNULL;
  91. }
  92.  
  93. SOM_Scope ODDraftPermissions  SOMLINK ODDraftGetPermissions(ODDraft *somSelf, Environment *ev)
  94. {
  95.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  96.     ODDraftMethodDebug("ODDraft","ODDraftGetPermissions");
  97.  
  98.     WARN("A subclass should have overridden this method!");
  99.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  100.     
  101.     return kODNULL;
  102. }
  103.  
  104. SOM_Scope ODStorageUnit*  SOMLINK ODDraftCreateStorageUnit(ODDraft *somSelf, Environment *ev)
  105. {
  106.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  107.     ODDraftMethodDebug("ODDraft","ODDraftCreateStorageUnit");
  108.  
  109.     WARN("A subclass should have overridden this method!");
  110.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  111.     
  112.     return kODNULL;
  113. }
  114.  
  115. SOM_Scope ODStorageUnit*  SOMLINK ODDraftAcquireStorageUnit(ODDraft *somSelf, Environment *ev,
  116.         ODStorageUnitID id)
  117. {
  118.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  119.     ODDraftMethodDebug("ODDraft","ODDraftAcquireStorageUnit");
  120.  
  121.     WARN("A subclass should have overridden this method!");
  122.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  123.     
  124.     return kODNULL;
  125. }
  126.  
  127. SOM_Scope void  SOMLINK ODDraftRemoveStorageUnit(ODDraft *somSelf, Environment *ev,
  128.         ODStorageUnit* storageUnit)
  129. {
  130.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  131.     ODDraftMethodDebug("ODDraft","ODDraftRemoveStorageUnit");
  132.  
  133.     WARN("A subclass should have overridden this method!");
  134.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  135. }
  136.  
  137. SOM_Scope ODBoolean  SOMLINK ODDraftIsValidID(ODDraft *somSelf, Environment *ev,
  138.         ODID id)
  139. {
  140.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  141.     ODDraftMethodDebug("ODDraft","IsValidID");
  142.  
  143.     WARN("A subclass should have overridden this method!");
  144.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  145.     
  146.     return kODFalse;
  147. }
  148.  
  149. SOM_Scope ODDraftKey  SOMLINK ODDraftBeginClone(ODDraft *somSelf, Environment *ev,
  150.         ODDraft* destDraft,
  151.         ODFrame* destFrame,
  152.         ODCloneKind kind)
  153. {
  154.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  155.     ODDraftMethodDebug("ODDraft","ODDraftBeginClone");
  156.  
  157.     WARN("A subclass should have overridden this method!");
  158.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  159.     
  160.     return 0;
  161. }
  162.  
  163. SOM_Scope void  SOMLINK ODDraftEndClone(ODDraft *somSelf, Environment *ev,
  164.         ODDraftKey key)
  165. {
  166.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  167.     ODDraftMethodDebug("ODDraft","ODDraftEndClone");
  168.  
  169.     WARN("A subclass should have overridden this method!");
  170.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  171. }
  172.  
  173. SOM_Scope void  SOMLINK ODDraftAbortClone(ODDraft *somSelf, Environment *ev,
  174.         ODDraftKey key)
  175. {
  176.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  177.     ODDraftMethodDebug("ODDraft","ODDraftAbortClone");
  178.  
  179.     WARN("A subclass should have overridden this method!");
  180.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  181. }
  182.  
  183. SOM_Scope ODID  SOMLINK ODDraftClone(ODDraft *somSelf, Environment *ev,
  184.         ODDraftKey key,
  185.         ODID fromObjectID,
  186.         ODID toObjectID,
  187.         ODID scope)
  188. {
  189.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  190.     ODDraftMethodDebug("ODDraft","ODDraftClone");
  191.  
  192.     WARN("A subclass should have overridden this method!");
  193.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  194.     return 0;
  195. }
  196.  
  197. SOM_Scope ODID  SOMLINK ODDraftWeakClone(ODDraft *somSelf, Environment *ev,
  198.         ODDraftKey key,
  199.         ODID objectID,
  200.         ODID toObjectID,
  201.         ODID scope)
  202. {
  203.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  204.     ODDraftMethodDebug("ODDraft","ODDraftWeakClone");
  205.  
  206.     WARN("A subclass should have overridden this method!");
  207.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  208.     return 0;
  209. }
  210.  
  211. SOM_Scope ODBoolean  SOMLINK ODDraftChangedFromPrev(ODDraft *somSelf, Environment *ev)
  212. {
  213.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  214.     ODDraftMethodDebug("ODDraft","ODDraftChangedFromPrev");
  215.  
  216.     WARN("A subclass should have overridden this method!");
  217.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  218.     
  219.     return kODFalse;
  220. }
  221.  
  222. SOM_Scope void  SOMLINK ODDraftSetChangedFromPrev(ODDraft *somSelf, Environment *ev)
  223. {
  224.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  225.     ODDraftMethodDebug("ODDraft","ODDraftSetChangedFromPrev");
  226.  
  227.     WARN("A subclass should have overridden this method!");
  228.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  229. }
  230.  
  231. SOM_Scope void  SOMLINK ODDraftRemoveFromDocument(ODDraft *somSelf, Environment *ev)
  232. {
  233.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  234.     ODDraftMethodDebug("ODDraft","ODDraftRemoveFromDocument");
  235.  
  236.     WARN("A subclass should have overridden this method!");
  237.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  238. }
  239.  
  240. SOM_Scope ODDraft*  SOMLINK ODDraftRemoveChanges(ODDraft *somSelf, Environment *ev)
  241. {
  242.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  243.     ODDraftMethodDebug("ODDraft","ODDraftRemoveChanges");
  244.  
  245.     WARN("A subclass should have overridden this method!");
  246.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  247.     
  248.     return somSelf;
  249. }
  250.  
  251. SOM_Scope ODDraft*  SOMLINK ODDraftExternalize(ODDraft *somSelf, Environment *ev)
  252. {
  253.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  254.     ODDraftMethodDebug("ODDraft","ODDraftExternalize");
  255.     
  256.     return somSelf;
  257. }
  258.  
  259. SOM_Scope ODDraft*  SOMLINK ODDraftSaveToAPrevious(ODDraft *somSelf, Environment *ev,
  260.         ODDraft* to)
  261. {
  262.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  263.     ODDraftMethodDebug("ODDraft","ODDraftSaveToAPrevious");
  264.  
  265.     WARN("A subclass should have overridden this method!");
  266.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  267.     
  268.     return somSelf;
  269. }
  270.  
  271. SOM_Scope ODFrame*  SOMLINK ODDraftCreateFrame(ODDraft *somSelf, Environment *ev,
  272.         ODObjectType    frameType,
  273.         ODFrame* containingFrame,
  274.         ODShape* frameShape,
  275.         ODCanvas* biasCanvas,
  276.         ODPart* part,
  277.         ODTypeToken viewType,
  278.         ODTypeToken presentation,
  279.         ODBoolean isSubframe,
  280.         ODBoolean isOverlaid)
  281. {
  282.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  283.     ODDraftMethodDebug("ODDraft","ODDraftCreateFrame");
  284.  
  285.     WARN("A subclass should have overridden this method!");
  286.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  287.     
  288.     return kODNULL;
  289. }
  290.  
  291. SOM_Scope ODFrame*  SOMLINK ODDraftAcquireFrame(ODDraft *somSelf, Environment *ev,
  292.         ODStorageUnitID id)
  293. {
  294.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  295.     ODDraftMethodDebug("ODDraft","ODDraftAcquireFrame");
  296.  
  297.     WARN("A subclass should have overridden this method!");
  298.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  299.     
  300.     return kODNULL;
  301. }
  302.  
  303. SOM_Scope void  SOMLINK ODDraftRemoveFrame(ODDraft *somSelf, Environment *ev,
  304.         ODFrame* frame)
  305. {
  306.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  307.     ODDraftMethodDebug("ODDraft","ODDraftRemoveFrame");
  308.  
  309.     WARN("A subclass should have overridden this method!");
  310.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  311. }
  312.  
  313. SOM_Scope ODPart*  SOMLINK ODDraftCreatePart(ODDraft *somSelf, Environment *ev,
  314.         ODType partType,
  315.         ODEditor optionalEditor)
  316. {
  317.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  318.     ODDraftMethodDebug("ODDraft","ODDraftCreatePart");
  319.  
  320.     WARN("A subclass should have overridden this method!");
  321.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  322.     
  323.     return kODNULL;
  324. }
  325.  
  326. SOM_Scope ODPart*  SOMLINK ODDraftAcquirePart(ODDraft *somSelf, Environment *ev,
  327.         ODStorageUnitID id)
  328. {
  329.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  330.     ODDraftMethodDebug("ODDraft","ODDraftAcquirePart");
  331.  
  332.     WARN("A subclass should have overridden this method!");
  333.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  334.     
  335.     return kODNULL;
  336. }
  337.  
  338. SOM_Scope void  SOMLINK ODDraftRemovePart(ODDraft *somSelf, Environment *ev,
  339.         ODPart* part)
  340. {
  341.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  342.     ODDraftMethodDebug("ODDraft","ODDraftRemovePart");
  343.  
  344.     WARN("A subclass should have overridden this method!");
  345.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  346. }
  347.  
  348. SOM_Scope ODLinkSpec*  SOMLINK ODDraftCreateLinkSpec(ODDraft *somSelf, Environment *ev,
  349.         ODPart* part,
  350.         ODByteArray* data)
  351. {
  352.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  353.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkSpec");
  354.  
  355.     WARN("A subclass should have overridden this method!");
  356.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  357.     
  358.     return kODNULL;
  359. }
  360.  
  361. SOM_Scope ODLinkSource*  SOMLINK ODDraftCreateLinkSource(ODDraft *somSelf, Environment *ev,
  362.         ODPart* part)
  363. {
  364.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  365.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkSource");
  366.  
  367.     WARN("A subclass should have overridden this method!");
  368.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  369.     
  370.     return kODNULL;
  371. }
  372.  
  373. SOM_Scope ODLinkSource*  SOMLINK ODDraftAcquireLinkSource(ODDraft *somSelf, Environment *ev,
  374.         ODStorageUnitID id)
  375. {
  376.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  377.     ODDraftMethodDebug("ODDraft","ODDraftAcquireLinkSource");
  378.  
  379.     WARN("A subclass should have overridden this method!");
  380.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  381.     
  382.     return kODNULL;
  383. }
  384.  
  385. SOM_Scope ODLink*  SOMLINK ODDraftAcquireLink(ODDraft *somSelf, Environment *ev,
  386.         ODStorageUnitID id,
  387.         ODLinkSpec* linkSpec)
  388. {
  389.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  390.     ODDraftMethodDebug("ODDraft","ODDraftAcquireLink");
  391.  
  392.     WARN("A subclass should have overridden this method!");
  393.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  394.     
  395.     return kODNULL;
  396. }
  397.  
  398. SOM_Scope void  SOMLINK ODDraftRemoveLink(ODDraft *somSelf, Environment *ev,
  399.         ODLink* link)
  400. {
  401.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  402.     ODDraftMethodDebug("ODDraft","ODDraftRemoveLink");
  403.  
  404.     WARN("A subclass should have overridden this method!");
  405.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  406. }
  407.  
  408. SOM_Scope ODPersistentObjectID  SOMLINK ODDraftGetPersistentObjectID(ODDraft *somSelf, Environment *ev,
  409.         ODPersistentObject* object,
  410.         ODObjectType    objectType)
  411. {
  412.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  413.     ODDraftMethodDebug("ODDraft","ODDraftGetPersistentObjectID");
  414.  
  415.     WARN("A subclass should have overridden this method!");
  416.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  417.     
  418.     return kODNULLID;
  419. }
  420.  
  421. SOM_Scope ODPersistentObject*  SOMLINK ODDraftAcquirePersistentObject(ODDraft *somSelf, Environment *ev,
  422.         ODPersistentObjectID objectID,
  423.         ODObjectType*    objectType)
  424. {
  425.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  426.     ODDraftMethodDebug("ODDraft","ODDraftAcquirePersistentObject");
  427.  
  428.     WARN("A subclass should have overridden this method!");
  429.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  430.     
  431.     return kODNULL;
  432. }
  433.  
  434. /*
  435.  *  private by convention
  436.  */
  437.  
  438. SOM_Scope void  SOMLINK ODDraftRemoveLinkSource(ODDraft *somSelf, Environment *ev,
  439.         ODLinkSource* link)
  440. {
  441.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  442.     ODDraftMethodDebug("ODDraft","ODDraftRemoveLinkSource");
  443.  
  444.     WARN("A subclass should have overridden this method!");
  445.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  446. }
  447.  
  448. SOM_Scope void  SOMLINK ODDraftInitDraft(ODDraft *somSelf, Environment *ev,
  449.         ODDocument* document,
  450.         ODDraftID id,
  451.         ODDraftPermissions perms)
  452. {
  453.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  454.     ODDraftMethodDebug("ODDraft","ODDraftInitDraft");
  455. }
  456.  
  457. SOM_Scope void  SOMLINK ODDraftReleaseFrame(ODDraft *somSelf, Environment *ev,
  458.         ODFrame* frame)
  459. {
  460.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  461.     ODDraftMethodDebug("ODDraft","ODDraftReleaseFrame");
  462.  
  463.     WARN("A subclass should have overridden this method!");
  464.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  465. }
  466.  
  467. SOM_Scope void  SOMLINK ODDraftReleasePart(ODDraft *somSelf, Environment *ev,
  468.         ODPart* part)
  469. {
  470.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  471.     ODDraftMethodDebug("ODDraft","ODDraftReleasePart");
  472.  
  473.     WARN("A subclass should have overridden this method!");
  474.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  475. }
  476.  
  477. SOM_Scope void  SOMLINK ODDraftReleaseLink(ODDraft *somSelf, Environment *ev,
  478.         ODLink* link)
  479. {
  480.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  481.     ODDraftMethodDebug("ODDraft","ODDraftReleaseLink");
  482.  
  483.     WARN("A subclass should have overridden this method!");
  484.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  485. }
  486.  
  487. SOM_Scope void  SOMLINK ODDraftReleaseLinkSource(ODDraft *somSelf, Environment *ev,
  488.         ODLinkSource* linkSource)
  489. {
  490.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  491.     ODDraftMethodDebug("ODDraft","ODDraftReleaseLinkSource");
  492.  
  493.     WARN("A subclass should have overridden this method!");
  494.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  495. }
  496.  
  497. SOM_Scope ODDraft*  SOMLINK ODDraftReleaseStorageUnit(ODDraft *somSelf, Environment *ev,
  498.         ODStorageUnitID id)
  499. {
  500.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  501.     ODDraftMethodDebug("ODDraft","ODDraftReleaseStorageUnit");
  502.  
  503.     WARN("A subclass should have overridden this method!");
  504.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  505.     
  506.     return kODNULL;
  507. }
  508.  
  509. SOM_Scope ODLinkSourceIterator*  SOMLINK ODDraftCreateLinkSourceIterator(ODDraft *somSelf, Environment *ev)
  510. {
  511.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  512.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkSourceIterator");
  513.  
  514.     WARN("A subclass should have overridden this method!");
  515.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  516.     
  517.     return kODNULL;
  518. }
  519.  
  520. SOM_Scope ODLinkIterator*  SOMLINK ODDraftCreateLinkIterator(ODDraft *somSelf, Environment *ev)
  521. {
  522.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  523.     ODDraftMethodDebug("ODDraft","ODDraftCreateLinkIterator");
  524.  
  525.     WARN("A subclass should have overridden this method!");
  526.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  527.     
  528.     return kODNULL;
  529. }
  530.  
  531. SOM_Scope void  SOMLINK ODDraftsomUninit(ODDraft *somSelf)
  532. {
  533.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  534.     ODDraftMethodDebug("ODDraft","ODDraftsomUninit");
  535.  
  536.     ODDraft_parent_ODRefCntObject_somUninit(somSelf);
  537. }
  538.  
  539. SOM_Scope void  SOMLINK ODDraftAcquire(ODDraft *somSelf, Environment *ev)
  540. {
  541.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  542.     ODDraftMethodDebug("ODDraft","ODDraftAcquire");
  543.  
  544.     ODDraft_parent_ODRefCntObject_Acquire(somSelf,ev);
  545. }
  546.  
  547. SOM_Scope void  SOMLINK ODDraftRelease(ODDraft *somSelf, Environment *ev)
  548. {
  549.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  550.     ODDraftMethodDebug("ODDraft","ODDraftRelease");
  551.  
  552.     ODDraft_parent_ODRefCntObject_Release(somSelf,ev);
  553. }
  554.  
  555. SOM_Scope ODPart*  SOMLINK ODDraftConstructRealPart(ODDraft *somSelf, Environment *ev,
  556.         ODStorageUnit* su, ODBoolean isInitPartFromStorage,
  557.         ODPartWrapper* partWrapper,
  558.         ODType partType, ODEditor optionalEditor)
  559. {
  560.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  561.     ODDraftMethodDebug("ODDraft","ODDraftConstructRealPart");
  562.  
  563.     WARN("A subclass should have overridden this method!");
  564.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  565.     
  566.     return kODNULL;
  567. }
  568.  
  569. SOM_Scope void  SOMLINK ODDraftReleaseRealPart(ODDraft *somSelf, Environment *ev,
  570.     ODPart* part)
  571. {
  572.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  573.     ODDraftMethodDebug("ODDraft","ODDraftReleaseRealPart");
  574.  
  575.     WARN("A subclass should have overridden this method!");
  576.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  577. }
  578.  
  579. SOM_Scope void  SOMLINK ODDraftDeleteRealPart(ODDraft *somSelf, Environment *ev,
  580.     ODPart* part)
  581. {
  582.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  583.     ODDraftMethodDebug("ODDraft","DeleteRealPart");
  584.  
  585.     WARN("A subclass should have overridden this method!");
  586.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  587. }
  588.  
  589. SOM_Scope void  SOMLINK ODDraftSwapPart(ODDraft *somSelf, Environment *ev,
  590.     ODPart* part)
  591. {
  592.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  593.     ODDraftMethodDebug("ODDraft","SwapPart");
  594.  
  595.     WARN("A subclass should have overridden this method!");
  596.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  597. }
  598.  
  599. SOM_Scope ODPersistentObjectID  SOMLINK ODDraftTransferPersistentObjectID(ODDraft *somSelf, Environment *ev,
  600.         ODPersistentObject* fromObject,
  601.         ODPersistentObject* toObject)
  602. {
  603.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  604.     ODDraftMethodDebug("ODDraft","TransferPersistentObjectID");
  605.  
  606.     WARN("A subclass should have overridden this method!");
  607.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  608.     
  609.     return kODNULLID;
  610. }
  611.  
  612. SOM_Scope void  SOMLINK ODDraftDropPersistentObjectID(ODDraft *somSelf, Environment *ev,
  613.         ODPersistentObject* object)
  614. {
  615.     /* ODDraftData *somThis = ODDraftGetData(somSelf); */
  616.     ODDraftMethodDebug("ODDraft","DropPersistentObjectID");
  617.  
  618.     WARN("A subclass should have overridden this method!");
  619.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  620. }
  621.