Files
mbft-cpp/modules/Module.h
T

32 lines
614 B
C++

#pragma once
#include "core/inc/Types.h"
#include "modules/ModuleAPI.h"
namespace MBFT
{
class Module
{
private:
void *module_shared_object{nullptr};
std::string module_path;
void (*loaded_init)(void){nullptr};
void (*loaded_process)(MBFT::ModuleAPI& api, const MBFT::InboundMessage& message){nullptr};
bool enabled{true};
public:
Module(const std::string& module_path);
~Module(void);
void load(void);
void unload(void);
void reload(void);
void disable(void);
void enable(void);
void init(void);
void process(MBFT::ModuleAPI& api, const MBFT::InboundMessage& message);
};
}