Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add method to sdbus++ objects to control all property signals. #53

Open
williamspatrick opened this issue Dec 4, 2020 · 0 comments
Open

Comments

@williamspatrick
Copy link
Member

Conversation with @bradbishop : https://discord.com/channels/775381525260664832/775381525260664836/784509529832292363

There is a method to change a property and it has a boolean to avoid sending signals, but it is likely not leveraged by many applications and is slightly cumbersome. The current expections of an application are:

The default implementations of an application, if it has properties it needs to change beyond the constructor is:

1. Call constructor with defer_emit.
2. Set N properties with signal=false.
3. Call object->emit_interface_added when done.

I think you're proposing there are two problems.

a. #2 should default to signal=false automatically at least in this sequence.
b. #2 and #3 should do nothing when service name isn't claimed.

We should come up with something better to give object-level control on property signals to avoid signal floods for typical use cases. Whatever is implemented we need to be careful to not break signals on existing applications that might be creating objects dynamically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant