File indexing completed on 2026-05-17 08:17:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _CDF_Application_HeaderFile
0018 #define _CDF_Application_HeaderFile
0019
0020 #include <TCollection_ExtendedString.hxx>
0021 #include <PCDM_ReaderStatus.hxx>
0022 #include <CDF_TypeOfActivation.hxx>
0023 #include <CDF_MetaDataDriver.hxx>
0024 #include <CDM_Application.hxx>
0025 #include <CDM_CanCloseStatus.hxx>
0026 #include <Standard_IStream.hxx>
0027 #include <NCollection_IndexedDataMap.hxx>
0028
0029 class Standard_GUID;
0030 class CDM_Document;
0031 class PCDM_Reader;
0032 class CDM_MetaData;
0033 class PCDM_RetrievalDriver;
0034 class PCDM_StorageDriver;
0035 class CDF_Directory;
0036 class CDF_Application;
0037 DEFINE_STANDARD_HANDLE(CDF_Application, CDM_Application)
0038
0039 class CDF_Application : public CDM_Application
0040 {
0041
0042 public:
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054 Standard_EXPORT static Handle(CDF_Application) Load(const Standard_GUID& aGUID);
0055
0056
0057
0058
0059
0060
0061 Standard_EXPORT virtual void NewDocument(const TCollection_ExtendedString& theFormat,
0062 Handle(CDM_Document)& theDoc);
0063
0064
0065
0066
0067 Standard_EXPORT virtual void InitDocument(const Handle(CDM_Document)& theDoc) const;
0068
0069
0070
0071 Standard_EXPORT void Open(const Handle(CDM_Document)& aDocument);
0072
0073 Standard_EXPORT CDM_CanCloseStatus CanClose(const Handle(CDM_Document)& aDocument);
0074
0075
0076
0077 Standard_EXPORT void Close(const Handle(CDM_Document)& aDocument);
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097 Standard_EXPORT Handle(CDM_Document) Retrieve(
0098 const TCollection_ExtendedString& aFolder,
0099 const TCollection_ExtendedString& aName,
0100 const Standard_Boolean UseStorageConfiguration = Standard_True,
0101 const Handle(PCDM_ReaderFilter)& theFilter = Handle(PCDM_ReaderFilter)(),
0102 const Message_ProgressRange& theRange = Message_ProgressRange());
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118 Standard_EXPORT Handle(CDM_Document) Retrieve(
0119 const TCollection_ExtendedString& aFolder,
0120 const TCollection_ExtendedString& aName,
0121 const TCollection_ExtendedString& aVersion,
0122 const Standard_Boolean UseStorageConfiguration = Standard_True,
0123 const Handle(PCDM_ReaderFilter)& theFilter = Handle(PCDM_ReaderFilter)(),
0124 const Message_ProgressRange& theRange = Message_ProgressRange());
0125
0126 Standard_EXPORT PCDM_ReaderStatus CanRetrieve(const TCollection_ExtendedString& theFolder,
0127 const TCollection_ExtendedString& theName,
0128 const bool theAppendMode);
0129
0130 Standard_EXPORT PCDM_ReaderStatus CanRetrieve(const TCollection_ExtendedString& theFolder,
0131 const TCollection_ExtendedString& theName,
0132 const TCollection_ExtendedString& theVersion,
0133 const bool theAppendMode);
0134
0135
0136 PCDM_ReaderStatus GetRetrieveStatus() const { return myRetrievableStatus; }
0137
0138
0139
0140 Standard_EXPORT void Read(
0141 Standard_IStream& theIStream,
0142 Handle(CDM_Document)& theDocument,
0143 const Handle(PCDM_ReaderFilter)& theFilter = Handle(PCDM_ReaderFilter)(),
0144 const Message_ProgressRange& theRange = Message_ProgressRange());
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158 Standard_EXPORT virtual Handle(PCDM_Reader) ReaderFromFormat(
0159 const TCollection_ExtendedString& aFormat);
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173 Standard_EXPORT virtual Handle(PCDM_StorageDriver) WriterFromFormat(
0174 const TCollection_ExtendedString& aFormat);
0175
0176
0177
0178
0179 Standard_EXPORT Standard_Boolean Format(const TCollection_ExtendedString& aFileName,
0180 TCollection_ExtendedString& theFormat);
0181
0182 Standard_EXPORT Standard_ExtString DefaultFolder();
0183
0184 Standard_EXPORT Standard_Boolean SetDefaultFolder(const Standard_ExtString aFolder);
0185
0186
0187 Standard_EXPORT Handle(CDF_MetaDataDriver) MetaDataDriver() const;
0188
0189 DEFINE_STANDARD_RTTIEXT(CDF_Application, CDM_Application)
0190
0191 Handle(CDF_MetaDataDriver) myMetaDataDriver;
0192 Handle(CDF_Directory) myDirectory;
0193
0194 private:
0195
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205
0206
0207
0208 Standard_EXPORT virtual void Activate(const Handle(CDM_Document)& aDocument,
0209 const CDF_TypeOfActivation aTypeOfActivation);
0210
0211 Standard_EXPORT Handle(CDM_Document) Retrieve(
0212 const Handle(CDM_MetaData)& aMetaData,
0213 const Standard_Boolean UseStorageConfiguration,
0214 const Handle(PCDM_ReaderFilter)& theFilter = Handle(PCDM_ReaderFilter)(),
0215 const Message_ProgressRange& theRange = Message_ProgressRange()) Standard_OVERRIDE;
0216
0217 Standard_EXPORT Handle(CDM_Document) Retrieve(
0218 const Handle(CDM_MetaData)& aMetaData,
0219 const Standard_Boolean UseStorageConfiguration,
0220 const Standard_Boolean IsComponent,
0221 const Handle(PCDM_ReaderFilter)& theFilter = Handle(PCDM_ReaderFilter)(),
0222 const Message_ProgressRange& theRange = Message_ProgressRange());
0223
0224 Standard_EXPORT Standard_Integer DocumentVersion(const Handle(CDM_MetaData)& theMetaData)
0225 Standard_OVERRIDE;
0226
0227 Standard_EXPORT CDF_TypeOfActivation TypeOfActivation(const Handle(CDM_MetaData)& aMetaData);
0228
0229 Standard_EXPORT PCDM_ReaderStatus CanRetrieve(const Handle(CDM_MetaData)& aMetaData,
0230 const bool theAppendMode);
0231
0232 protected:
0233 Standard_EXPORT CDF_Application();
0234
0235 PCDM_ReaderStatus myRetrievableStatus;
0236 NCollection_IndexedDataMap<TCollection_ExtendedString, Handle(PCDM_RetrievalDriver)> myReaders;
0237 NCollection_IndexedDataMap<TCollection_ExtendedString, Handle(PCDM_StorageDriver)> myWriters;
0238
0239 private:
0240 TCollection_ExtendedString myDefaultFolder;
0241 };
0242
0243 #endif