10#ifdef USE_API_SERVICES
30 UserServiceBase(
const char *name,
const std::array<
const char *,
sizeof...(Ts)> &arg_names)
40 msg.
args.init(
sizeof...(Ts));
41 for (
size_t i = 0; i <
sizeof...(Ts); i++) {
42 auto &arg = msg.
args.emplace_back();
43 arg.type = arg_types[i];
50 if (req.
key != this->key_)
52 if (req.
args.size() !=
sizeof...(Ts))
84 msg.
args.init(
sizeof...(Ts));
85 for (
size_t i = 0; i <
sizeof...(Ts); i++) {
86 auto &arg = msg.
args.emplace_back();
87 arg.type = arg_types[i];
94 if (req.
key != this->key_)
96 if (req.
args.size() !=
sizeof...(Ts))
StringRef is a reference to a string owned by something else.
void trigger(const Ts &...x)
FixedVector< ExecuteServiceArgument > args
FixedVector< ListEntitiesServicesArgument > args
void set_name(const StringRef &ref)
virtual void execute(Ts... x)=0
void execute_(const ArgsContainer &args, seq< S... > type)
UserServiceBase(const char *name, const std::array< const char *, sizeof...(Ts)> &arg_names)
std::array< const char *, 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
UserServiceDynamic(std::string name, const std::array< std::string, sizeof...(Ts)> &arg_names)
bool execute_service(const ExecuteServiceRequest &req) override
virtual void execute(Ts... x)=0
ListEntitiesServicesResponse encode_list_service_response() override
std::array< std::string, sizeof...(Ts)> arg_names_
void execute_(const ArgsContainer &args, seq< S... > type)
void execute(Ts... x) override
UserServiceTrigger(const char *name, const std::array< const char *, sizeof...(Ts)> &arg_names)
enums::ServiceArgType to_service_arg_type()
T get_execute_arg_value(const ExecuteServiceArgument &arg)
uint32_t fnv1_hash(const char *str)
Calculate a FNV-1 hash of str.