26 UserServiceBase(std::string name,
const std::array<std::string,
sizeof...(Ts)> &arg_names)
36 for (
int i = 0; i <
sizeof...(Ts); i++) {
38 arg.
type = arg_types[i];
40 msg.
args.push_back(arg);
46 if (req.
key != this->key_)
48 if (req.
args.size() != this->arg_names_.size())
67 UserServiceTrigger(
const std::string &name,
const std::array<std::string,
sizeof...(Ts)> &arg_names)
std::vector< ExecuteServiceArgument > args
enums::ServiceArgType type
std::vector< ListEntitiesServicesArgument > args
virtual void execute(Ts... x)=0
void execute_(std::vector< ExecuteServiceArgument > args, seq< S... > type)
UserServiceBase(std::string name, const std::array< std::string, sizeof...(Ts)> &arg_names)
std::array< std::string, sizeof...(Ts)> arg_names_
ListEntitiesServicesResponse encode_list_service_response() override
bool execute_service(const ExecuteServiceRequest &req) override
virtual ListEntitiesServicesResponse encode_list_service_response()=0
virtual bool execute_service(const ExecuteServiceRequest &req)=0
UserServiceTrigger(const std::string &name, const std::array< std::string, sizeof...(Ts)> &arg_names)
void execute(Ts... x) override
enums::ServiceArgType to_service_arg_type()
T get_execute_arg_value(const ExecuteServiceArgument &arg)
Providing packet encoding functions for exchanging data with a remote host.
uint32_t fnv1_hash(const std::string &str)
Calculate a FNV-1 hash of str.