lokinet/llarp/hook/ihook.hpp

34 lines
640 B
C++
Raw Normal View History

#ifndef LLARP_HOOK_IHOOK_HPP
#define LLARP_HOOK_IHOOK_HPP
#include <string>
#include <unordered_map>
#include <memory>
namespace llarp
{
namespace hooks
{
/// base type for event hook handlers
struct IBackend
{
2019-05-07 08:29:47 +00:00
virtual ~IBackend() = 0;
virtual void
NotifyAsync(std::unordered_map< std::string, std::string > params) = 0;
/// start backend
virtual bool
Start() = 0;
/// stop backend
virtual bool
Stop() = 0;
};
using Backend_ptr = std::shared_ptr< IBackend >;
2019-05-07 08:29:47 +00:00
2019-07-30 23:42:13 +00:00
inline IBackend::~IBackend() = default;
} // namespace hooks
} // namespace llarp
2019-05-07 08:29:47 +00:00
#endif