File indexing completed on 2026-10-29 09:18:45
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 <NCollection_DataMap.hxx>
0031 class CDM_MetaData;
0032
0033 class CDM_MetaData : public Standard_Transient
0034 {
0035
0036 public:
0037 Standard_EXPORT static occ::handle<CDM_MetaData> LookUp(
0038 NCollection_DataMap<TCollection_ExtendedString, occ::handle<CDM_MetaData>>& theLookUpTable,
0039 const TCollection_ExtendedString& aFolder,
0040 const TCollection_ExtendedString& aName,
0041 const TCollection_ExtendedString& aPath,
0042 const TCollection_ExtendedString& aFileName,
0043 const bool ReadOnly);
0044
0045 Standard_EXPORT static occ::handle<CDM_MetaData> LookUp(
0046 NCollection_DataMap<TCollection_ExtendedString, occ::handle<CDM_MetaData>>& 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 bool ReadOnly);
0053
0054 Standard_EXPORT bool IsRetrieved() const;
0055
0056 Standard_EXPORT occ::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 bool 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 bool IsReadOnly() const;
0084
0085 Standard_EXPORT void SetIsReadOnly();
0086
0087 Standard_EXPORT void UnsetIsReadOnly();
0088
0089
0090 Standard_EXPORT void DumpJson(Standard_OStream& theOStream, int theDepth = -1) const;
0091
0092 friend class CDM_Reference;
0093 friend
0094
0095
0096
0097 Standard_EXPORT void
0098 CDM_Document::SetMetaData(const occ::handle<CDM_MetaData>& aMetaData);
0099 friend Standard_EXPORT void CDM_Application::SetDocumentVersion(
0100 const occ::handle<CDM_Document>& aDocument,
0101 const occ::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 bool 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 bool ReadOnly);
0118
0119 void SetDocument(const occ::handle<CDM_Document>& aDocument);
0120
0121 int DocumentVersion(const occ::handle<CDM_Application>& anApplication);
0122
0123 private:
0124 bool myIsRetrieved;
0125 CDM_DocumentPointer myDocument;
0126 TCollection_ExtendedString myFolder;
0127 TCollection_ExtendedString myName;
0128 TCollection_ExtendedString myVersion;
0129 bool myHasVersion;
0130 TCollection_ExtendedString myFileName;
0131 TCollection_ExtendedString myPath;
0132 int myDocumentVersion;
0133 bool myIsReadOnly;
0134 };
0135
0136 #endif