[Automotive] native apps & IPC

Robert Griebl robert.griebl at pelagicore.com
Fri Oct 14 00:08:38 CEST 2016


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


More information about the Automotive mailing list