mirror of
https://github.com/esphome/esphome.git
synced 2025-07-31 07:36:35 +00:00
cleanup
This commit is contained in:
parent
37cbcd5110
commit
8ee06cdc8c
@ -922,25 +922,8 @@ class FixedArrayRepeatedType(TypeInfo):
|
|||||||
# Just the array member, no index needed since we don't decode
|
# Just the array member, no index needed since we don't decode
|
||||||
return [f"{self.cpp_type} {self.field_name}{{}};"]
|
return [f"{self.cpp_type} {self.field_name}{{}};"]
|
||||||
|
|
||||||
@property
|
# No decode methods needed - fixed arrays don't support decoding
|
||||||
def decode_varint_content(self) -> str:
|
# The base class TypeInfo already returns None for all decode properties
|
||||||
# Fixed arrays don't support decoding
|
|
||||||
return None
|
|
||||||
|
|
||||||
@property
|
|
||||||
def decode_length_content(self) -> str:
|
|
||||||
# Fixed arrays don't support decoding
|
|
||||||
return None
|
|
||||||
|
|
||||||
@property
|
|
||||||
def decode_32bit_content(self) -> str:
|
|
||||||
# Fixed arrays don't support decoding
|
|
||||||
return None
|
|
||||||
|
|
||||||
@property
|
|
||||||
def decode_64bit_content(self) -> str:
|
|
||||||
# Fixed arrays don't support decoding
|
|
||||||
return None
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _ti_is_bool(self) -> bool:
|
def _ti_is_bool(self) -> bool:
|
||||||
@ -1389,6 +1372,20 @@ def build_message_type(
|
|||||||
needs_decode = source in (SOURCE_BOTH, SOURCE_CLIENT)
|
needs_decode = source in (SOURCE_BOTH, SOURCE_CLIENT)
|
||||||
needs_encode = source in (SOURCE_BOTH, SOURCE_SERVER)
|
needs_encode = source in (SOURCE_BOTH, SOURCE_SERVER)
|
||||||
|
|
||||||
|
# Validate that fixed_array_size is only used in encode-only messages
|
||||||
|
if needs_decode:
|
||||||
|
for field in desc.field:
|
||||||
|
if (
|
||||||
|
field.label == 3
|
||||||
|
and get_field_opt(field, pb.fixed_array_size) is not None
|
||||||
|
):
|
||||||
|
raise ValueError(
|
||||||
|
f"Message '{desc.name}' uses fixed_array_size on field '{field.name}' "
|
||||||
|
f"but has source={['SOURCE_BOTH', 'SOURCE_SERVER', 'SOURCE_CLIENT'][source]}. "
|
||||||
|
f"Fixed arrays are only supported for SOURCE_SERVER (encode-only) messages "
|
||||||
|
f"since we cannot trust or control the number of items received from clients."
|
||||||
|
)
|
||||||
|
|
||||||
# Add MESSAGE_TYPE method if this is a service message
|
# Add MESSAGE_TYPE method if this is a service message
|
||||||
if message_id is not None:
|
if message_id is not None:
|
||||||
# Validate that message_id fits in uint8_t
|
# Validate that message_id fits in uint8_t
|
||||||
|
Loading…
x
Reference in New Issue
Block a user