CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
RxDynamicModule.h File Reference
#include "RxModule.h"
#include "TDVersion.h"
#include "OdString.h"
#include "OdAllocOp.h"
#include "Tf/TfSchemaManagerInterface.h"
#include "TD_PackPush.h"
#include "TD_PackPop.h"

Go to the source code of this file.

Classes

class  OdRxStaticModule< T, TInterface >
 
struct  STATIC_MODULE_DESC
 
class  OdRxPseudoStaticModule< T, TInterface >
 

Macros

#define ODRX_STATIC_MODULE_ENTRY_POINT(_UserModuleClass)
 
#define ODRX_DECLARE_STATIC_MODULE_ENTRY_POINT(_UserModuleClass)
 
#define ODRX_BEGIN_STATIC_MODULE_MAP()
 
#define ODRX_DEFINE_STATIC_APPLICATION(AppName, ModuleClassName)
 
#define ODRX_DEFINE_STATIC_APPMODULE(moduleName, ModuleClassName)
 
#define ODRX_END_STATIC_MODULE_MAP()
 
#define ODRX_DECLARE_EXTERN_STATIC_MODULE_MAP   extern STATIC_MODULE_DESC g_ODRX_STATIC_MODULE_MAP[];
 
#define ODRX_INIT_STATIC_MODULE_MAP()
 
#define ODRX_DEFINE_STATIC_MODULE(_UserModuleClass)
 
#define ODRX_DEFINE_PSEUDO_STATIC_MODULE(_UserModuleClass)
 
#define ODRX_STATIC_MODULE_PATH   ""
 
#define ODRX_STATIC_APP_MODULE_NAME(AppName)
 
#define ODRX_DEFINE_DYNAMIC_MODULE(_UserModuleClass)
 
#define ODRX_GET_MODULE_OBJECT(_UserModuleClass)
 
#define DISABLE_THREAD_LIBRARY_CALLS()
 

Typedefs

typedef OdRxModule *(* StaticModuleEntryPoint) (const OdString &szModuleName)
 

Functions

FIRSTDLL_EXPORT void odrxInitStaticModuleMap (STATIC_MODULE_DESC *pMap)
 

Macro Definition Documentation

◆ DISABLE_THREAD_LIBRARY_CALLS

#define DISABLE_THREAD_LIBRARY_CALLS ( )

Definition at line 714 of file RxDynamicModule.h.

◆ ODRX_BEGIN_STATIC_MODULE_MAP

#define ODRX_BEGIN_STATIC_MODULE_MAP ( )
Value:
STATIC_MODULE_DESC g_ODRX_STATIC_MODULE_MAP[] = {

Defines the start of the static module map, which contains entries for all custom ODA Platform modules that are linked in statically to a client application.

Definition at line 121 of file RxDynamicModule.h.

◆ ODRX_DECLARE_EXTERN_STATIC_MODULE_MAP

#define ODRX_DECLARE_EXTERN_STATIC_MODULE_MAP   extern STATIC_MODULE_DESC g_ODRX_STATIC_MODULE_MAP[];

Declare the static module map that will be defined in some other place in binary.

Definition at line 151 of file RxDynamicModule.h.

◆ ODRX_DECLARE_STATIC_MODULE_ENTRY_POINT

#define ODRX_DECLARE_STATIC_MODULE_ENTRY_POINT ( _UserModuleClass)
Value:
OdRxModule* ODRX_STATIC_MODULE_ENTRY_POINT(_UserModuleClass)(const OdString& szModuleName)
#define ODRX_STATIC_MODULE_ENTRY_POINT(_UserModuleClass)

This macro is used to create an entry point function for a custom application which are linked in statically to a client application.

Definition at line 105 of file RxDynamicModule.h.

◆ ODRX_DEFINE_DYNAMIC_MODULE

#define ODRX_DEFINE_DYNAMIC_MODULE ( _UserModuleClass)
Value:
ODRX_DEFINE_STATIC_MODULE(_UserModuleClass)
#define ODRX_DEFINE_STATIC_MODULE(_UserModuleClass)

Definition at line 691 of file RxDynamicModule.h.

◆ ODRX_DEFINE_PSEUDO_STATIC_MODULE

#define ODRX_DEFINE_PSEUDO_STATIC_MODULE ( _UserModuleClass)
Value:
{\
}
#define ODRX_DECLARE_STATIC_MODULE_ENTRY_POINT(_UserModuleClass)
static OdRxModule * createModule(const OdString &name)

Definition at line 234 of file RxDynamicModule.h.

◆ ODRX_DEFINE_STATIC_APPLICATION

#define ODRX_DEFINE_STATIC_APPLICATION ( AppName,
ModuleClassName )
Value:
{ AppName, ODRX_STATIC_MODULE_ENTRY_POINT(ModuleClassName) },

