Open CASCADE Technology 7.8.2.dev
TObj_Application Class Reference

This is a base class for OCAF based TObj models with declared virtual methods. More...

#include <TObj_Application.hxx>

Inheritance diagram for TObj_Application:

Public Member Functions

Handle< Message_Messenger > & Messenger ()
 Returns reference to associated messenger handle.
 
virtual Standard_Boolean SaveDocument (const Handle< TDocStd_Document > &theSourceDoc, const TCollection_ExtendedString &theTargetFile)
 Saving the OCAF document to a file.
 
virtual Standard_Boolean SaveDocument (const Handle< TDocStd_Document > &theSourceDoc, Standard_OStream &theOStream)
 Saving the OCAF document to a stream.
 
virtual Standard_Boolean LoadDocument (const TCollection_ExtendedString &theSourceFile, Handle< TDocStd_Document > &theTargetDoc)
 Loading the OCAF document from a file.
 
virtual Standard_Boolean LoadDocument (Standard_IStream &theIStream, Handle< TDocStd_Document > &theTargetDoc)
 Loading the OCAF document from a stream.
 
virtual Standard_Boolean CreateNewDocument (Handle< TDocStd_Document > &theDoc, const TCollection_ExtendedString &theFormat)
 Create the OCAF document from scratch.
 
virtual void ErrorMessage (const TCollection_ExtendedString &theMsg, const Message_Gravity theLevel)
 Signal error during Load or Save Default imiplementation is empty.
 
virtual void ErrorMessage (const TCollection_ExtendedString &theMsg)
 Signal error during Load or Save Default imiplementation invoke previous declaration with 0.
 
void SetVerbose (const Standard_Boolean isVerbose)
 Sets the verbose flag, meaning that load/save models should show CPU and elapsed times.
 
Standard_Boolean IsVerbose () const
 Returns the verbose flag.
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
virtual Standard_CString ResourcesName () override
 Return name of resource (i.e. "TObj")
 
- Public Member Functions inherited from TDocStd_Application
 TDocStd_Application ()
 Constructs the new instance and registers it in CDM_Session.
 
Standard_Boolean IsDriverLoaded () const
 Check if meta data driver was successfully loaded by the application constructor.
 
virtual Handle< Resource_ManagerResources () override
 Returns resource manager defining supported persistent formats.
 
void DefineFormat (const TCollection_AsciiString &theFormat, const TCollection_AsciiString &theDescription, const TCollection_AsciiString &theExtension, const Handle< PCDM_RetrievalDriver > &theReader, const Handle< PCDM_StorageDriver > &theWriter)
 Sets up resources and registers read and storage drivers for the specified format.
 
void ReadingFormats (TColStd_SequenceOfAsciiString &theFormats)
 Returns the sequence of reading formats supported by the application.
 
void WritingFormats (TColStd_SequenceOfAsciiString &theFormats)
 Returns the sequence of writing formats supported by the application.
 
Standard_Integer NbDocuments () const
 returns the number of documents handled by the current applicative session.
 
void GetDocument (const Standard_Integer index, Handle< TDocStd_Document > &aDoc) const
 Constructs the new document aDoc. aDoc is identified by the index index which is any integer between 1 and n where n is the number of documents returned by NbDocument. Example Handle(TDocStd_Application) anApp; if (!CafTest::Find(A)) return 1; Handle(TDocStd) aDoc; Standard_Integer nbdoc = anApp->NbDocuments(); for (Standard_Integer i = 1; i <= nbdoc; i++) { aApp->GetDocument(i,aDoc);.
 
virtual void NewDocument (const TCollection_ExtendedString &format, Handle< CDM_Document > &aDoc) override
 Constructs the empty new document aDoc. This document will have the format format. If InitDocument is redefined for a specific application, the new document is handled by the applicative session.
 
void NewDocument (const TCollection_ExtendedString &format, Handle< TDocStd_Document > &aDoc)
 A non-virtual method taking a TDocStd_Documment object as an input. Internally it calls a virtual method NewDocument() with CDM_Document object.
 
virtual void InitDocument (const Handle< CDM_Document > &aDoc) const override
 Initialize the document aDoc for the applicative session. This virtual function is called by NewDocument and is to be redefined for each specific application.
 
void Close (const Handle< TDocStd_Document > &aDoc)
 Close the given document. the document is not any more handled by the applicative session.
 
Standard_Integer IsInSession (const TCollection_ExtendedString &path) const
 Returns an index for the document found in the path path in this applicative session. If the returned value is 0, the document is not present in the applicative session. This method can be used for the interactive part of an application. For instance, on a call to Open, the document to be opened may already be in memory. IsInSession checks to see if this is the case. Open can be made to depend on the value of the index returned: if IsInSession returns 0, the document is opened; if it returns another value, a message is displayed asking the user if he wants to override the version of the document in memory. Example: Standard_Integer insession = A->IsInSession(aDoc); if (insession > 0) { std::cout << "document " << insession << " is already in session" << std::endl; return 0; }.
 
PCDM_ReaderStatus Open (const TCollection_ExtendedString &thePath, Handle< TDocStd_Document > &theDoc, const Handle< PCDM_ReaderFilter > &theFilter, const Message_ProgressRange &theRange=Message_ProgressRange())
 Retrieves the document from specified file. In order not to override a version of the document which is already in memory, this method can be made to depend on the value returned by IsInSession.
 
PCDM_ReaderStatus Open (const TCollection_ExtendedString &thePath, Handle< TDocStd_Document > &theDoc, const Message_ProgressRange &theRange=Message_ProgressRange())
 Retrieves the document from specified file. In order not to override a version of the document which is already in memory, this method can be made to depend on the value returned by IsInSession.
 
PCDM_ReaderStatus Open (Standard_IStream &theIStream, Handle< TDocStd_Document > &theDoc, const Handle< PCDM_ReaderFilter > &theFilter, const Message_ProgressRange &theRange=Message_ProgressRange())
 Retrieves document from standard stream.
 
PCDM_ReaderStatus Open (Standard_IStream &theIStream, Handle< TDocStd_Document > &theDoc, const Message_ProgressRange &theRange=Message_ProgressRange())
 Retrieves document from standard stream.
 
PCDM_StoreStatus SaveAs (const Handle< TDocStd_Document > &theDoc, const TCollection_ExtendedString &path, const Message_ProgressRange &theRange=Message_ProgressRange())
 Save the active document in the file <name> in the path <path> ; o verwrites the file if it already exists.
 
PCDM_StoreStatus SaveAs (const Handle< TDocStd_Document > &theDoc, Standard_OStream &theOStream, const Message_ProgressRange &theRange=Message_ProgressRange())
 Save theDoc to standard SEEKABLE stream theOStream. the stream should support SEEK functionality.
 
PCDM_StoreStatus Save (const Handle< TDocStd_Document > &theDoc, const Message_ProgressRange &theRange=Message_ProgressRange())
 Save aDoc active document. Exceptions: Standard_NotImplemented if the document was not retrieved in the applicative session by using Open.
 
PCDM_StoreStatus SaveAs (const Handle< TDocStd_Document > &theDoc, const TCollection_ExtendedString &path, TCollection_ExtendedString &theStatusMessage, const Message_ProgressRange &theRange=Message_ProgressRange())
 Save the active document in the file <name> in the path <path> . overwrite the file if it already exist.
 
PCDM_StoreStatus SaveAs (const Handle< TDocStd_Document > &theDoc, Standard_OStream &theOStream, TCollection_ExtendedString &theStatusMessage, const Message_ProgressRange &theRange=Message_ProgressRange())
 Save theDoc TO standard SEEKABLE stream theOStream. the stream should support SEEK functionality.
 
PCDM_StoreStatus Save (const Handle< TDocStd_Document > &theDoc, TCollection_ExtendedString &theStatusMessage, const Message_ProgressRange &theRange=Message_ProgressRange())
 Save the document overwriting the previous file.
 
virtual void OnOpenTransaction (const Handle< TDocStd_Document > &theDoc)
 Notification that is fired at each OpenTransaction event.
 
virtual void OnCommitTransaction (const Handle< TDocStd_Document > &theDoc)
 Notification that is fired at each CommitTransaction event.
 
virtual void OnAbortTransaction (const Handle< TDocStd_Document > &theDoc)
 Notification that is fired at each AbortTransaction event.
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
- Public Member Functions inherited from CDF_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_DocumentRetrieve (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_DocumentRetrieve (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_ReaderReaderFromFormat (const TCollection_ExtendedString &aFormat)
 Returns instance of read driver for specified format.
 
virtual Handle< PCDM_StorageDriverWriterFromFormat (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_MetaDataDriverMetaDataDriver () const
 returns MetaDatdDriver of this application
 
- Public Member Functions inherited from CDM_Application
virtual Handle< Message_MessengerMessageDriver ()
 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 after 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_MetaDataLookUpTableMetaDataLookUpTable ()
 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_Transientoperator= (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_TransientThis () 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< TObj_ApplicationGetInstance ()
 Returns static instance of the application.
 
- Static Public Member Functions inherited from CDF_Application
static Handle< CDF_ApplicationLoad (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.
 

Protected Member Functions

 TObj_Application ()
 Constructor is protected. Use method GetInstance() method to obtain the static instance of the object (or derive your own application)
 
void SetError (const PCDM_StoreStatus theStatus, const TCollection_ExtendedString &theInfo)
 Sets an error occurred on storage of a document.
 
void SetError (const PCDM_ReaderStatus theStatus, const TCollection_ExtendedString &theInfo)
 Sets an error occurred on reading of a document.
 
- Protected Member Functions inherited from CDF_Application
 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.
 
- Data Fields inherited from CDF_Application
Handle< CDF_MetaDataDrivermyMetaDataDriver
 
Handle< CDF_DirectorymyDirectory
 
- Protected Attributes inherited from TDocStd_Application
Handle< Resource_ManagermyResources
 
Standard_Boolean myIsDriverLoaded
 
- Protected Attributes inherited from CDF_Application
PCDM_ReaderStatus myRetrievableStatus
 
NCollection_IndexedDataMap< TCollection_ExtendedString, Handle< PCDM_RetrievalDriver > > myReaders
 
NCollection_IndexedDataMap< TCollection_ExtendedString, Handle< PCDM_StorageDriver > > myWriters
 

Detailed Description

This is a base class for OCAF based TObj models with declared virtual methods.

Constructor & Destructor Documentation

◆ TObj_Application()

TObj_Application::TObj_Application ( )
protected

Constructor is protected. Use method GetInstance() method to obtain the static instance of the object (or derive your own application)

Constructor

Member Function Documentation

◆ CreateNewDocument()

virtual Standard_Boolean TObj_Application::CreateNewDocument ( Handle< TDocStd_Document > & theDoc,
const TCollection_ExtendedString & theFormat )
virtual

Create the OCAF document from scratch.

◆ DumpJson()

void TObj_Application::DumpJson ( Standard_OStream & theOStream,
Standard_Integer theDepth = -1 ) const

Dumps the content of me into the stream.

◆ ErrorMessage() [1/2]

virtual void TObj_Application::ErrorMessage ( const TCollection_ExtendedString & theMsg)
inlinevirtual

Signal error during Load or Save Default imiplementation invoke previous declaration with 0.

◆ ErrorMessage() [2/2]

virtual void TObj_Application::ErrorMessage ( const TCollection_ExtendedString & theMsg,
const Message_Gravity theLevel )
virtual

Signal error during Load or Save Default imiplementation is empty.

◆ GetInstance()

static Handle< TObj_Application > TObj_Application::GetInstance ( )
static

Returns static instance of the application.

◆ IsVerbose()

Standard_Boolean TObj_Application::IsVerbose ( ) const
inline

Returns the verbose flag.

◆ LoadDocument() [1/2]

virtual Standard_Boolean TObj_Application::LoadDocument ( const TCollection_ExtendedString & theSourceFile,
Handle< TDocStd_Document > & theTargetDoc )
virtual

Loading the OCAF document from a file.

◆ LoadDocument() [2/2]

virtual Standard_Boolean TObj_Application::LoadDocument ( Standard_IStream & theIStream,
Handle< TDocStd_Document > & theTargetDoc )
virtual

Loading the OCAF document from a stream.

◆ Messenger()

Handle< Message_Messenger > & TObj_Application::Messenger ( )
inline

Returns reference to associated messenger handle.

◆ ResourcesName()

virtual Standard_CString TObj_Application::ResourcesName ( )
overridevirtual

Return name of resource (i.e. "TObj")

Redefined OCAF methods

Reimplemented from TDocStd_Application.

◆ SaveDocument() [1/2]

virtual Standard_Boolean TObj_Application::SaveDocument ( const Handle< TDocStd_Document > & theSourceDoc,
const TCollection_ExtendedString & theTargetFile )
virtual

Saving the OCAF document to a file.

Load/Save support

◆ SaveDocument() [2/2]

virtual Standard_Boolean TObj_Application::SaveDocument ( const Handle< TDocStd_Document > & theSourceDoc,
Standard_OStream & theOStream )
virtual

Saving the OCAF document to a stream.

◆ SetError() [1/2]

void TObj_Application::SetError ( const PCDM_ReaderStatus theStatus,
const TCollection_ExtendedString & theInfo )
protected

Sets an error occurred on reading of a document.

◆ SetError() [2/2]

void TObj_Application::SetError ( const PCDM_StoreStatus theStatus,
const TCollection_ExtendedString & theInfo )
protected

Sets an error occurred on storage of a document.

◆ SetVerbose()

void TObj_Application::SetVerbose ( const Standard_Boolean isVerbose)
inline

Sets the verbose flag, meaning that load/save models should show CPU and elapsed times.


The documentation for this class was generated from the following file: