CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdRxDynamicLinker Class Referenceabstract

#include <DynamicLinker.h>

Inheritance diagram for OdRxDynamicLinker:
OdRxObject

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdRxDynamicLinker)
 
virtual void addReactor (OdRxDLinkerReactor *pReactor)=0
 
virtual void removeReactor (OdRxDLinkerReactor *pReactor)=0
 
virtual OdRxModulePtr loadModule (const OdString &moduleFileName, bool silent=true)=0
 
virtual bool unloadModule (const OdString &moduleFileName)=0
 
virtual bool unloadUnreferenced ()=0
 
virtual OdRxModulePtr loadApp (const OdString &applicationName, bool silent=true)=0
 
virtual OdRxModulePtr loadApp (const OdString &applicationName, OdaApp::LoadReasons loadReason, bool silent=true)=0
 
virtual OdRxSystemServicesPtr sysServices () const =0
 
virtual OdRxDictionaryPtr sysRegistry () const =0
 
virtual OdRxModuleloadModuleObj (OdRxModule *pModuleObj, bool bSilent=true)=0
 
virtual int getModuleCount () const =0
 
virtual OdRxModulePtr getModule (int index, OdString &key) const =0
 
virtual OdRxModulePtr getModule (const OdString &key) const =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 ()
 
static void rxInit ()
 
static void rxUninit ()
 

Detailed Description

This class implements Dynamic Linker services for ODA Xtension(TX) applications:

The following services are implemented: Loading applications by specified by application name. Loading and unloading modules specified by filename. Addition and removal of reactors from the dynamic linker reactor chain.

Remarks
There is exactly one OdRxDynamicLinker class object. It is global to the ODA Platform and thus is non-instantiable for client applications.

A pointer to the OdRxDynamicLinker object will be returned by the global odrxDynamicLinker() function.

<group OdRx_Classes>

Definition at line 72 of file DynamicLinker.h.

Member Function Documentation

◆ addReactor()

virtual void OdRxDynamicLinker::addReactor ( OdRxDLinkerReactor * pReactor)
pure virtual

Adds the specified reactor to the dynamic linker reactor chain.

Parameters
pReactor[in] Pointer to the reactor.

◆ getModule() [1/2]

virtual OdRxModulePtr OdRxDynamicLinker::getModule ( const OdString & key) const
pure virtual

Returns the specified abstract (platform-independent) module.

◆ getModule() [2/2]

virtual OdRxModulePtr OdRxDynamicLinker::getModule ( int index,
OdString & key ) const
pure virtual

Returns the specified abstract (platform-independent) module.

◆ getModuleCount()

virtual int OdRxDynamicLinker::getModuleCount ( ) const
pure virtual

Returns the count of loaded modules.

◆ loadApp() [1/2]

virtual OdRxModulePtr OdRxDynamicLinker::loadApp ( const OdString & applicationName,
bool silent = true )
pure virtual

Maps the specfied application name to the a module filename, and loads that module.

Parameters
applicationName[in] TX application name.
silent[in] If and only if true, no load status message will be printed.

◆ loadApp() [2/2]

virtual OdRxModulePtr OdRxDynamicLinker::loadApp ( const OdString & applicationName,
OdaApp::LoadReasons loadReason,
bool silent = true )
pure virtual

◆ loadModule()

virtual OdRxModulePtr OdRxDynamicLinker::loadModule ( const OdString & moduleFileName,
bool silent = true )
pure virtual

Loads the specified abstract (platform-independent) module.

Returns
Returns a SmartPointer to the abstract module object.
Parameters
moduleFileName[in] Module filename to load.
silent[in] If true, no load status message will be printed.

◆ loadModuleObj()

virtual OdRxModule * OdRxDynamicLinker::loadModuleObj ( OdRxModule * pModuleObj,
bool bSilent = true )
pure virtual

DOM

Special internal method - used for non-standard module loading only

◆ ODRX_DECLARE_MEMBERS()

OdRxDynamicLinker::ODRX_DECLARE_MEMBERS ( OdRxDynamicLinker )

◆ removeReactor()

virtual void OdRxDynamicLinker::removeReactor ( OdRxDLinkerReactor * pReactor)
pure virtual

Removes the specified reactor to the dynamic linker reactor chain.

Parameters
pReactor[in] Pointer to the reactor.

◆ sysRegistry()

virtual OdRxDictionaryPtr OdRxDynamicLinker::sysRegistry ( ) const
pure virtual

Returns a SmartPointer to the OdRxDictionary instance that created by OdInitialize.

◆ sysServices()

virtual OdRxSystemServicesPtr OdRxDynamicLinker::sysServices ( ) const
pure virtual

Returns a SmartPointer to the OdDbSystemServices instance that is used for file creation and access.

See also
odInitialize

◆ unloadModule()

virtual bool OdRxDynamicLinker::unloadModule ( const OdString & moduleFileName)
pure virtual

Unoads the specified abstract (platform-independent) module.

Parameters
moduleFileName[in] Module filename to unload.

◆ unloadUnreferenced()

virtual bool OdRxDynamicLinker::unloadUnreferenced ( )
pure virtual

Unoads all unreferenced modules.


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