GDBus: Implementing multiple interfaces with a single object



Hey,

Is there some example code out there that implements multiple
GDBus interfaces using a single GObject?   I have an existing
subclass of the $prefix_TYPE_$iface_SKELETON and I'd like it
to *also* implement a new interface.

This is for rpm-ostree, so I'll just make it concrete; I started by
doing this

```
G_DEFINE_TYPE_WITH_CODE (RpmostreedOS,
                         rpmostreed_os,
                         RPMOSTREE_TYPE_OS_SKELETON,
                         G_IMPLEMENT_INTERFACE (RPMOSTREE_TYPE_OS,
                                                rpmostreed_os_iface_init)
                         G_IMPLEMENT_INTERFACE (RPMOSTREE_TYPE_OSEXPERIMENTAL,
                                                rpmostreed_osexperimental_iface_init)
                         );
```

But AFAICS, the _SKELETON objects can only implement one interface,
since that's what GDBusInterfaceSkeleton does, and this is a subclass?

It wouldn't be too bad in my case to simply make a new concrete
subclass, and share code via private helpers, but maybe I'm missing
some easy way to do this.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]