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

A universal driver for the attribute that inherits another attribute with ready to used persistence mechanism implemented (already has a driver to store/retrieve). More...

#include <XmlMDF_DerivedDriver.hxx>

Inheritance diagram for XmlMDF_DerivedDriver:
Inheritance graph
[legend]

Public Member Functions

 XmlMDF_DerivedDriver (const occ::handle< TDF_Attribute > &theDerivative, const occ::handle< XmlMDF_ADriver > &theBaseDriver)
 Creates a derivative persistence driver for theDerivative attribute by reusage of theBaseDriver.
 
occ::handle< TDF_AttributeNewEmpty () const override
 Creates a new instance of the derivative attribute.
 
const TCollection_AsciiStringTypeName () const
 Returns the full XML tag name (including NS prefix)
 
bool Paste (const XmlObjMgt_Persistent &theSource, const occ::handle< TDF_Attribute > &theTarget, XmlObjMgt_RRelocationTable &theRelocTable) const override
 Reuses the base driver to read the base fields.
 
void Paste (const occ::handle< TDF_Attribute > &theSource, XmlObjMgt_Persistent &theTarget, XmlObjMgt_SRelocationTable &theRelocTable) const override
 Reuses the base driver to store the base fields.
 
- Public Member Functions inherited from XmlMDF_ADriver
virtual int VersionNumber () const
 Returns the version number from which the driver is available.
 
virtual occ::handle< Standard_TypeSourceType () const
 Returns the type of source object, inheriting from Attribute from TDF.
 
const TCollection_AsciiStringTypeName () const
 Returns the full XML tag name (including NS prefix)
 
const TCollection_AsciiStringNamespace () const
 Returns the namespace string.
 
const occ::handle< Message_Messenger > & MessageDriver () const
 Returns the current message driver of this driver.
 
- 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 Attributes

occ::handle< TDF_AttributemyDerivative
 the derivative attribute that inherits the base
 
occ::handle< XmlMDF_ADrivermyBaseDirver
 the base attribute driver to be reused here
 
- Protected Attributes inherited from XmlMDF_ADriver
TCollection_AsciiString myTypeName
 
TCollection_AsciiString myNamespace
 
occ::handle< Message_MessengermyMessageDriver
 

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.
 
- Protected Member Functions inherited from XmlMDF_ADriver
 XmlMDF_ADriver (const occ::handle< Message_Messenger > &theMessageDriver, const char *const theNamespace, const char *const theName=nullptr)
 

Detailed Description

A universal driver for the attribute that inherits another attribute with ready to used persistence mechanism implemented (already has a driver to store/retrieve).

Constructor & Destructor Documentation

◆ XmlMDF_DerivedDriver()

XmlMDF_DerivedDriver::XmlMDF_DerivedDriver ( const occ::handle< TDF_Attribute > & theDerivative,
const occ::handle< XmlMDF_ADriver > & theBaseDriver )
inline

Creates a derivative persistence driver for theDerivative attribute by reusage of theBaseDriver.

Parameters
theDerivativean instance of the attribute, just created, detached from any label
theBaseDrivera driver of the base attribute, called by Paste methods

Member Function Documentation

◆ NewEmpty()

occ::handle< TDF_Attribute > XmlMDF_DerivedDriver::NewEmpty ( ) const
inlineoverridevirtual

Creates a new instance of the derivative attribute.

Implements XmlMDF_ADriver.

◆ Paste() [1/2]

void XmlMDF_DerivedDriver::Paste ( const occ::handle< TDF_Attribute > & theSource,
XmlObjMgt_Persistent & theTarget,
XmlObjMgt_SRelocationTable & theRelocTable ) const
inlineoverridevirtual

Reuses the base driver to store the base fields.

Implements XmlMDF_ADriver.

◆ Paste() [2/2]

bool XmlMDF_DerivedDriver::Paste ( const XmlObjMgt_Persistent & theSource,
const occ::handle< TDF_Attribute > & theTarget,
XmlObjMgt_RRelocationTable & theRelocTable ) const
inlineoverridevirtual

Reuses the base driver to read the base fields.

Implements XmlMDF_ADriver.

◆ TypeName()

const TCollection_AsciiString & XmlMDF_DerivedDriver::TypeName ( ) const
inline

Returns the full XML tag name (including NS prefix)

Field Documentation

◆ myBaseDirver

occ::handle<XmlMDF_ADriver> XmlMDF_DerivedDriver::myBaseDirver
protected

the base attribute driver to be reused here

◆ myDerivative

occ::handle<TDF_Attribute> XmlMDF_DerivedDriver::myDerivative
protected

the derivative attribute that inherits the base


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