mirror of
https://github.com/esphome/esphome.git
synced 2025-07-28 14:16:40 +00:00
Reduce flash usage by replacing ProtoSize template with specialized methods (#9487)
This commit is contained in:
parent
b648944973
commit
c691f01c7f
@ -184,7 +184,7 @@ void ListEntitiesBinarySensorResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesBinarySensorResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->device_class);
|
||||
@ -201,7 +201,7 @@ void BinarySensorStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void BinarySensorStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
@ -225,7 +225,7 @@ void ListEntitiesCoverResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesCoverResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->assumed_state);
|
||||
@ -247,10 +247,10 @@ void CoverStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(6, this->device_id);
|
||||
}
|
||||
void CoverStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->legacy_state));
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->position != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->tilt != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->position);
|
||||
ProtoSize::add_float_field(total_size, 1, this->tilt);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->current_operation));
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -316,7 +316,7 @@ void ListEntitiesFanResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesFanResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->supports_oscillation);
|
||||
@ -344,7 +344,7 @@ void FanStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(8, this->device_id);
|
||||
}
|
||||
void FanStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->oscillating);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->speed));
|
||||
@ -442,7 +442,7 @@ void ListEntitiesLightResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesLightResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
if (!this->supported_color_modes.empty()) {
|
||||
@ -454,8 +454,8 @@ void ListEntitiesLightResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_bool_field(total_size, 1, this->legacy_supports_rgb);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->legacy_supports_white_value);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->legacy_supports_color_temperature);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->min_mireds != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->max_mireds != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->min_mireds);
|
||||
ProtoSize::add_float_field(total_size, 1, this->max_mireds);
|
||||
if (!this->effects.empty()) {
|
||||
for (const auto &it : this->effects) {
|
||||
ProtoSize::add_string_field_repeated(total_size, 1, it);
|
||||
@ -483,18 +483,18 @@ void LightStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(14, this->device_id);
|
||||
}
|
||||
void LightStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->state);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->brightness != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->brightness);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->color_mode));
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->color_brightness != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->red != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->green != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->blue != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->white != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->color_temperature != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->cold_white != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->warm_white != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->color_brightness);
|
||||
ProtoSize::add_float_field(total_size, 1, this->red);
|
||||
ProtoSize::add_float_field(total_size, 1, this->green);
|
||||
ProtoSize::add_float_field(total_size, 1, this->blue);
|
||||
ProtoSize::add_float_field(total_size, 1, this->white);
|
||||
ProtoSize::add_float_field(total_size, 1, this->color_temperature);
|
||||
ProtoSize::add_float_field(total_size, 1, this->cold_white);
|
||||
ProtoSize::add_float_field(total_size, 1, this->warm_white);
|
||||
ProtoSize::add_string_field(total_size, 1, this->effect);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -623,7 +623,7 @@ void ListEntitiesSensorResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesSensorResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -644,8 +644,8 @@ void SensorStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void SensorStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->state != 0.0f);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_float_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -665,7 +665,7 @@ void ListEntitiesSwitchResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesSwitchResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -681,7 +681,7 @@ void SwitchStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(3, this->device_id);
|
||||
}
|
||||
void SwitchStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -723,7 +723,7 @@ void ListEntitiesTextSensorResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesTextSensorResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -739,7 +739,7 @@ void TextSensorStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void TextSensorStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
@ -863,7 +863,7 @@ bool GetTimeResponse::decode_32bit(uint32_t field_id, Proto32Bit value) {
|
||||
}
|
||||
void GetTimeResponse::encode(ProtoWriteBuffer buffer) const { buffer.encode_fixed32(1, this->epoch_seconds); }
|
||||
void GetTimeResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->epoch_seconds != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->epoch_seconds);
|
||||
}
|
||||
#ifdef USE_API_SERVICES
|
||||
bool ListEntitiesServicesArgument::decode_varint(uint32_t field_id, ProtoVarInt value) {
|
||||
@ -903,7 +903,7 @@ void ListEntitiesServicesResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesServicesResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_repeated_message(total_size, 1, this->args);
|
||||
}
|
||||
bool ExecuteServiceArgument::decode_varint(uint32_t field_id, ProtoVarInt value) {
|
||||
@ -976,7 +976,7 @@ void ExecuteServiceArgument::encode(ProtoWriteBuffer buffer) const {
|
||||
void ExecuteServiceArgument::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_bool_field(total_size, 1, this->bool_);
|
||||
ProtoSize::add_int32_field(total_size, 1, this->legacy_int);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->float_ != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->float_);
|
||||
ProtoSize::add_string_field(total_size, 1, this->string_);
|
||||
ProtoSize::add_sint32_field(total_size, 1, this->int_);
|
||||
if (!this->bool_array.empty()) {
|
||||
@ -1033,7 +1033,7 @@ void ListEntitiesCameraResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesCameraResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->disabled_by_default);
|
||||
@ -1048,7 +1048,7 @@ void CameraImageResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void CameraImageResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->data);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->done);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
@ -1110,7 +1110,7 @@ void ListEntitiesClimateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesClimateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->supports_current_temperature);
|
||||
@ -1120,9 +1120,9 @@ void ListEntitiesClimateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_enum_field_repeated(total_size, 1, static_cast<uint32_t>(it));
|
||||
}
|
||||
}
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->visual_min_temperature != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->visual_max_temperature != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->visual_target_temperature_step != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->visual_min_temperature);
|
||||
ProtoSize::add_float_field(total_size, 1, this->visual_max_temperature);
|
||||
ProtoSize::add_float_field(total_size, 1, this->visual_target_temperature_step);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->legacy_supports_away);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->supports_action);
|
||||
if (!this->supported_fan_modes.empty()) {
|
||||
@ -1153,11 +1153,11 @@ void ListEntitiesClimateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_bool_field(total_size, 2, this->disabled_by_default);
|
||||
ProtoSize::add_string_field(total_size, 2, this->icon);
|
||||
ProtoSize::add_enum_field(total_size, 2, static_cast<uint32_t>(this->entity_category));
|
||||
ProtoSize::add_fixed_field<4>(total_size, 2, this->visual_current_temperature_step != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 2, this->visual_current_temperature_step);
|
||||
ProtoSize::add_bool_field(total_size, 2, this->supports_current_humidity);
|
||||
ProtoSize::add_bool_field(total_size, 2, this->supports_target_humidity);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 2, this->visual_min_humidity != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 2, this->visual_max_humidity != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 2, this->visual_min_humidity);
|
||||
ProtoSize::add_float_field(total_size, 2, this->visual_max_humidity);
|
||||
ProtoSize::add_uint32_field(total_size, 2, this->device_id);
|
||||
}
|
||||
void ClimateStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
@ -1179,12 +1179,12 @@ void ClimateStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(16, this->device_id);
|
||||
}
|
||||
void ClimateStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->mode));
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->current_temperature != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->target_temperature != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->target_temperature_low != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->target_temperature_high != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->current_temperature);
|
||||
ProtoSize::add_float_field(total_size, 1, this->target_temperature);
|
||||
ProtoSize::add_float_field(total_size, 1, this->target_temperature_low);
|
||||
ProtoSize::add_float_field(total_size, 1, this->target_temperature_high);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->unused_legacy_away);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->action));
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->fan_mode));
|
||||
@ -1192,8 +1192,8 @@ void ClimateStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->custom_fan_mode);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->preset));
|
||||
ProtoSize::add_string_field(total_size, 1, this->custom_preset);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->current_humidity != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->target_humidity != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->current_humidity);
|
||||
ProtoSize::add_float_field(total_size, 1, this->target_humidity);
|
||||
ProtoSize::add_uint32_field(total_size, 2, this->device_id);
|
||||
}
|
||||
bool ClimateCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) {
|
||||
@ -1309,13 +1309,13 @@ void ListEntitiesNumberResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesNumberResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->min_value != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->max_value != 0.0f);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->step != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->min_value);
|
||||
ProtoSize::add_float_field(total_size, 1, this->max_value);
|
||||
ProtoSize::add_float_field(total_size, 1, this->step);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->disabled_by_default);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->entity_category));
|
||||
ProtoSize::add_string_field(total_size, 1, this->unit_of_measurement);
|
||||
@ -1330,8 +1330,8 @@ void NumberStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void NumberStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->state != 0.0f);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_float_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -1375,7 +1375,7 @@ void ListEntitiesSelectResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesSelectResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -1395,7 +1395,7 @@ void SelectStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void SelectStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
@ -1449,7 +1449,7 @@ void ListEntitiesSirenResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesSirenResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -1470,7 +1470,7 @@ void SirenStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(3, this->device_id);
|
||||
}
|
||||
void SirenStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -1543,7 +1543,7 @@ void ListEntitiesLockResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesLockResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -1561,7 +1561,7 @@ void LockStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(3, this->device_id);
|
||||
}
|
||||
void LockStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->state));
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -1616,7 +1616,7 @@ void ListEntitiesButtonResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesButtonResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -1706,7 +1706,7 @@ void ListEntitiesMediaPlayerResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesMediaPlayerResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -1724,9 +1724,9 @@ void MediaPlayerStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(5, this->device_id);
|
||||
}
|
||||
void MediaPlayerStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->state));
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->volume != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->volume);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->muted);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -2326,7 +2326,7 @@ void VoiceAssistantAudioSettings::encode(ProtoWriteBuffer buffer) const {
|
||||
void VoiceAssistantAudioSettings::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->noise_suppression_level);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->auto_gain);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->volume_multiplier != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->volume_multiplier);
|
||||
}
|
||||
void VoiceAssistantRequest::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_bool(1, this->start);
|
||||
@ -2564,7 +2564,7 @@ void ListEntitiesAlarmControlPanelResponse::encode(ProtoWriteBuffer buffer) cons
|
||||
}
|
||||
void ListEntitiesAlarmControlPanelResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2581,7 +2581,7 @@ void AlarmControlPanelStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(3, this->device_id);
|
||||
}
|
||||
void AlarmControlPanelStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->state));
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -2636,7 +2636,7 @@ void ListEntitiesTextResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesTextResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2655,7 +2655,7 @@ void TextStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void TextStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
@ -2704,7 +2704,7 @@ void ListEntitiesDateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesDateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2721,7 +2721,7 @@ void DateStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(6, this->device_id);
|
||||
}
|
||||
void DateStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->year);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->month);
|
||||
@ -2771,7 +2771,7 @@ void ListEntitiesTimeResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesTimeResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2788,7 +2788,7 @@ void TimeStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(6, this->device_id);
|
||||
}
|
||||
void TimeStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->hour);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->minute);
|
||||
@ -2842,7 +2842,7 @@ void ListEntitiesEventResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesEventResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2862,7 +2862,7 @@ void EventResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(3, this->device_id);
|
||||
}
|
||||
void EventResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->event_type);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -2884,7 +2884,7 @@ void ListEntitiesValveResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesValveResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2903,8 +2903,8 @@ void ValveStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void ValveStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->position != 0.0f);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_float_field(total_size, 1, this->position);
|
||||
ProtoSize::add_enum_field(total_size, 1, static_cast<uint32_t>(this->current_operation));
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
@ -2951,7 +2951,7 @@ void ListEntitiesDateTimeResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesDateTimeResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -2966,9 +2966,9 @@ void DateTimeStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(4, this->device_id);
|
||||
}
|
||||
void DateTimeStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->epoch_seconds != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->epoch_seconds);
|
||||
ProtoSize::add_uint32_field(total_size, 1, this->device_id);
|
||||
}
|
||||
bool DateTimeCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) {
|
||||
@ -3009,7 +3009,7 @@ void ListEntitiesUpdateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
}
|
||||
void ListEntitiesUpdateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_string_field(total_size, 1, this->object_id);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_string_field(total_size, 1, this->name);
|
||||
ProtoSize::add_string_field(total_size, 1, this->unique_id);
|
||||
ProtoSize::add_string_field(total_size, 1, this->icon);
|
||||
@ -3032,11 +3032,11 @@ void UpdateStateResponse::encode(ProtoWriteBuffer buffer) const {
|
||||
buffer.encode_uint32(11, this->device_id);
|
||||
}
|
||||
void UpdateStateResponse::calculate_size(uint32_t &total_size) const {
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->key != 0);
|
||||
ProtoSize::add_fixed32_field(total_size, 1, this->key);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->missing_state);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->in_progress);
|
||||
ProtoSize::add_bool_field(total_size, 1, this->has_progress);
|
||||
ProtoSize::add_fixed_field<4>(total_size, 1, this->progress != 0.0f);
|
||||
ProtoSize::add_float_field(total_size, 1, this->progress);
|
||||
ProtoSize::add_string_field(total_size, 1, this->current_version);
|
||||
ProtoSize::add_string_field(total_size, 1, this->latest_version);
|
||||
ProtoSize::add_string_field(total_size, 1, this->title);
|
||||
|
@ -189,9 +189,9 @@ class ProtoWriteBuffer {
|
||||
* @param field_id Field number (tag) in the protobuf message
|
||||
* @param type Wire type value:
|
||||
* - 0: Varint (int32, int64, uint32, uint64, sint32, sint64, bool, enum)
|
||||
* - 1: 64-bit (fixed64, sfixed64, double)
|
||||
* - 2: Length-delimited (string, bytes, embedded messages, packed repeated fields)
|
||||
* - 5: 32-bit (fixed32, sfixed32, float)
|
||||
* - Note: Wire type 1 (64-bit fixed) is not supported
|
||||
*
|
||||
* Following https://protobuf.dev/programming-guides/encoding/#structure
|
||||
*/
|
||||
@ -540,6 +540,42 @@ class ProtoSize {
|
||||
total_size += field_id_size + NumBytes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Calculates and adds the size of a float field to the total message size
|
||||
*/
|
||||
static inline void add_float_field(uint32_t &total_size, uint32_t field_id_size, float value) {
|
||||
if (value != 0.0f) {
|
||||
total_size += field_id_size + 4;
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: add_double_field removed - wire type 1 (64-bit: double) not supported
|
||||
// to reduce overhead on embedded systems
|
||||
|
||||
/**
|
||||
* @brief Calculates and adds the size of a fixed32 field to the total message size
|
||||
*/
|
||||
static inline void add_fixed32_field(uint32_t &total_size, uint32_t field_id_size, uint32_t value) {
|
||||
if (value != 0) {
|
||||
total_size += field_id_size + 4;
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: add_fixed64_field removed - wire type 1 (64-bit: fixed64) not supported
|
||||
// to reduce overhead on embedded systems
|
||||
|
||||
/**
|
||||
* @brief Calculates and adds the size of a sfixed32 field to the total message size
|
||||
*/
|
||||
static inline void add_sfixed32_field(uint32_t &total_size, uint32_t field_id_size, int32_t value) {
|
||||
if (value != 0) {
|
||||
total_size += field_id_size + 4;
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: add_sfixed64_field removed - wire type 1 (64-bit: sfixed64) not supported
|
||||
// to reduce overhead on embedded systems
|
||||
|
||||
/**
|
||||
* @brief Calculates and adds the size of an enum field to the total message size
|
||||
*
|
||||
|
@ -240,26 +240,6 @@ class TypeInfo(ABC):
|
||||
value = value_expr if value_expr else name
|
||||
return f"ProtoSize::{method}(total_size, {field_id_size}, {value});"
|
||||
|
||||
def _get_fixed_size_calculation(
|
||||
self, name: str, force: bool, num_bytes: int, zero_check: str
|
||||
) -> str:
|
||||
"""Helper for fixed-size field calculations.
|
||||
|
||||
Args:
|
||||
name: Field name
|
||||
force: Whether this is for a repeated field
|
||||
num_bytes: Number of bytes (4 or 8)
|
||||
zero_check: Expression to check for zero value (e.g., "!= 0.0f")
|
||||
"""
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
# Fixed-size repeated fields are handled differently in RepeatedTypeInfo
|
||||
# so we should never get force=True here
|
||||
assert not force, (
|
||||
"Fixed-size repeated fields should be handled by RepeatedTypeInfo"
|
||||
)
|
||||
method = f"add_fixed_field<{num_bytes}>"
|
||||
return f"ProtoSize::{method}(total_size, {field_id_size}, {name} {zero_check});"
|
||||
|
||||
@abstractmethod
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
"""Calculate the size needed for encoding this field.
|
||||
@ -345,7 +325,8 @@ class DoubleType(TypeInfo):
|
||||
return o
|
||||
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
return self._get_fixed_size_calculation(name, force, 8, "!= 0.0")
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
return f"ProtoSize::add_double_field(total_size, {field_id_size}, {name});"
|
||||
|
||||
def get_fixed_size_bytes(self) -> int:
|
||||
return 8
|
||||
@ -368,7 +349,8 @@ class FloatType(TypeInfo):
|
||||
return o
|
||||
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
return self._get_fixed_size_calculation(name, force, 4, "!= 0.0f")
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
return f"ProtoSize::add_float_field(total_size, {field_id_size}, {name});"
|
||||
|
||||
def get_fixed_size_bytes(self) -> int:
|
||||
return 4
|
||||
@ -451,7 +433,8 @@ class Fixed64Type(TypeInfo):
|
||||
return o
|
||||
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
return self._get_fixed_size_calculation(name, force, 8, "!= 0")
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
return f"ProtoSize::add_fixed64_field(total_size, {field_id_size}, {name});"
|
||||
|
||||
def get_fixed_size_bytes(self) -> int:
|
||||
return 8
|
||||
@ -474,7 +457,8 @@ class Fixed32Type(TypeInfo):
|
||||
return o
|
||||
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
return self._get_fixed_size_calculation(name, force, 4, "!= 0")
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
return f"ProtoSize::add_fixed32_field(total_size, {field_id_size}, {name});"
|
||||
|
||||
def get_fixed_size_bytes(self) -> int:
|
||||
return 4
|
||||
@ -663,7 +647,8 @@ class SFixed32Type(TypeInfo):
|
||||
return o
|
||||
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
return self._get_fixed_size_calculation(name, force, 4, "!= 0")
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
return f"ProtoSize::add_sfixed32_field(total_size, {field_id_size}, {name});"
|
||||
|
||||
def get_fixed_size_bytes(self) -> int:
|
||||
return 4
|
||||
@ -686,7 +671,8 @@ class SFixed64Type(TypeInfo):
|
||||
return o
|
||||
|
||||
def get_size_calculation(self, name: str, force: bool = False) -> str:
|
||||
return self._get_fixed_size_calculation(name, force, 8, "!= 0")
|
||||
field_id_size = self.calculate_field_id_size()
|
||||
return f"ProtoSize::add_sfixed64_field(total_size, {field_id_size}, {name});"
|
||||
|
||||
def get_fixed_size_bytes(self) -> int:
|
||||
return 8
|
||||
|
Loading…
x
Reference in New Issue
Block a user