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

Properties changed signal #62

Open
chandu-tmba opened this issue May 21, 2021 · 2 comments
Open

Properties changed signal #62

chandu-tmba opened this issue May 21, 2021 · 2 comments

Comments

@chandu-tmba
Copy link

chandu-tmba commented May 21, 2021

i am trying to write one applicaton to monitor properties changed of 2 different iterfaces of 2 different dbus objects
first i tried with just one interface , it is working fine, but later i tried with 2 interfaces using below code

std::vector<std::unique_ptr<sdbusplus::bus::match::match>> matches;

auto matchold = std::make_unique<sdbusplus::bus::match::match>(*systemBus,propertiesMatchOldString,onPropertyUpdate,nullptr);
matches.emplace_back(std::move(matchold));

auto matchnew = std::make_unique<sdbusplus::bus::match::match>(*systemBus,propertiesMatchNewString,onPropertyUpdate,nullptr);	    
matches.emplace_back(std::move(matchnew));

if am using matches vector instead of single match , i am not getting notificaitons when ever inetrface properties are changed , please help me to fix this issue

i am attaching my source code file here
IpMonitor.txt

@williamspatrick
Copy link
Member

The bus::match move operators are wrong.

    match(match&&) = default;
    match& operator=(match&&) = default;

Let me look into fixing those for you.

@williamspatrick
Copy link
Member

Hmm. The match operators are wrong, but you were using unique_ptr/make_unique which shouldn't require a move. Let me think about what else might be broken.

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

2 participants