<div dir="ltr">Hey Aleksander,<div><br></div><div>Ah yes, that makes sense! Yes I do have a skeleton type corresponding to my interface. </div><div><br></div><div>Thanks so much for the help!<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">- Florence</div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 13, 2021 at 1:50 PM Aleksander Morgado <<a href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey Florence!<br>
<br>
><br>
> I've been creating a DBus interface for the MM SIM object and I have been having issues specifically when it comes to exporting the interface. From the examples in other files it looks like there is a "mm_gdbus_object_skeleton_set_modem_*" generated export function that corresponds with the interface, however there is none that corresponds with my SIM interface. How would I go about exporting my interface?<br>
><br>
<br>
I think that the issue you're having is because the mm-gdbus-sim.[c|h]<br>
files are NOT generated with the --c-generate-object-manager option in<br>
gdbus-codegen. That option is only used in the "modem" object, because<br>
that is the only type of object listed by the "ObjectManagerInterface"<br>
that the daemon manager object exports. So, for the modem object we<br>
can have a "MmGdbusObjectSkeleton" associated to the object path,<br>
which can then have multiple interfaces exposed in the same path via<br>
the mm_gdbus_object_skeleton_set_modem_XXX() calls.<br>
<br>
The case for the SIM object is different; we're only generating code<br>
for the interface support, not as part of any object manager. I guess<br>
we could have each modem object implement the object manager interface<br>
themselves, but that could be a bit of a mess, and don't think<br>
gdbus-codegen supports that. So, for the SIM object (and any other<br>
object; e.g. bearer, call, sms...) we export the interfaces<br>
independently with g_dbus_interface_skeleton_export(). E.g. for the<br>
Sim interface we get a MmGdbusSimSkeleton that we can export in DBus<br>
whenever we want. I would assume you'll get a different skeleton type<br>
for your new interface; is that so?<br>
<br>
-- <br>
Aleksander<br>
<a href="https://aleksander.es" rel="noreferrer" target="_blank">https://aleksander.es</a><br>
</blockquote></div>