-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
1.1
-
None
-
Ubuntu 14.04.05 LTS
-
I6c9a623f876e23bf5ef17e09bce8613173878cf7
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.
Given two apps, one C++ / native and the other a QML file (still native, using the launcher), different code paths are taken in nativeruntime.cpp in the application manager. In NativeRuntime::onDBusPeerConnection, if m_needsLauncher and m_launchWhenReady are true then NativeRuntime::onLauncherFinishedInitialization() is called and all extension interfaces are registered. My native C++ application doesn't require a launcher, therefore those booleans are false, and the extension interfaces are never registered.
Attached is a patch which demonstrates the missing code.