tinyrpc/includes/net/tinypb/tinypb_closure.hpp

27 lines
487 B
C++

#pragma once
#include <google/protobuf/stubs/callback.h>
#include <functional>
namespace tinyrpc {
class TinypbClosure : public google::protobuf::Closure {
public:
explicit TinypbClosure(const std::function<void()>& cb) : m_callback(cb){}
~TinypbClosure() = default;
void Run() override {
if(m_callback) {
m_callback();
}
}
private:
std::function<void()> m_callback{};
};
}