|
gfactory
|
The gfactory module provides a lightweight registry and loader for plugin-style objects. It supports two complementary workflows:
The primary entry point is the GManager class.
This module currently does not define or consume any module-specific option keys.
Notes:
PLUGIN_LOGGER and therefore can be influenced by global logging controls (e.g. verbosity, debug) defined by GOptions(argc,argv,...).<name>.gplugin.Car) typically provides a static method instantiate(...) that uses dlsym to locate an extern "C" factory function (e.g., CarFactory).std::shared_ptr<T> and keeps the library loaded for the lifetime of the object.examples/)The module ships with small examples intended as reference implementations:
Shape) and dynamic loading (for Car) in a single program.Triangle, Box) derived from Shape.Car products and the exported CarFactory symbol.Many classes in this ecosystem derive (directly or indirectly) from glogger infrastructure via GBase. In practice, the module emits:
Exact formatting and filtering depend on the logger configuration carried by GOptions.
Maintainer: Maurizio Ungaro (Jefferson Lab).