ESPHome 2025.12.0-dev
Loading...
Searching...
No Matches
esphome::api::UserServiceBase< Ts > Class Template Referenceabstract

#include <user_services.h>

Inheritance diagram for esphome::api::UserServiceBase< Ts >:
esphome::api::UserServiceDescriptor

Public Member Functions

 UserServiceBase (const char *name, const std::array< const char *, sizeof...(Ts)> &arg_names)
 
ListEntitiesServicesResponse encode_list_service_response () override
 
bool execute_service (const ExecuteServiceRequest &req) override
 
- Public Member Functions inherited from esphome::api::UserServiceDescriptor
bool is_internal ()
 

Protected Member Functions

virtual void execute (Ts... x)=0
 
template<typename ArgsContainer , int... S>
void execute_ (const ArgsContainer &args, seq< S... > type)
 

Protected Attributes

const char * name_
 
std::array< const char *, sizeof...(Ts)> arg_names_
 
uint32_t key_ {0}
 

Detailed Description

template<typename... Ts>
class esphome::api::UserServiceBase< Ts >

Definition at line 28 of file user_services.h.

Constructor & Destructor Documentation

◆ UserServiceBase()

template<typename... Ts>
esphome::api::UserServiceBase< Ts >::UserServiceBase ( const char * name,
const std::array< const char *, sizeof...(Ts)> & arg_names )
inline

Definition at line 30 of file user_services.h.

Member Function Documentation

◆ encode_list_service_response()

template<typename... Ts>
ListEntitiesServicesResponse esphome::api::UserServiceBase< Ts >::encode_list_service_response ( )
inlineoverridevirtual

Implements esphome::api::UserServiceDescriptor.

Definition at line 35 of file user_services.h.

◆ execute()

template<typename... Ts>
virtual void esphome::api::UserServiceBase< Ts >::execute ( Ts... x)
protectedpure virtual

◆ execute_()

template<typename... Ts>
template<typename ArgsContainer , int... S>
void esphome::api::UserServiceBase< Ts >::execute_ ( const ArgsContainer & args,
seq< S... > type )
inlineprotected

Definition at line 60 of file user_services.h.

◆ execute_service()

template<typename... Ts>
bool esphome::api::UserServiceBase< Ts >::execute_service ( const ExecuteServiceRequest & req)
inlineoverridevirtual

Implements esphome::api::UserServiceDescriptor.

Definition at line 49 of file user_services.h.

Field Documentation

◆ arg_names_

template<typename... Ts>
std::array<const char *, sizeof...(Ts)> esphome::api::UserServiceBase< Ts >::arg_names_
protected

Definition at line 66 of file user_services.h.

◆ key_

template<typename... Ts>
uint32_t esphome::api::UserServiceBase< Ts >::key_ {0}
protected

Definition at line 67 of file user_services.h.

◆ name_

template<typename... Ts>
const char* esphome::api::UserServiceBase< Ts >::name_
protected

Definition at line 65 of file user_services.h.


The documentation for this class was generated from the following file: