Open CASCADE Technology 6.6.0
Public Member Functions | Protected Member Functions
TDocStd_Application Class Reference

The abstract root class for all application classes.
They are in charge of:
More...

#include <TDocStd_Application.hxx>

Inheritance diagram for TDocStd_Application:
Inheritance graph
[legend]

Public Member Functions

Standard_Boolean IsDriverLoaded () const
 Check if meta data driver was successfully loaded
by the application constructor

virtual Handle_Resource_Manager Resources ()
 create (if not done) a Manager using ResourcesName
method.

virtual Standard_CString ResourcesName ()=0
 Returns the name of the file containing the
resources of this application.
In a resource file, the application associates the schema name
of the document with the storage and
retrieval plug-ins that are to be loaded for each
document. On retrieval, the application reads the
schema name in the heading of the CSF file and
loads the plug-in indicated in the resource file.
This plug-in instantiates the actual driver for
transient-persistent conversion.
Your application can bring this process into play
by defining a class which inherits
CDF_Application and redefines the function
which returns the appropriate resources file. At
this point, the function Retrieve and the class
CDF_Store can be called. This allows you to
deal with storage and retrieval of - as well as
copying and pasting - documents.
To implement a class like this, several virtual
functions should be redefined. In particular, you
must redefine the abstract function Resources
inherited from the superclass CDM_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 Formats (TColStd_SequenceOfExtendedString &Formats)=0
 Returns the format name Formats
representing the format supported for
application documents.
This virtual function is to be redefined for each
specific application.

virtual void NewDocument (const TCollection_ExtendedString &format, Handle< TDocStd_Document > &aDoc)
 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.

virtual void InitDocument (const Handle< TDocStd_Document > &aDoc) const
 Initialize the document aDoc for the applicative session.
This virtual function is called by NewDocument
and is to be redefined for each specific application.
//! Modified flag (different of disk version)
=============
//! to open/save a document
=======================

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) {
cout << "document " << insession << " is already in session" << endl;
return 0;
}

PCDM_ReaderStatus Open (const TCollection_ExtendedString &path, Handle< TDocStd_Document > &aDoc)
 Retrieves the document aDoc stored under the
name aName in the directory directory.
In order not to override a version of aDoc which
is already in memory, this method can be made
to depend on the value returned by IsInSession.

PCDM_StoreStatus SaveAs (const Handle< TDocStd_Document > &aDoc, const TCollection_ExtendedString &path)
 Save the active document in the file <name> in the
path <path> ; o verwrites the file if it already exists.

PCDM_StoreStatus Save (const Handle< TDocStd_Document > &aDoc)
 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 > &aDoc, const TCollection_ExtendedString &path, TCollection_ExtendedString &theStatusMessage)
 Save the active document in the file <name> in the
path <path> . overwrite the file if it
already exist.

PCDM_StoreStatus Save (const Handle< TDocStd_Document > &aDoc, TCollection_ExtendedString &theStatusMessage)
 Save the document overwriting the previous file

Protected Member Functions

 TDocStd_Application ()
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.


Detailed Description


Constructor & Destructor Documentation

TDocStd_Application::TDocStd_Application ( ) [protected]

Member Function Documentation

void TDocStd_Application::Close ( const Handle< TDocStd_Document > &  aDoc)
virtual void TDocStd_Application::Formats ( TColStd_SequenceOfExtendedString Formats) [pure virtual]
void TDocStd_Application::GetDocument ( const Standard_Integer  index,
Handle< TDocStd_Document > &  aDoc 
) const
virtual void TDocStd_Application::InitDocument ( const Handle< TDocStd_Document > &  aDoc) const [virtual]

Reimplemented in XCAFApp_Application.

Standard_Boolean TDocStd_Application::IsDriverLoaded ( ) const
Standard_Integer TDocStd_Application::IsInSession ( const TCollection_ExtendedString path) const
Standard_Integer TDocStd_Application::NbDocuments ( ) const
virtual void TDocStd_Application::NewDocument ( const TCollection_ExtendedString format,
Handle< TDocStd_Document > &  aDoc 
) [virtual]
virtual void TDocStd_Application::OnAbortTransaction ( const Handle< TDocStd_Document > &  theDoc) [protected, virtual]
virtual void TDocStd_Application::OnCommitTransaction ( const Handle< TDocStd_Document > &  theDoc) [protected, virtual]
virtual void TDocStd_Application::OnOpenTransaction ( const Handle< TDocStd_Document > &  theDoc) [protected, virtual]
PCDM_ReaderStatus TDocStd_Application::Open ( const TCollection_ExtendedString path,
Handle< TDocStd_Document > &  aDoc 
)
virtual Handle_Resource_Manager TDocStd_Application::Resources ( ) [virtual]

Implements CDM_Application.

virtual Standard_CString TDocStd_Application::ResourcesName ( ) [pure virtual]
PCDM_StoreStatus TDocStd_Application::Save ( const Handle< TDocStd_Document > &  aDoc,
TCollection_ExtendedString theStatusMessage 
)
PCDM_StoreStatus TDocStd_Application::Save ( const Handle< TDocStd_Document > &  aDoc)
PCDM_StoreStatus TDocStd_Application::SaveAs ( const Handle< TDocStd_Document > &  aDoc,
const TCollection_ExtendedString path,
TCollection_ExtendedString theStatusMessage 
)
PCDM_StoreStatus TDocStd_Application::SaveAs ( const Handle< TDocStd_Document > &  aDoc,
const TCollection_ExtendedString path 
)

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines