mirror of
https://github.com/esphome/esphome.git
synced 2025-10-31 23:21:54 +00:00
revert
This commit is contained in:
@@ -62,7 +62,6 @@ from esphome.cpp_types import ( # noqa: F401
|
|||||||
EntityBase,
|
EntityBase,
|
||||||
EntityCategory,
|
EntityCategory,
|
||||||
ESPTime,
|
ESPTime,
|
||||||
FixedVector,
|
|
||||||
GPIOPin,
|
GPIOPin,
|
||||||
InternalGPIOPin,
|
InternalGPIOPin,
|
||||||
JsonObject,
|
JsonObject,
|
||||||
|
|||||||
@@ -71,12 +71,10 @@ SERVICE_ARG_NATIVE_TYPES = {
|
|||||||
"int": cg.int32,
|
"int": cg.int32,
|
||||||
"float": float,
|
"float": float,
|
||||||
"string": cg.std_string,
|
"string": cg.std_string,
|
||||||
"bool[]": cg.FixedVector.template(bool).operator("const").operator("ref"),
|
"bool[]": cg.std_vector.template(bool),
|
||||||
"int[]": cg.FixedVector.template(cg.int32).operator("const").operator("ref"),
|
"int[]": cg.std_vector.template(cg.int32),
|
||||||
"float[]": cg.FixedVector.template(float).operator("const").operator("ref"),
|
"float[]": cg.std_vector.template(float),
|
||||||
"string[]": cg.FixedVector.template(cg.std_string)
|
"string[]": cg.std_vector.template(cg.std_string),
|
||||||
.operator("const")
|
|
||||||
.operator("ref"),
|
|
||||||
}
|
}
|
||||||
CONF_ENCRYPTION = "encryption"
|
CONF_ENCRYPTION = "encryption"
|
||||||
CONF_BATCH_DELAY = "batch_delay"
|
CONF_BATCH_DELAY = "batch_delay"
|
||||||
|
|||||||
@@ -11,58 +11,23 @@ template<> int32_t get_execute_arg_value<int32_t>(const ExecuteServiceArgument &
|
|||||||
}
|
}
|
||||||
template<> float get_execute_arg_value<float>(const ExecuteServiceArgument &arg) { return arg.float_; }
|
template<> float get_execute_arg_value<float>(const ExecuteServiceArgument &arg) { return arg.float_; }
|
||||||
template<> std::string get_execute_arg_value<std::string>(const ExecuteServiceArgument &arg) { return arg.string_; }
|
template<> std::string get_execute_arg_value<std::string>(const ExecuteServiceArgument &arg) { return arg.string_; }
|
||||||
|
|
||||||
// Legacy std::vector versions for custom C++ code - optimized with reserve
|
|
||||||
template<> std::vector<bool> get_execute_arg_value<std::vector<bool>>(const ExecuteServiceArgument &arg) {
|
template<> std::vector<bool> get_execute_arg_value<std::vector<bool>>(const ExecuteServiceArgument &arg) {
|
||||||
std::vector<bool> result;
|
return std::vector<bool>(arg.bool_array.begin(), arg.bool_array.end());
|
||||||
result.reserve(arg.bool_array.size());
|
|
||||||
result.insert(result.end(), arg.bool_array.begin(), arg.bool_array.end());
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
template<> std::vector<int32_t> get_execute_arg_value<std::vector<int32_t>>(const ExecuteServiceArgument &arg) {
|
template<> std::vector<int32_t> get_execute_arg_value<std::vector<int32_t>>(const ExecuteServiceArgument &arg) {
|
||||||
std::vector<int32_t> result;
|
return std::vector<int32_t>(arg.int_array.begin(), arg.int_array.end());
|
||||||
result.reserve(arg.int_array.size());
|
|
||||||
result.insert(result.end(), arg.int_array.begin(), arg.int_array.end());
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
template<> std::vector<float> get_execute_arg_value<std::vector<float>>(const ExecuteServiceArgument &arg) {
|
template<> std::vector<float> get_execute_arg_value<std::vector<float>>(const ExecuteServiceArgument &arg) {
|
||||||
std::vector<float> result;
|
return std::vector<float>(arg.float_array.begin(), arg.float_array.end());
|
||||||
result.reserve(arg.float_array.size());
|
|
||||||
result.insert(result.end(), arg.float_array.begin(), arg.float_array.end());
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
template<> std::vector<std::string> get_execute_arg_value<std::vector<std::string>>(const ExecuteServiceArgument &arg) {
|
template<> std::vector<std::string> get_execute_arg_value<std::vector<std::string>>(const ExecuteServiceArgument &arg) {
|
||||||
std::vector<std::string> result;
|
return std::vector<std::string>(arg.string_array.begin(), arg.string_array.end());
|
||||||
result.reserve(arg.string_array.size());
|
|
||||||
result.insert(result.end(), arg.string_array.begin(), arg.string_array.end());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
// New FixedVector const reference versions for YAML-generated services - zero-copy
|
|
||||||
template<>
|
|
||||||
const FixedVector<bool> &get_execute_arg_value<const FixedVector<bool> &>(const ExecuteServiceArgument &arg) {
|
|
||||||
return arg.bool_array;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
const FixedVector<int32_t> &get_execute_arg_value<const FixedVector<int32_t> &>(const ExecuteServiceArgument &arg) {
|
|
||||||
return arg.int_array;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
const FixedVector<float> &get_execute_arg_value<const FixedVector<float> &>(const ExecuteServiceArgument &arg) {
|
|
||||||
return arg.float_array;
|
|
||||||
}
|
|
||||||
template<>
|
|
||||||
const FixedVector<std::string> &get_execute_arg_value<const FixedVector<std::string> &>(
|
|
||||||
const ExecuteServiceArgument &arg) {
|
|
||||||
return arg.string_array;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<> enums::ServiceArgType to_service_arg_type<bool>() { return enums::SERVICE_ARG_TYPE_BOOL; }
|
template<> enums::ServiceArgType to_service_arg_type<bool>() { return enums::SERVICE_ARG_TYPE_BOOL; }
|
||||||
template<> enums::ServiceArgType to_service_arg_type<int32_t>() { return enums::SERVICE_ARG_TYPE_INT; }
|
template<> enums::ServiceArgType to_service_arg_type<int32_t>() { return enums::SERVICE_ARG_TYPE_INT; }
|
||||||
template<> enums::ServiceArgType to_service_arg_type<float>() { return enums::SERVICE_ARG_TYPE_FLOAT; }
|
template<> enums::ServiceArgType to_service_arg_type<float>() { return enums::SERVICE_ARG_TYPE_FLOAT; }
|
||||||
template<> enums::ServiceArgType to_service_arg_type<std::string>() { return enums::SERVICE_ARG_TYPE_STRING; }
|
template<> enums::ServiceArgType to_service_arg_type<std::string>() { return enums::SERVICE_ARG_TYPE_STRING; }
|
||||||
|
|
||||||
// Legacy std::vector versions for custom C++ code
|
|
||||||
template<> enums::ServiceArgType to_service_arg_type<std::vector<bool>>() { return enums::SERVICE_ARG_TYPE_BOOL_ARRAY; }
|
template<> enums::ServiceArgType to_service_arg_type<std::vector<bool>>() { return enums::SERVICE_ARG_TYPE_BOOL_ARRAY; }
|
||||||
template<> enums::ServiceArgType to_service_arg_type<std::vector<int32_t>>() {
|
template<> enums::ServiceArgType to_service_arg_type<std::vector<int32_t>>() {
|
||||||
return enums::SERVICE_ARG_TYPE_INT_ARRAY;
|
return enums::SERVICE_ARG_TYPE_INT_ARRAY;
|
||||||
@@ -74,18 +39,4 @@ template<> enums::ServiceArgType to_service_arg_type<std::vector<std::string>>()
|
|||||||
return enums::SERVICE_ARG_TYPE_STRING_ARRAY;
|
return enums::SERVICE_ARG_TYPE_STRING_ARRAY;
|
||||||
}
|
}
|
||||||
|
|
||||||
// New FixedVector const reference versions for YAML-generated services
|
|
||||||
template<> enums::ServiceArgType to_service_arg_type<const FixedVector<bool> &>() {
|
|
||||||
return enums::SERVICE_ARG_TYPE_BOOL_ARRAY;
|
|
||||||
}
|
|
||||||
template<> enums::ServiceArgType to_service_arg_type<const FixedVector<int32_t> &>() {
|
|
||||||
return enums::SERVICE_ARG_TYPE_INT_ARRAY;
|
|
||||||
}
|
|
||||||
template<> enums::ServiceArgType to_service_arg_type<const FixedVector<float> &>() {
|
|
||||||
return enums::SERVICE_ARG_TYPE_FLOAT_ARRAY;
|
|
||||||
}
|
|
||||||
template<> enums::ServiceArgType to_service_arg_type<const FixedVector<std::string> &>() {
|
|
||||||
return enums::SERVICE_ARG_TYPE_STRING_ARRAY;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace esphome::api
|
} // namespace esphome::api
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ size_t = global_ns.namespace("size_t")
|
|||||||
const_char_ptr = global_ns.namespace("const char *")
|
const_char_ptr = global_ns.namespace("const char *")
|
||||||
NAN = global_ns.namespace("NAN")
|
NAN = global_ns.namespace("NAN")
|
||||||
esphome_ns = global_ns # using namespace esphome;
|
esphome_ns = global_ns # using namespace esphome;
|
||||||
FixedVector = esphome_ns.class_("FixedVector")
|
|
||||||
App = esphome_ns.App
|
App = esphome_ns.App
|
||||||
EntityBase = esphome_ns.class_("EntityBase")
|
EntityBase = esphome_ns.class_("EntityBase")
|
||||||
Component = esphome_ns.class_("Component")
|
Component = esphome_ns.class_("Component")
|
||||||
|
|||||||
Reference in New Issue
Block a user