Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes
BinLDrivers_DocumentStorageDriver Class Reference

persistent implementation of storage a document in a binary file More...

#include <BinLDrivers_DocumentStorageDriver.hxx>

Inheritance diagram for BinLDrivers_DocumentStorageDriver:
Inheritance graph
[legend]

Public Member Functions

 BinLDrivers_DocumentStorageDriver ()
 Constructor.
 
void Write (const occ::handle< CDM_Document > &theDocument, const TCollection_ExtendedString &theFileName, const Message_ProgressRange &theRange=Message_ProgressRange()) override
 Write <theDocument> to the binary file <theFileName>
 
void Write (const occ::handle< CDM_Document > &theDocument, Standard_OStream &theOStream, const Message_ProgressRange &theRange=Message_ProgressRange()) override
 Write <theDocument> to theOStream.
 
virtual occ::handle< BinMDF_ADriverTableAttributeDrivers (const occ::handle< Message_Messenger > &theMsgDriver)
 
void AddSection (const TCollection_AsciiString &theName, const bool isPostRead=true)
 Create a section that should be written after the OCAF data.
 
bool IsQuickPart (const int theVersion) const
 Return true if document should be stored in quick mode for partial reading.
 
- Public Member Functions inherited from PCDM_StorageDriver
virtual occ::handle< PCDM_DocumentMake (const occ::handle< CDM_Document > &aDocument)
 raises NotImplemented.
 
virtual void Make (const occ::handle< CDM_Document > &aDocument, NCollection_Sequence< occ::handle< PCDM_Document > > &Documents)
 By default, puts in the Sequence the document returns by the previous Make method.
 
void Write (const occ::handle< CDM_Document > &aDocument, const TCollection_ExtendedString &aFileName, const Message_ProgressRange &theRange=Message_ProgressRange()) override
 Warning! raises DriverError if an error occurs during inside the Make method. stores the content of the Document into a new file.
 
void Write (const occ::handle< CDM_Document > &theDocument, Standard_OStream &theOStream, const Message_ProgressRange &theRange=Message_ProgressRange()) override
 Write <theDocument> to theOStream.
 
void SetFormat (const TCollection_ExtendedString &aformat)
 
TCollection_ExtendedString GetFormat () const
 
bool IsError () const
 
void SetIsError (const bool theIsError)
 
PCDM_StoreStatus GetStoreStatus () const
 
void SetStoreStatus (const PCDM_StoreStatus theStoreStatus)
 
- 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 ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool 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.
 
bool IsKind (const char *const 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.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Member Functions

void WriteSubTree (const TDF_Label &theData, Standard_OStream &theOS, const bool &theQuickPart, const Message_ProgressRange &theRange=Message_ProgressRange())
 Write the tree under <theLabel> to the stream <theOS>
 
virtual void WriteSection (const TCollection_AsciiString &, const occ::handle< CDM_Document > &, Standard_OStream &)
 define the procedure of writing a section to file.
 
virtual void WriteShapeSection (BinLDrivers_DocumentSection &theDocSection, Standard_OStream &theOS, const TDocStd_FormatVersion theDocVer, const Message_ProgressRange &theRange=Message_ProgressRange())
 defines the procedure of writing a shape section to file
 
virtual void EnableQuickPartWriting (const occ::handle< Message_Messenger > &, const bool)
 Enables writing in the quick part access mode.
 
virtual void Clear ()
 clears the writing-cash data in drivers if any.
 

Protected Attributes

occ::handle< BinMDF_ADriverTablemyDrivers
 
NCollection_IndexedMap< occ::handle< Standard_Transient > > myRelocTable
 
occ::handle< Message_MessengermyMsgDriver
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_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.
 

Detailed Description

persistent implementation of storage a document in a binary file

Constructor & Destructor Documentation

◆ BinLDrivers_DocumentStorageDriver()

BinLDrivers_DocumentStorageDriver::BinLDrivers_DocumentStorageDriver ( )

Constructor.

Member Function Documentation

◆ AddSection()

void BinLDrivers_DocumentStorageDriver::AddSection ( const TCollection_AsciiString & theName,
const bool isPostRead = true )

Create a section that should be written after the OCAF data.

◆ AttributeDrivers()

virtual occ::handle< BinMDF_ADriverTable > BinLDrivers_DocumentStorageDriver::AttributeDrivers ( const occ::handle< Message_Messenger > & theMsgDriver)
virtual

◆ Clear()

virtual void BinLDrivers_DocumentStorageDriver::Clear ( )
protectedvirtual

clears the writing-cash data in drivers if any.

Reimplemented in BinDrivers_DocumentStorageDriver.

◆ EnableQuickPartWriting()

virtual void BinLDrivers_DocumentStorageDriver::EnableQuickPartWriting ( const occ::handle< Message_Messenger > & ,
const bool  )
inlineprotectedvirtual

Enables writing in the quick part access mode.

Reimplemented in BinDrivers_DocumentStorageDriver.

◆ IsQuickPart()

bool BinLDrivers_DocumentStorageDriver::IsQuickPart ( const int theVersion) const

Return true if document should be stored in quick mode for partial reading.

◆ Write() [1/2]

void BinLDrivers_DocumentStorageDriver::Write ( const occ::handle< CDM_Document > & theDocument,
const TCollection_ExtendedString & theFileName,
const Message_ProgressRange & theRange = Message_ProgressRange() )
overridevirtual

Write <theDocument> to the binary file <theFileName>

Implements PCDM_Writer.

◆ Write() [2/2]

void BinLDrivers_DocumentStorageDriver::Write ( const occ::handle< CDM_Document > & theDocument,
Standard_OStream & theOStream,
const Message_ProgressRange & theRange = Message_ProgressRange() )
overridevirtual

Write <theDocument> to theOStream.

Implements PCDM_Writer.

◆ WriteSection()

virtual void BinLDrivers_DocumentStorageDriver::WriteSection ( const TCollection_AsciiString & ,
const occ::handle< CDM_Document > & ,
Standard_OStream &  )
protectedvirtual

define the procedure of writing a section to file.

◆ WriteShapeSection()

virtual void BinLDrivers_DocumentStorageDriver::WriteShapeSection ( BinLDrivers_DocumentSection & theDocSection,
Standard_OStream & theOS,
const TDocStd_FormatVersion theDocVer,
const Message_ProgressRange & theRange = Message_ProgressRange() )
protectedvirtual

defines the procedure of writing a shape section to file

Reimplemented in BinDrivers_DocumentStorageDriver.

◆ WriteSubTree()

void BinLDrivers_DocumentStorageDriver::WriteSubTree ( const TDF_Label & theData,
Standard_OStream & theOS,
const bool & theQuickPart,
const Message_ProgressRange & theRange = Message_ProgressRange() )
protected

Write the tree under <theLabel> to the stream <theOS>

Field Documentation

◆ myDrivers

occ::handle<BinMDF_ADriverTable> BinLDrivers_DocumentStorageDriver::myDrivers
protected

◆ myMsgDriver

occ::handle<Message_Messenger> BinLDrivers_DocumentStorageDriver::myMsgDriver
protected

◆ myRelocTable

NCollection_IndexedMap<occ::handle<Standard_Transient> > BinLDrivers_DocumentStorageDriver::myRelocTable
protected

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