406d9eb03e51e9a6be2a7e73e9e9c5187485f01d
[occt.git] / src / CDM / CDM.cdl
1 -- Created on: 1997-05-06
2 -- Created by: Jean-Louis Frenkel, Remi Lequette
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 package CDM
18
19
20 uses TCollection,TColStd,Resource
21
22 is
23
24     enumeration CanCloseStatus is CCS_OK, CCS_NotOpen, CCS_UnstoredReferenced,CCS_ModifiedReferenced,CCS_ReferenceRejection
25     end CanCloseStatus from CDM;
26
27
28     class MetaData;
29
30     deferred class MessageDriver;
31
32     deferred class Document;
33
34     class ReferenceIterator;
35     
36     class NullMessageDriver; 
37     ---Purpose: a MessageDriver that writes nowhere.
38
39     class COutMessageDriver;
40     ---Purpose: aMessageDriver for output to COUT (only ASCII strings)
41
42 ---Category: classes to manager automatic naming of documents.
43
44     private alias NamesDirectory is DataMapOfStringInteger from TColStd;
45     ---Purpose: this map will allows to get a directory object from a name.
46
47     private class PresentationDirectory instantiates DataMap from TCollection 
48     ---Purpose: this map will allows to get a directory object from a name.
49         (ExtendedString from TCollection,
50          Document from CDM,
51          ExtendedString from TCollection);
52          
53     private pointer DocumentPointer to Document from CDM;
54     private class Reference;    
55
56     private class ListOfReferences instantiates List from TCollection(Reference from CDM);
57     deferred class Application;
58     
59     private class MetaDataLookUpTable instantiates DataMap from TCollection(ExtendedString from TCollection, MetaData from CDM, ExtendedString from TCollection);
60          
61          
62 ---Category: reusable classes
63
64     class DocumentHasher instantiates MapHasher from TCollection(Document from CDM);
65     class MapOfDocument instantiates Map from TCollection(Document from CDM, DocumentHasher from CDM);
66     class ListOfDocument instantiates List from TCollection(Document from CDM);
67     class StackOfDocument instantiates Stack from TCollection(Document from CDM);
68
69 end CDM;