On Wed, 2021-07-14 at 13:32 +0200, [email protected] wrote:
> Hi,
>
> thx for your answer.
>
> On Mittwoch, 14. Juli 2021 13:19:44 CEST Thomas Haller wrote:
> [...]
> > > I use the perl module Net::DBus for this job.
> > > The following snippet shows how far I got up to date:
> > >
> > > my $busobjpath = "/org/freedesktop/DBus/Properties";
> >
> > Such an object path does not exist on NetworkManager's D-Bus API.
> >
> > Object paths start with "/org/freedesktop/NetworkManager".
> >
> > See all object with `d-feet` or `busctl tree
> > org.freedesktop.NetworkManager`.
>
> so how can I use org.freedesktop.DBus.Properties.PropertiesChanged
> then?
> What would be the correct way instead?
> Using
> my $busobjpath = "/org/freedesktop/NetworkManager/Settings";
> as before?
> This doesn't work either, though.
>
> Probably there is a fundamental misunderstanding regaring the concept
> on my
> side.
Hi,
I am not familiar with this Perl's Net::DBus, but in general:
On D-Bus, you have the well-known name
("org.freedesktop.NetworkManager") where you find NetworkManager's D-
Bus API.
There, you find many D-Bus objects, at paths that start with
"/org/freedesktop/NetworkManager". You see them with `busctl tree
org.freedesktop.NetworkManager`.
All of these objects also implement the standard D-Bus interface
"org.freedesktop.DBus.Properties" -- as documented at
https://dbus.freedesktop.org/doc/dbus-specification.html
That interface, has (among) others a signal "PropertiesChanged".
This "org.freedesktop.DBus.Properties.PropertiesChanged" signal works
very similar to the earlier "PropertiesChanged" signals from the NM
specific interfaces ( "org.freedesktop.NetworkManager*").
So, yes, there should be not much to do except replace the interface
name "org.freedesktop.NetworkManager*" with
"org.freedesktop.DBus.Properties".
you mention specifically
my $busobjpath = "/org/freedesktop/NetworkManager/Settings";
In `d-feet` you'll see that this object only has three properties. So
you'll see few PropertiesChanged signals on that object...
Does that help? Otherwise, please share a working, minimal example.
best,
Thomas
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list