[gnome-software] PK session service: Export our own name as a property



commit a9fd0d669b784426302f4b213f58a6b12c921f34
Author: Kalev Lember <kalevlember gmail com>
Date:   Tue Feb 17 13:56:32 2015 +0100

    PK session service: Export our own name as a property
    
    Export our own localized name as a DisplayName property so that other
    apps could use it when displaying user facing strings.

 src/gs-dbus-helper.c                       |   11 +++++++++++
 src/org.freedesktop.PackageKit.Modify2.xml |   11 +++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-dbus-helper.c b/src/gs-dbus-helper.c
index a960981..9071367 100644
--- a/src/gs-dbus-helper.c
+++ b/src/gs-dbus-helper.c
@@ -685,6 +685,7 @@ bus_gotten_cb (GObject      *source_object,
 {
        GsDbusHelper *dbus_helper = GS_DBUS_HELPER (user_data);
        _cleanup_object_unref_ GDBusConnection *connection = NULL;
+       _cleanup_object_unref_ GDesktopAppInfo *app_info = NULL;
        _cleanup_error_free_ GError *error = NULL;
 
        connection = g_bus_get_finish (res, &error);
@@ -758,6 +759,16 @@ bus_gotten_cb (GObject      *source_object,
        g_signal_connect (dbus_helper->modify2_interface, "handle-install-printer-drivers",
                          G_CALLBACK (handle_modify2_install_printer_drivers), dbus_helper);
 
+       /* Look up our own localized name and export it as a property on the bus */
+       app_info = g_desktop_app_info_new ("org.gnome.Software.desktop");
+       if (app_info != NULL) {
+               const gchar *app_name = g_app_info_get_name (G_APP_INFO (app_info));
+               if (app_name != NULL)
+                       g_object_set (G_OBJECT (dbus_helper->modify2_interface),
+                                     "display-name", app_name,
+                                     NULL);
+       }
+
        if (!g_dbus_interface_skeleton_export (dbus_helper->modify2_interface,
                                               connection,
                                               "/org/freedesktop/PackageKit",
diff --git a/src/org.freedesktop.PackageKit.Modify2.xml b/src/org.freedesktop.PackageKit.Modify2.xml
index f320750..5d9f8a8 100644
--- a/src/org.freedesktop.PackageKit.Modify2.xml
+++ b/src/org.freedesktop.PackageKit.Modify2.xml
@@ -527,5 +527,16 @@
         </doc:doc>
       </arg>
     </method>
+
+    <property name="DisplayName" type="s" access="read">
+      <doc:doc>
+        <doc:description>
+          <doc:para>
+            Translated, human readable name of the program implementing the interface, e.g. 'Software' for 
gnome-software.
+          </doc:para>
+        </doc:description>
+      </doc:doc>
+    </property>
+
   </interface>
 </node>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]