RMM API 2.0.0
Loading...
Searching...
No Matches
FrontEndFactory.h
1#pragma once
2
3#include "FrontEndBase.h"
4#include "RMMApi.h"
5
14 public:
32 template <typename T, typename... Args>
33 static std::shared_ptr<T> createAndRegister(RMMAPI* pRmmAPI, int ring, int node, std::string name, Args&&... args) {
34 auto frontend = std::make_shared<T>(pRmmAPI, ring, node, name, std::forward<Args>(args)...);
35 pRmmAPI->getTopology().addEntry({name, frontend, ring, node});
36 return frontend;
37 }
38};
Factory class for creating and registering frontend objects.
Definition FrontEndFactory.h:13
static std::shared_ptr< T > createAndRegister(RMMAPI *pRmmAPI, int ring, int node, std::string name, Args &&... args)
Creates and registers a frontend object.
Definition FrontEndFactory.h:33
Base class for controlling and monitoring the RMM system.
Definition RMMApi.h:38
Topology & getTopology()
Provides access to the topology structure.
Definition RMMApi.h:62
void addEntry(const FrontEndEntry &entry)
Adds a front-end entry to the topology map.
Definition Topology.cpp:15