Skip to content

Commit 98082ac

Browse files
committed
Fix code generator not defaulting to emit changed for properties
Properties emit changed signals by default but for systemd this is inverted as a flag is needed.
1 parent f08081b commit 98082ac

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/sdbus/interface_generator.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -432,21 +432,21 @@ def __repr__(self) -> str:
432432

433433

434434
class DbusPropertyIntrospection(DbusMemberAbstract):
435-
_EMITS_CHANGED_MAP: \
436-
Dict[Union[bool, None, Literal['const', 'invalidates']], str] = {
437-
True: 'DbusPropertyEmitsChangeFlag',
438-
'invalidates': 'DbusPropertyEmitsInvalidationFlag',
439-
'const': 'DbusPropertyConstFlag',
440-
}
435+
_EMITS_CHANGED_MAP: Dict[
436+
Union[bool, Literal['const', 'invalidates']], str
437+
] = {
438+
True: 'DbusPropertyEmitsChangeFlag',
439+
'invalidates': 'DbusPropertyEmitsInvalidationFlag',
440+
'const': 'DbusPropertyConstFlag',
441+
}
441442

442443
def __init__(self, element: Element):
443444
if element.tag != 'property':
444445
raise ValueError(f"Expected property tag, got {element.tag}")
445446

446447
self.dbus_signature = element.attrib['type']
447448

448-
self.emits_changed: \
449-
Union[bool, Literal['const', 'invalidates'], None] = None
449+
self.emits_changed: Union[bool, Literal['const', 'invalidates']] = True
450450
self.is_explicit = False
451451

452452
access_type = element.attrib['access']

test/test_interface_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def test_parsing(self) -> None:
183183
elif test_property.method_name == 'Bar':
184184
self.assertEqual(
185185
test_property.emits_changed,
186-
None,
186+
True,
187187
)
188188
elif test_property.method_name == 'FooInvalidates':
189189
self.assertEqual(

0 commit comments

Comments
 (0)