File indexing completed on 2026-05-02 08:22:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _CDM_MetaData_HeaderFile
0018 #define _CDM_MetaData_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <CDM_DocumentPointer.hxx>
0024 #include <TCollection_ExtendedString.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <Standard_Transient.hxx>
0027 #include <CDM_Document.hxx>
0028 #include <CDM_Application.hxx>
0029 #include <Standard_OStream.hxx>
0030 #include <CDM_MetaDataLookUpTable.hxx>
0031
0032 class CDM_MetaData;
0033 DEFINE_STANDARD_HANDLE(CDM_MetaData, Standard_Transient)
0034
0035 class CDM_MetaData : public Standard_Transient
0036 {
0037
0038 public:
0039 Standard_EXPORT static Handle(CDM_MetaData) LookUp(CDM_MetaDataLookUpTable& theLookUpTable,
0040 const TCollection_ExtendedString& aFolder,
0041 const TCollection_ExtendedString& aName,
0042 const TCollection_ExtendedString& aPath,
0043 const TCollection_ExtendedString& aFileName,
0044 const Standard_Boolean ReadOnly);
0045
0046 Standard_EXPORT static Handle(CDM_MetaData) LookUp(CDM_MetaDataLookUpTable& theLookUpTable,
0047 const TCollection_ExtendedString& aFolder,
0048 const TCollection_ExtendedString& aName,
0049 const TCollection_ExtendedString& aPath,
0050 const TCollection_ExtendedString& aVersion,
0051 const TCollection_ExtendedString& aFileName,
0052 const Standard_Boolean ReadOnly);
0053
0054 Standard_EXPORT Standard_Boolean IsRetrieved() const;
0055
0056 Standard_EXPORT Handle(CDM_Document) Document() const;
0057
0058
0059
0060 Standard_EXPORT TCollection_ExtendedString Folder() const;
0061
0062
0063
0064 Standard_EXPORT TCollection_ExtendedString Name() const;
0065
0066
0067
0068 Standard_EXPORT TCollection_ExtendedString Version() const;
0069
0070
0071
0072 Standard_EXPORT Standard_Boolean HasVersion() const;
0073
0074 Standard_EXPORT TCollection_ExtendedString FileName() const;
0075
0076 Standard_EXPORT Standard_OStream& Print(Standard_OStream& anOStream) const;
0077 Standard_OStream& operator<<(Standard_OStream& anOStream);
0078
0079 Standard_EXPORT TCollection_ExtendedString Path() const;
0080
0081 Standard_EXPORT void UnsetDocument();
0082
0083 Standard_EXPORT Standard_Boolean IsReadOnly() const;
0084
0085 Standard_EXPORT void SetIsReadOnly();
0086
0087 Standard_EXPORT void UnsetIsReadOnly();
0088
0089
0090 Standard_EXPORT void DumpJson(Standard_OStream& theOStream, Standard_Integer theDepth = -1) const;
0091
0092 friend class CDM_Reference;
0093 friend
0094
0095
0096
0097 Standard_EXPORT void
0098 CDM_Document::SetMetaData(const Handle(CDM_MetaData)& aMetaData);
0099 friend Standard_EXPORT void CDM_Application::SetDocumentVersion(
0100 const Handle(CDM_Document)& aDocument,
0101 const Handle(CDM_MetaData)& aMetaData) const;
0102
0103 DEFINE_STANDARD_RTTIEXT(CDM_MetaData, Standard_Transient)
0104
0105 private:
0106 CDM_MetaData(const TCollection_ExtendedString& aFolder,
0107 const TCollection_ExtendedString& aName,
0108 const TCollection_ExtendedString& aPath,
0109 const TCollection_ExtendedString& aFileName,
0110 const Standard_Boolean ReadOnly);
0111
0112 CDM_MetaData(const TCollection_ExtendedString& aFolder,
0113 const TCollection_ExtendedString& aName,
0114 const TCollection_ExtendedString& aPath,
0115 const TCollection_ExtendedString& aVersion,
0116 const TCollection_ExtendedString& aFileName,
0117 const Standard_Boolean ReadOnly);
0118
0119 void SetDocument(const Handle(CDM_Document)& aDocument);
0120
0121 Standard_Integer DocumentVersion(const Handle(CDM_Application)& anApplication);
0122
0123 private:
0124 Standard_Boolean myIsRetrieved;
0125 CDM_DocumentPointer myDocument;
0126 TCollection_ExtendedString myFolder;
0127 TCollection_ExtendedString myName;
0128 TCollection_ExtendedString myVersion;
0129 Standard_Boolean myHasVersion;
0130 TCollection_ExtendedString myFileName;
0131 TCollection_ExtendedString myPath;
0132 Standard_Integer myDocumentVersion;
0133 Standard_Boolean myIsReadOnly;
0134 };
0135
0136 #endif