Defines the entry in the static module map, which contains entries for all custom ODA Platform modules that are linked in statically to a client application.

Parameters
AppName[in] Registered application name, that can be later passed to OdRxDynamicLinker::loadModule to load the static application.
ModuleClassName[in] Name of the C++ class derived from OdRxModule, that implements support for this module.

Definition at line 133 of file RxDynamicModule.h.

◆ ODRX_DEFINE_STATIC_APPMODULE

#define ODRX_DEFINE_STATIC_APPMODULE ( moduleName,
ModuleClassName )
Value:
ODRX_DEFINE_STATIC_APPLICATION(moduleName, ModuleClassName)
#define ODRX_DEFINE_STATIC_APPLICATION(AppName, ModuleClassName)

Definition at line 138 of file RxDynamicModule.h.

◆ ODRX_DEFINE_STATIC_MODULE

#define ODRX_DEFINE_STATIC_MODULE ( _UserModuleClass)
Value:
\
static OdRxModule* g_pSingletonModule##_UserModuleClass = 0;\
\
ODRX_DECLARE_STATIC_MODULE_ENTRY_POINT(_UserModuleClass)\
{\
}
static OdRxModule * createModule(const OdString &name)

Definition at line 157 of file RxDynamicModule.h.

◆ ODRX_END_STATIC_MODULE_MAP

#define ODRX_END_STATIC_MODULE_MAP ( )
Value:
{ 0, 0 } };

Defines the end of the static module map, which contains entries for all custom ODA Platform modules that are linked in statically to a client application.

Definition at line 145 of file RxDynamicModule.h.

◆ ODRX_GET_MODULE_OBJECT

#define ODRX_GET_MODULE_OBJECT ( _UserModuleClass)
Value:
g_pSingletonModule##_UserModuleClass

Definition at line 693 of file RxDynamicModule.h.

◆ ODRX_INIT_STATIC_MODULE_MAP

#define ODRX_INIT_STATIC_MODULE_MAP ( )
Value:
odrxInitStaticModuleMap(g_ODRX_STATIC_MODULE_MAP)
FIRSTDLL_EXPORT void odrxInitStaticModuleMap(STATIC_MODULE_DESC *pMap)

Definition at line 155 of file RxDynamicModule.h.

◆ ODRX_STATIC_APP_MODULE_NAME

#define ODRX_STATIC_APP_MODULE_NAME ( AppName)
Value:
AppName

Definition at line 689 of file RxDynamicModule.h.

◆ ODRX_STATIC_MODULE_ENTRY_POINT

#define ODRX_STATIC_MODULE_ENTRY_POINT ( _UserModuleClass)
Value:
odrxCreateModuleObject_For_##_UserModuleClass

Definition at line 99 of file RxDynamicModule.h.

◆ ODRX_STATIC_MODULE_PATH

#define ODRX_STATIC_MODULE_PATH   ""

Definition at line 687 of file RxDynamicModule.h.

Typedef Documentation

◆ StaticModuleEntryPoint

typedef OdRxModule *(* StaticModuleEntryPoint) (const OdString &szModuleName)

Definition at line 97 of file RxDynamicModule.h.

Function Documentation

◆ odrxInitStaticModuleMap()

FIRSTDLL_EXPORT void odrxInitStaticModuleMap ( STATIC_MODULE_DESC * pMap)