CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
OdTfPersistentReactor Class Referenceabstract

#include <TfObjectReactor.h>

Inheritance diagram for OdTfPersistentReactor:
OdTfObjectReactor OdRxObject

Public Member Functions

virtual void recvPropagateModify (const OdTfObject *pSubElm)=0
 
virtual void xmitPropagateModify () const =0
 
- Public Member Functions inherited from OdTfObjectReactor
virtual void copied (const OdTfObject *pElement, const OdTfObject *pNewElement)=0
 
virtual void erased (const OdTfObject *pElement, bool erasing=true)=0
 
virtual void goodbye (const OdTfObject *pElement)=0
 
virtual void openedForModify (const OdTfObject *pElement)=0
 
virtual void modified (const OdTfObject *pElement)=0
 
virtual void modifiedGraphics (const OdTfObject *pElement)=0
 
virtual void modifiedLinkages (const OdTfObject *pElement)=0
 
virtual void subElementModified (const OdTfObject *pElement, const OdTfObject *pSubElm)=0
 
virtual void modifyUndone (const OdTfObject *pElement)=0
 
virtual void unappended (const OdTfObject *pElement)=0
 
virtual void reappended (const OdTfObject *pElement)=0
 
virtual void closed (OdDbStub *elementId)=0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

This class is the base class for persistent reactors, which notify top-level objects about modification events. To implement your own notification mechanism, re-implement the recvPropagateModify() and xmitPropagateModify() methods of the base class.

<group OdTf_Classes>

Definition at line 217 of file TfObjectReactor.h.

Member Function Documentation

◆ recvPropagateModify()

virtual void OdTfPersistentReactor::recvPropagateModify ( const OdTfObject pSubElm)
pure virtual

Allows a sub-element of a complex element to notify its parent element that it has been changed.

Parameters
pSubElm[in] A pointer to the modified sub-element.
Remarks
The notification algorithm works the following way:

The call of the method close() of the sub-element object triggers a modification notification handler, which calls the xmitPropagateModify() method.

The sub-element object calls the recvPropagateModify() method of its parent element and passes to it the pointer to itself.

The method recvPropagateModify() of the parent element sends a modification notification to the top element of its class hierarchy.

The default implementation of this function does nothing. 
This function can be overridden in custom classes.

◆ xmitPropagateModify()

virtual void OdTfPersistentReactor::xmitPropagateModify ( ) const
pure virtual

Allows a sub-element of a complex element to notify its root element that it has been changed.

Remarks
The default implementation of the function informs the database that contains the owner object about modifications and also attaches triggering reactor objects to the database. This function can be overridden in custom classes.

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