1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-15 09:42:19 +01:00

move to proto.h to have less generated code

This commit is contained in:
J. Nick Koston
2025-06-16 06:05:19 -05:00
parent 6ffcd94edc
commit 6babe516ac
3 changed files with 21 additions and 39 deletions

View File

@@ -17,25 +17,6 @@ class APIServerConnectionBase : public ProtoService {
public: public:
#endif #endif
protected:
bool check_connection_setup_() {
if (!this->is_connection_setup()) {
this->on_no_setup_connection();
return false;
}
return true;
}
bool check_authenticated_() {
if (!this->check_connection_setup_()) {
return false;
}
if (!this->is_authenticated()) {
this->on_unauthenticated_access();
return false;
}
return true;
}
public: public:
template<typename T> bool send_message(const T &msg) { template<typename T> bool send_message(const T &msg) {
#ifdef HAS_PROTO_MESSAGE_DUMP #ifdef HAS_PROTO_MESSAGE_DUMP

View File

@@ -377,6 +377,26 @@ class ProtoService {
// Send the buffer // Send the buffer
return this->send_buffer(buffer, message_type); return this->send_buffer(buffer, message_type);
} }
// Authentication helper methods
bool check_connection_setup_() {
if (!this->is_connection_setup()) {
this->on_no_setup_connection();
return false;
}
return true;
}
bool check_authenticated_() {
if (!this->check_connection_setup_()) {
return false;
}
if (!this->is_authenticated()) {
this->on_unauthenticated_access();
return false;
}
return true;
}
}; };
} // namespace api } // namespace api

View File

@@ -1353,26 +1353,7 @@ def main() -> None:
hpp += " public:\n" hpp += " public:\n"
hpp += "#endif\n\n" hpp += "#endif\n\n"
# Add authentication check helper methods hpp += " public:\n"
hpp += " protected:\n"
hpp += " bool check_connection_setup_() {\n"
hpp += " if (!this->is_connection_setup()) {\n"
hpp += " this->on_no_setup_connection();\n"
hpp += " return false;\n"
hpp += " }\n"
hpp += " return true;\n"
hpp += " }\n"
hpp += " bool check_authenticated_() {\n"
hpp += " if (!this->check_connection_setup_()) {\n"
hpp += " return false;\n"
hpp += " }\n"
hpp += " if (!this->is_authenticated()) {\n"
hpp += " this->on_unauthenticated_access();\n"
hpp += " return false;\n"
hpp += " }\n"
hpp += " return true;\n"
hpp += " }\n"
hpp += " public:\n\n"
# Add generic send_message method # Add generic send_message method
hpp += " template<typename T>\n" hpp += " template<typename T>\n"