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:
31 template <typename T, typename... Args>
32 static std::shared_ptr<T> createAndRegister(RMMAPI* pRmmAPI, int ring, int node, std::string name, Args&&... args) {
33 auto frontend = std::make_shared<T>(pRmmAPI, ring, node, name, std::forward<Args>(args)...);
34 pRmmAPI->registerFrontEnd(RingId(ring), frontend);
35 return frontend;
36 }
37};
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:32
Base class for controlling and monitoring the RMM system.
Definition RMMApi.h:37
void registerFrontEnd(RingId ringId, std::shared_ptr< FrontEndBase > frontend)
Registers a Front-End Node (FEN) to a specific ring.
Definition RMMApi.cpp:54
Type-safe wrapper for a Ring index. This class ensures that a ring index is valid and within the boun...
Definition RingId.h:10