Uploaded image for project: 'Qt Automotive Suite'
  1. Qt Automotive Suite
  2. AUTOSUITE-24

Extension Interfaces are not registered for C++ native apps

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Not Evaluated Not Evaluated
    • None
    • 1.1
    • Qt Application Manager
    • 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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            rgriebl Robert Griebl
            jlamothe-docboxinc Jereme Lamothe
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes