56 std::vector<std::shared_ptr<NodeMap>>
NodeMaps()
const;
67 std::shared_ptr<class Port>
Port()
const;
73 void Initialize()
const override;
77 mutable std::vector<std::shared_ptr<NodeMap>> m_nodeMaps;
78 mutable std::shared_ptr<class Port> m_port;
96 InitializeIfNecessary();
102 InitializeIfNecessary();
107inline void Module::Initialize()
const
111 auto numNodeMaps = QueryNumericFromCInterfaceFunction<size_t>([&](
size_t* _numNodeMaps) {
115 std::vector<std::shared_ptr<NodeMap>> nodeMaps;
116 for (
size_t x = 0; x < numNodeMaps; ++x)
118 auto nodeMapHandle = QueryNumericFromCInterfaceFunction<PEAK_NODE_MAP_HANDLE>(
123 nodeMaps.emplace_back(std::make_shared<ClassCreator<NodeMap>>(nodeMapHandle));
126 m_nodeMaps = nodeMaps;
128 auto portHandle = QueryNumericFromCInterfaceFunction<PEAK_PORT_HANDLE>([&](
PEAK_PORT_HANDLE* _portHandle) {
132 m_port = std::make_shared<ClassCreator<peak::core::Port>>(portHandle);
std::vector< std::shared_ptr< NodeMap > > NodeMaps() const
Returns the module's node maps.
Definition peak_module.hpp:94
std::shared_ptr< class Port > Port() const
Returns the module's port.
Definition peak_module.hpp:100
Module(const Module &other)=delete
Module & operator=(const Module &other)=delete
virtual ~Module()=default
Module & operator=(Module &&other)=delete
Module(Module &&other)=delete
virtual PEAK_MODULE_HANDLE ModuleHandle() const =0
Represents a GenAPI node map.
Definition peak_node_map.hpp:62
Represents a GenTL port.
Definition peak_port.hpp:44
The "core" namespace contains the direct GenAPI and GenTL wrapper.
Definition peak_buffer.hpp:34
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_dynamic_loader.h:33
struct PEAK_MODULE * PEAK_MODULE_HANDLE
Definition peak_backend.h:421
struct PEAK_PORT * PEAK_PORT_HANDLE
Definition peak_backend.h:469
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.
struct PEAK_NODE_MAP * PEAK_NODE_MAP_HANDLE
Definition peak_backend.h:425
PEAK_C_API PEAK_Module_GetPort(PEAK_MODULE_HANDLE moduleHandle, PEAK_PORT_HANDLE *portHandle)
Asks the given module for its port.
PEAK_C_API PEAK_Module_GetNumNodeMaps(PEAK_MODULE_HANDLE moduleHandle, size_t *numNodeMaps)
Asks the given module for its number of node maps.
#define PEAK_C_ABI_PREFIX
Definition peak_dll_defines.h:16