56 std::vector<std::shared_ptr<NodeMap>>
NodeMaps()
const;
66 std::shared_ptr<class Port>
Port()
const;
72 void Initialize()
const override;
76 mutable std::vector<std::shared_ptr<NodeMap>> m_nodeMaps;
77 mutable std::shared_ptr<class Port> m_port;
95 InitializeIfNecessary();
101 InitializeIfNecessary();
106 inline void Module::Initialize()
const 110 auto numNodeMaps = QueryNumericFromCInterfaceFunction<size_t>([&](
size_t* _numNodeMaps) {
114 std::vector<std::shared_ptr<NodeMap>> nodeMaps;
115 for (
size_t x = 0; x < numNodeMaps; ++x)
117 auto nodeMapHandle = QueryNumericFromCInterfaceFunction<PEAK_NODE_MAP_HANDLE>(
122 nodeMaps.emplace_back(std::make_shared<ClassCreator<NodeMap>>(nodeMapHandle));
125 m_nodeMaps = nodeMaps;
127 auto portHandle = QueryNumericFromCInterfaceFunction<PEAK_PORT_HANDLE>([&](
PEAK_PORT_HANDLE* _portHandle) {
131 m_port = std::make_shared<ClassCreator<peak::core::Port>>(portHandle);
PEAK_C_API PEAK_Module_GetNodeMap(PEAK_MODULE_HANDLE moduleHandle, size_t index, PEAK_NODE_MAP_HANDLE *nodeMapHandle)
Asks the given module for the node map with the given index.
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition: peak_dynamic_loader.h:32
virtual PEAK_MODULE_HANDLE ModuleHandle() const =0
std::shared_ptr< class Port > Port() const
Returns the module's port.
Definition: peak_module.hpp:99
struct PEAK_NODE_MAP * PEAK_NODE_MAP_HANDLE
Definition: peak_backend.h:405
Module & operator=(const Module &other)=delete
std::vector< std::shared_ptr< NodeMap > > NodeMaps() const
Returns the module's node maps.
Definition: peak_module.hpp:93
PEAK_C_API PEAK_Module_GetNumNodeMaps(PEAK_MODULE_HANDLE moduleHandle, size_t *numNodeMaps)
Asks the given module for its number of node maps.
struct PEAK_PORT * PEAK_PORT_HANDLE
Definition: peak_backend.h:449
Represents an extended GenTL port.
Definition: peak_module.hpp:37
#define PEAK_C_ABI_PREFIX
Definition: peak_dll_defines.h:16
PEAK_C_API PEAK_Module_GetPort(PEAK_MODULE_HANDLE moduleHandle, PEAK_PORT_HANDLE *portHandle)
Asks the given module for its port.
virtual ~Module()=default
struct PEAK_MODULE * PEAK_MODULE_HANDLE
Definition: peak_backend.h:401