IDS peak genericC++ v1.16.0
Loading...
Searching...
No Matches
peak_common_imodule.hpp
Go to the documentation of this file.
1
10
11#pragma once
12
15
16namespace peak
17{
18namespace pipeline
19{
32namespace modules
33{
45{
46public:
47 ~IModule() override = default;
48
56 virtual void SetEnabled(bool enabled) = 0;
57
65 PEAK_COMMON_NO_DISCARD virtual bool IsEnabled() const = 0;
66
77 PEAK_COMMON_NO_DISCARD virtual const char* GetType() const = 0;
78
91
97 virtual void ResetToDefault() = 0;
98};
99} // namespace modules
100} // namespace pipeline
101} // namespace peak
A type-erased container for any copyable value.
Definition peak_common_any.hpp:36
Interface for objects that can be serialized to and deserialized from an archive.
Definition peak_common_iserializable.hpp:31
Interface for a module used within a pipeline.
Definition peak_common_imodule.hpp:45
virtual PEAK_COMMON_NO_DISCARD bool IsEnabled() const =0
Checks whether the module is currently enabled.
virtual void SetEnabled(bool enabled)=0
Sets the enabled state of the module.
virtual void ResetToDefault()=0
Resets the module to its default state. The enabled state is not reset.
virtual PEAK_COMMON_NO_DISCARD peak::common::Any Process(const peak::common::Any &input) const =0
Processes input data and returns the result.
virtual PEAK_COMMON_NO_DISCARD const char * GetType() const =0
Returns the type identifier of the module.
Interface definitions and implementations for individual module types used within a pipeline.
Definition peak_common_iautofeature_module.hpp:24
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_common_iautofeature_module.hpp:21
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_dynamic_loader.h:35
#define PEAK_COMMON_NO_DISCARD
Definition peak_common_defines.h:94