Open CASCADE Technology 7.8.0
|
#include <CDF_Application.hxx>
Public Member Functions | |
virtual void | NewDocument (const TCollection_ExtendedString &theFormat, Handle< CDM_Document > &theDoc) |
Constructs an new empty document. This document will have the specified format. If InitDocument() is redefined for a specific application, the new document is handled by the applicative session. | |
virtual void | InitDocument (const Handle< CDM_Document > &theDoc) const |
Initialize a document for the applicative session. This virtual function is called by NewDocument and should be redefined for each specific application. | |
void | Open (const Handle< CDM_Document > &aDocument) |
puts the document in the current session directory and calls the virtual method Activate on it. | |
CDM_CanCloseStatus | CanClose (const Handle< CDM_Document > &aDocument) |
void | Close (const Handle< CDM_Document > &aDocument) |
removes the document of the current session directory and closes the document; | |
Handle< CDM_Document > | Retrieve (const TCollection_ExtendedString &aFolder, const TCollection_ExtendedString &aName, const Standard_Boolean UseStorageConfiguration=Standard_True, const Handle< PCDM_ReaderFilter > &theFilter=Handle< PCDM_ReaderFilter >(), const Message_ProgressRange &theRange=Message_ProgressRange()) |
This method retrieves a document from the database. If the Document references other documents which have been updated, the latest version of these documents will be used if {UseStorageConfiguration} is Standard_True. The content of {aFolder}, {aName} and {aVersion} depends on the Database Manager system. If the DBMS is only based on the OS, {aFolder} is a directory and {aName} is the name of a file. In this case the use of the syntax with {aVersion} has no sense. For example: | |
Handle< CDM_Document > | Retrieve (const TCollection_ExtendedString &aFolder, const TCollection_ExtendedString &aName, const TCollection_ExtendedString &aVersion, const Standard_Boolean UseStorageConfiguration=Standard_True, const Handle< PCDM_ReaderFilter > &theFilter=Handle< PCDM_ReaderFilter >(), const Message_ProgressRange &theRange=Message_ProgressRange()) |
This method retrieves a document from the database. If the Document references other documents which have been updated, the latest version of these documents will be used if {UseStorageConfiguration} is Standard_True. – If the DBMS is only based on the OS, this syntax should not be used. | |
PCDM_ReaderStatus | CanRetrieve (const TCollection_ExtendedString &theFolder, const TCollection_ExtendedString &theName, const bool theAppendMode) |
PCDM_ReaderStatus | CanRetrieve (const TCollection_ExtendedString &theFolder, const TCollection_ExtendedString &theName, const TCollection_ExtendedString &theVersion, const bool theAppendMode) |
PCDM_ReaderStatus | GetRetrieveStatus () const |
Checks status after Retrieve. | |
void | Read (Standard_IStream &theIStream, Handle< CDM_Document > &theDocument, const Handle< PCDM_ReaderFilter > &theFilter=Handle< PCDM_ReaderFilter >(), const Message_ProgressRange &theRange=Message_ProgressRange()) |
Reads theDocument from standard SEEKABLE stream theIStream, the stream should support SEEK functionality. | |
virtual Handle< PCDM_Reader > | ReaderFromFormat (const TCollection_ExtendedString &aFormat) |
Returns instance of read driver for specified format. | |
virtual Handle< PCDM_StorageDriver > | WriterFromFormat (const TCollection_ExtendedString &aFormat) |
Returns instance of storage driver for specified format. | |
Standard_Boolean | Format (const TCollection_ExtendedString &aFileName, TCollection_ExtendedString &theFormat) |
try to retrieve a Format directly in the file or in application resource by using extension. returns True if found; | |
Standard_ExtString | DefaultFolder () |
Standard_Boolean | SetDefaultFolder (const Standard_ExtString aFolder) |
Handle< CDF_MetaDataDriver > | MetaDataDriver () const |
returns MetaDatdDriver of this application | |
Public Member Functions inherited from CDM_Application | |
virtual Handle< Resource_Manager > | Resources ()=0 |
The manager returned by this virtual method will be used to search for Format.Retrieval resource items. | |
virtual Handle< Message_Messenger > | MessageDriver () |
Returns default messenger;. | |
virtual void | BeginOfUpdate (const Handle< CDM_Document > &aDocument) |
this method is called before the update of a document. By default, writes in MessageDriver(). | |
virtual void | EndOfUpdate (const Handle< CDM_Document > &aDocument, const Standard_Boolean theStatus, const TCollection_ExtendedString &ErrorString) |
this method is called affter the update of a document. By default, writes in MessageDriver(). | |
void | Write (const Standard_ExtString aString) |
writes the string in the application MessagerDriver. | |
virtual TCollection_ExtendedString | Name () const |
Returns the application name. | |
virtual TCollection_AsciiString | Version () const |
Returns the application version. | |
virtual CDM_MetaDataLookUpTable & | MetaDataLookUpTable () |
Returns MetaData LookUpTable. | |
void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Static Public Member Functions | |
static Handle< CDF_Application > | Load (const Standard_GUID &aGUID) |
plugs an application. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Data Fields | |
Handle< CDF_MetaDataDriver > | myMetaDataDriver |
Handle< CDF_Directory > | myDirectory |
Protected Member Functions | |
CDF_Application () | |
Protected Member Functions inherited from CDM_Application | |
CDM_Application () | |
void | SetDocumentVersion (const Handle< CDM_Document > &aDocument, const Handle< CDM_MetaData > &aMetaData) const |
void | SetReferenceCounter (const Handle< CDM_Document > &aDocument, const Standard_Integer aReferenceCounter) |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
|
protected |
CDM_CanCloseStatus CDF_Application::CanClose | ( | const Handle< CDM_Document > & | aDocument | ) |
PCDM_ReaderStatus CDF_Application::CanRetrieve | ( | const TCollection_ExtendedString & | theFolder, |
const TCollection_ExtendedString & | theName, | ||
const bool | theAppendMode | ||
) |
PCDM_ReaderStatus CDF_Application::CanRetrieve | ( | const TCollection_ExtendedString & | theFolder, |
const TCollection_ExtendedString & | theName, | ||
const TCollection_ExtendedString & | theVersion, | ||
const bool | theAppendMode | ||
) |
void CDF_Application::Close | ( | const Handle< CDM_Document > & | aDocument | ) |
removes the document of the current session directory and closes the document;
Standard_ExtString CDF_Application::DefaultFolder | ( | ) |
Standard_Boolean CDF_Application::Format | ( | const TCollection_ExtendedString & | aFileName, |
TCollection_ExtendedString & | theFormat | ||
) |
try to retrieve a Format directly in the file or in application resource by using extension. returns True if found;
|
inline |
Checks status after Retrieve.
|
virtual |
Initialize a document for the applicative session. This virtual function is called by NewDocument and should be redefined for each specific application.
Reimplemented in TDocStd_Application, and XCAFApp_Application.
|
static |
plugs an application.
Open is used
Handle< CDF_MetaDataDriver > CDF_Application::MetaDataDriver | ( | ) | const |
returns MetaDatdDriver of this application
|
virtual |
Constructs an new empty document. This document will have the specified format. If InitDocument() is redefined for a specific application, the new document is handled by the applicative session.
Reimplemented in TDocStd_Application.
void CDF_Application::Open | ( | const Handle< CDM_Document > & | aDocument | ) |
puts the document in the current session directory and calls the virtual method Activate on it.
void CDF_Application::Read | ( | Standard_IStream & | theIStream, |
Handle< CDM_Document > & | theDocument, | ||
const Handle< PCDM_ReaderFilter > & | theFilter = Handle< PCDM_ReaderFilter >() , |
||
const Message_ProgressRange & | theRange = Message_ProgressRange() |
||
) |
Reads theDocument from standard SEEKABLE stream theIStream, the stream should support SEEK functionality.
|
virtual |
Returns instance of read driver for specified format.
Default implementation uses plugin mechanism to load reader dynamically. For this to work, application resources should define GUID of the plugin as value of [Format].RetrievalPlugin, and "Plugin" resource should define name of plugin library to be loaded as value of [GUID].Location. Plugin library should provide method PLUGINFACTORY returning instance of the reader for the same GUID (see Plugin_Macro.hxx).
In case if reader is not available, will raise Standard_NoSuchObject or other exception if raised by plugin loader.
Handle< CDM_Document > CDF_Application::Retrieve | ( | const TCollection_ExtendedString & | aFolder, |
const TCollection_ExtendedString & | aName, | ||
const Standard_Boolean | UseStorageConfiguration = Standard_True , |
||
const Handle< PCDM_ReaderFilter > & | theFilter = Handle< PCDM_ReaderFilter >() , |
||
const Message_ProgressRange & | theRange = Message_ProgressRange() |
||
) |
This method retrieves a document from the database. If the Document references other documents which have been updated, the latest version of these documents will be used if {UseStorageConfiguration} is Standard_True. The content of {aFolder}, {aName} and {aVersion} depends on the Database Manager system. If the DBMS is only based on the OS, {aFolder} is a directory and {aName} is the name of a file. In this case the use of the syntax with {aVersion} has no sense. For example:
Handle(CDM_Document) theDocument=myApplication->Retrieve("/home/cascade","box.dsg"); If the DBMS is EUCLID/Design Manager, {aFolder}, {aName} have the form they have in EUCLID/Design Manager. For example:
Handle(CDM_Document) theDocument=myApplication->Retrieve("|user|cascade","box");
Since the version is not specified in this syntax, the latest will be used. A link is kept with the database through an instance of CDM_MetaData
Handle< CDM_Document > CDF_Application::Retrieve | ( | const TCollection_ExtendedString & | aFolder, |
const TCollection_ExtendedString & | aName, | ||
const TCollection_ExtendedString & | aVersion, | ||
const Standard_Boolean | UseStorageConfiguration = Standard_True , |
||
const Handle< PCDM_ReaderFilter > & | theFilter = Handle< PCDM_ReaderFilter >() , |
||
const Message_ProgressRange & | theRange = Message_ProgressRange() |
||
) |
This method retrieves a document from the database. If the Document references other documents which have been updated, the latest version of these documents will be used if {UseStorageConfiguration} is Standard_True. – If the DBMS is only based on the OS, this syntax should not be used.
If the DBMS is EUCLID/Design Manager, {aFolder}, {aName} and {aVersion} have the form they have in EUCLID/Design Manager. For example:
Handle(CDM_Document) theDocument=myApplication->Retrieve("|user|cascade","box","2"); A link is kept with the database through an instance of CDM_MetaData
Standard_Boolean CDF_Application::SetDefaultFolder | ( | const Standard_ExtString | aFolder | ) |
|
virtual |
Returns instance of storage driver for specified format.
Default implementation uses plugin mechanism to load driver dynamically. For this to work, application resources should define GUID of the plugin as value of [Format].StoragePlugin, and "Plugin" resource should define name of plugin library to be loaded as value of [GUID].Location. Plugin library should provide method PLUGINFACTORY returning instance of the reader for the same GUID (see Plugin_Macro.hxx).
In case if driver is not available, will raise Standard_NoSuchObject or other exception if raised by plugin loader.
Handle< CDF_Directory > CDF_Application::myDirectory |
Handle< CDF_MetaDataDriver > CDF_Application::myMetaDataDriver |
|
protected |
|
protected |
|
protected |