38 int, float, double, std::string, std::monostate,
39 std::vector<int>, std::vector<float>, std::vector<double>
161 friend std::ostream& operator<<(std::ostream& os, const
DObject& obj);
166 bool debugEnabled_ = false;
167 std::map<std::
string,
Plugin> plugins_;
DObject()
Default constructor.
Definition DObject.cpp:13
void runAllPlugins()
Executes all registered plugins in the registry.
Definition DObject.cpp:99
const Metadata & getMetadata() const noexcept
Retrieves the metadata associated with the DObject.
Definition DObject.cpp:41
void registerPlugin(const std::string &id, Plugin plugin)
Registers a plugin with the DObject.
Definition DObject.cpp:69
void setMetadata(const Metadata &metadata)
Updates the metadata for the DObject.
Definition DObject.cpp:48
const DataType & getData() const noexcept
Retrieves the data stored in the DObject.
Definition DObject.cpp:26
void setDebugging(bool enableDebug)
Enables or disables debugging and tracing for the DObject.
Definition DObject.cpp:55
void runPlugin(const std::string &id)
Executes a plugin by its identifier.
Definition DObject.cpp:88
void unregisterPlugin(const std::string &id)
Unregisters a plugin by its identifier.
Definition DObject.cpp:79
void setData(const DataType &data)
Sets the data for the DObject.
Definition DObject.cpp:33
std::variant< int, float, double, std::string, std::monostate, std::vector< int >, std::vector< float >, std::vector< double > > DataType
Supported data types for the DObject.
Definition DObject.h:37
bool isDebuggingEnabled() const noexcept
Checks if debugging is enabled for the DObject.
Definition DObject.cpp:62
std::function< void(DObject &)> Plugin
Placeholder type for plugins.
Definition DObject.h:47