[Automotive] native apps & IPC

Jereme Lamothe jlamothe at docboxinc.com
Fri Oct 14 14:05:04 CEST 2016


I've created a bug report and attached my workaround as a patch.
https://bugreports.qt.io/browse/AUTOSUITE-24

On Thu, Oct 13, 2016 at 6:08 PM Robert Griebl <robert.griebl at pelagicore.com>
wrote:

> Hi Jereme,
>
> On 13.10.2016 20:15, Jereme Lamothe wrote:
> > [...]
> > Is this behavior intentional? The documentation for ApplicationInterface
> > led me to believe it would be possible to re-implement the client side,
> > such that I could continue to use ApplicationIPCInterface in my
> > SystemUI. Modifying NativeRuntime::onDBusPeerConnection() to, in the
> > case of a native C++ app, register all extension interfaces results in
> > successful communication on the peer DBus between my client and the
> > system ui.
>
> That's a plain bug - most likely just a copy&paste oversight when I
> introduced the onLauncherFinishedInitialization() call to get rid of a
> pesky race condition.
>
> Your fix is most likely correct, but I'd like to do some tests first to
> avoid that we're re-introducing a race condition.
>
> It would be nice if you could a bugreport on http://bugreport.qt.io
> AUTOSUITE / ApplicationManager, so I cannot forget about it.
>
> Thanks,
> Robert
>
>
>
> >
> > On Tue, Oct 11, 2016 at 5:58 PM Jereme Lamothe <jlamothe at docboxinc.com
> > <mailto:jlamothe at docboxinc.com>> wrote:
> >
> >     I'm attempting to get IPC working between the application manager
> >     and a native app. Per the documentation, I must re-implement the
> >     client side. I've written a C++ class to encapsulate the
> >     QDBusConnection / QDBusInterface I need and have deployed it as a
> >     plugin, allowing me to test the code in a QML app (launched by the
> >     application manager). This test worked, and I've confirmed that a
> >     dbus message from the QML app is received by the system UI / app
> >     manager. However, using this same code in a native app results in a
> >     "No such object path" error (sent by the appman process, in response
> >     to ). Seeing the documentation note about "remote interfaces are not
> >     available immediately after connecting", I've added a 5 second timer
> >     between connection and constructing the QDBusInterface, but to no
> >     effect.
> >
> >     My question is, have I missed a step in re-implementing the client?
> >     I'm only creating a single QDBusInterface for my
> >     "com.DocBoxInc.Example" (path:
> >     "/ExtensionInterface/com_DocBoxInc_Example"), do I also need to
> >     connect to the ApplicationInterface & RuntimeInterface(s) for the
> >     /ExtensionInterface path to work?
> >
> >
> >
> > _______________________________________________
> > Automotive mailing list
> > Automotive at qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/automotive
> >
>
>
> --
> Robert Griebl
> Senior Software Engineer
>
> Pelagicore AG
> Balanstr. 55, 81541 Munich, Germany
> robert.griebl at pelagicore.com
> www.pelagicore.com
> _______________________________________________
> Automotive mailing list
> Automotive at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/automotive
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/automotive/attachments/20161014/4dc6b5a5/attachment.html>


More information about the Automotive mailing list