|
gsystem
|
Optional plugin interface for dynamically-loaded system factories. More...
#include <systemDynamicFactory.h>
Public Member Functions | |
| virtual void | loadSystem (GSystem *s, int verbosity)=0 |
| Load a system with an explicit verbosity. | |
| virtual | ~GSystemDynamicFactory ()=default |
Public Member Functions inherited from GBase< GSystemDynamicFactory > | |
| GBase (const std::shared_ptr< GOptions > &gopt, std::string logger_name="") | |
| GBase (const std::shared_ptr< GLogger > &logger) | |
| GBase (const GBase &)=default | |
| GBase (GBase &&) noexcept=default | |
| virtual | ~GBase () |
| GBase & | operator= (const GBase &)=default |
| GBase & | operator= (GBase &&) noexcept=default |
Static Public Member Functions | |
| static GSystemDynamicFactory * | instantiate (const dlhandle h, std::shared_ptr< GOptions > g) |
| Instantiate a dynamic factory from a shared-library handle. | |
Additional Inherited Members | |
Protected Attributes inherited from GBase< GSystemDynamicFactory > | |
| std::shared_ptr< GLogger > | log |
This interface is currently retained as a future extension point: it defines the minimal API contract that a dynamically-loaded factory would expose.
Plugin contract:
"GSystemDynamicFactory".GSystemDynamicFactory* and taking std::shared_ptr<GOptions> as argument.The helper instantiate() locates the symbol using dlsym and invokes it.
for external dynamic-link concepts. Definition at line 27 of file systemDynamicFactory.h.
|
virtualdefault |
|
inlinestatic |
| h | Dynamic library handle (dlopen-style). |
| g | Shared options/configuration instance. |
nullptr if the symbol is missing.The symbol must be named exactly "GSystemDynamicFactory" and must match the expected signature.
Definition at line 50 of file systemDynamicFactory.h.
|
pure virtual |
| s | Target system to populate. |
| verbosity | Verbosity level (factory-specific interpretation). |