[gnome-control-center] printers: Add methods for getting printer name and location



commit 902f90e5eacb6462fd604b45d4a8ae908fd72c75
Author: Robert Ancell <robert ancell canonical com>
Date:   Thu Oct 15 09:57:44 2020 +1300

    printers: Add methods for getting printer name and location
    
    Remove the GObject properties that aren't type safe.

 panels/printers/cc-printers-panel.c |  61 +++++-------------
 panels/printers/pp-printer-entry.c  |  95 ++++++---------------------
 panels/printers/pp-printer-entry.h  |   4 ++
 panels/printers/pp-printer.c        | 125 ++++++++++--------------------------
 panels/printers/pp-printer.h        |   2 +
 5 files changed, 76 insertions(+), 211 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index 4ac1dbf4f..fe3e0f890 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -253,9 +253,7 @@ printer_removed_cb (GObject      *source_object,
 {
   PpPrinter *printer = PP_PRINTER (source_object);
   g_autoptr(GError) error = NULL;
-  g_autofree gchar *printer_name = NULL;
 
-  g_object_get (printer, "printer-name", &printer_name, NULL);
   pp_printer_delete_finish (printer, result, &error);
 
   if (user_data != NULL)
@@ -269,7 +267,7 @@ printer_removed_cb (GObject      *source_object,
 
           for (iter = self->deleted_printers; iter != NULL; iter = iter->next)
             {
-              if (g_strcmp0 (iter->data, printer_name) == 0)
+              if (g_strcmp0 (iter->data, pp_printer_get_name (printer)) == 0)
                 {
                   g_free (iter->data);
                   self->deleted_printers = g_list_delete_link (self->deleted_printers, iter);
@@ -678,23 +676,18 @@ on_printer_deleted (CcPrintersPanel *self,
 {
   GtkLabel         *label;
   g_autofree gchar *notification_message = NULL;
-  g_autofree gchar *printer_name = NULL;
   GtkWidget        *widget;
 
   on_notification_dismissed (self);
 
-  g_object_get (printer_entry,
-                "printer-name", &printer_name,
-                NULL);
-
   /* Translators: %s is the printer name */
   notification_message = g_strdup_printf (_("Printer ā€œ%sā€ has been deleted"),
-                                          printer_name);
+                                          pp_printer_entry_get_name (printer_entry));
   label = (GtkLabel*)
     gtk_builder_get_object (self->builder, "notification-label");
   gtk_label_set_label (label, notification_message);
 
-  self->deleted_printer_name = g_strdup (printer_name);
+  self->deleted_printer_name = g_strdup (pp_printer_entry_get_name (printer_entry));
 
   widget = (GtkWidget*) gtk_builder_get_object (self->builder, "content");
   gtk_list_box_invalidate_filter (GTK_LIST_BOX (widget));
@@ -709,10 +702,7 @@ on_printer_renamed (CcPrintersPanel *self,
                     gchar           *new_name,
                     PpPrinterEntry  *printer_entry)
 {
-  g_object_get (printer_entry,
-                "printer-name",
-                &self->old_printer_name,
-                NULL);
+  self->old_printer_name = g_strdup (pp_printer_entry_get_name (printer_entry));
   self->renamed_printer_name = g_strdup (new_name);
 }
 
@@ -786,15 +776,12 @@ destroy_nonexisting_entries (PpPrinterEntry *entry,
                              gpointer        user_data)
 {
   CcPrintersPanel  *self = (CcPrintersPanel *) user_data;
-  g_autofree gchar *printer_name = NULL;
   gboolean          exists = FALSE;
   gint              i;
 
-  g_object_get (G_OBJECT (entry), "printer-name", &printer_name, NULL);
-
   for (i = 0; i < self->num_dests; i++)
     {
-      if (g_strcmp0 (self->dests[i].name, printer_name) == 0)
+      if (g_strcmp0 (self->dests[i].name, pp_printer_entry_get_name (entry)) == 0)
         {
           exists = TRUE;
           break;
@@ -803,8 +790,8 @@ destroy_nonexisting_entries (PpPrinterEntry *entry,
 
   if (!exists)
     {
+      g_hash_table_remove (self->printer_entries, pp_printer_entry_get_name (entry));
       gtk_widget_destroy (GTK_WIDGET (entry));
-      g_hash_table_remove (self->printer_entries, printer_name);
     }
 }
 
@@ -1120,20 +1107,14 @@ filter_function (GtkListBoxRow *row,
                  gpointer       user_data)
 {
   CcPrintersPanel        *self = (CcPrintersPanel*) user_data;
+  PpPrinterEntry         *entry = PP_PRINTER_ENTRY (row);
   GtkWidget              *search_entry;
   gboolean                retval;
   g_autofree gchar       *search = NULL;
   g_autofree gchar       *name = NULL;
   g_autofree gchar       *location = NULL;
-  g_autofree gchar       *printer_name = NULL;
-  g_autofree gchar       *printer_location = NULL;
   GList                  *iter;
 
-  g_object_get (G_OBJECT (row),
-                "printer-name", &printer_name,
-                "printer-location", &printer_location,
-                NULL);
-
   search_entry = (GtkWidget*)
     gtk_builder_get_object (self->builder, "search-entry");
 
@@ -1143,8 +1124,8 @@ filter_function (GtkListBoxRow *row,
     }
   else
     {
-      name = cc_util_normalize_casefold_and_unaccent (printer_name);
-      location = cc_util_normalize_casefold_and_unaccent (printer_location);
+      name = cc_util_normalize_casefold_and_unaccent (pp_printer_entry_get_name (entry));
+      location = cc_util_normalize_casefold_and_unaccent (pp_printer_entry_get_location (entry));
 
       search = cc_util_normalize_casefold_and_unaccent (gtk_entry_get_text (GTK_ENTRY (search_entry)));
 
@@ -1154,7 +1135,7 @@ filter_function (GtkListBoxRow *row,
     }
 
   if (self->deleted_printer_name != NULL &&
-      g_strcmp0 (self->deleted_printer_name, printer_name) == 0)
+      g_strcmp0 (self->deleted_printer_name, pp_printer_entry_get_name (entry)) == 0)
     {
       retval = FALSE;
     }
@@ -1163,7 +1144,7 @@ filter_function (GtkListBoxRow *row,
     {
       for (iter = self->deleted_printers; iter != NULL; iter = iter->next)
         {
-          if (g_strcmp0 (iter->data, printer_name) == 0)
+          if (g_strcmp0 (iter->data, pp_printer_entry_get_name (entry)) == 0)
             {
               retval = FALSE;
               break;
@@ -1179,27 +1160,19 @@ sort_function (GtkListBoxRow *row1,
                GtkListBoxRow *row2,
                gpointer       user_data)
 {
-  g_autofree gchar *printer_name1 = NULL;
-  g_autofree gchar *printer_name2 = NULL;
-
-  g_object_get (G_OBJECT (row1),
-                "printer-name", &printer_name1,
-                NULL);
-
-  g_object_get (G_OBJECT (row2),
-                "printer-name", &printer_name2,
-                NULL);
+  PpPrinterEntry *entry1 = PP_PRINTER_ENTRY (row1);
+  PpPrinterEntry *entry2 = PP_PRINTER_ENTRY (row2);
 
-  if (printer_name1 != NULL)
+  if (pp_printer_entry_get_name (entry1) != NULL)
     {
-      if (printer_name2 != NULL)
-        return g_ascii_strcasecmp (printer_name1, printer_name2);
+      if (pp_printer_entry_get_name (entry2) != NULL)
+        return g_ascii_strcasecmp (pp_printer_entry_get_name (entry1), pp_printer_entry_get_name (entry2));
       else
         return 1;
     }
   else
     {
-      if (printer_name2 != NULL)
+      if (pp_printer_entry_get_name (entry2) != NULL)
         return -1;
       else
         return 0;
diff --git a/panels/printers/pp-printer-entry.c b/panels/printers/pp-printer-entry.c
index ad0db5587..9a2c7cb29 100644
--- a/panels/printers/pp-printer-entry.c
+++ b/panels/printers/pp-printer-entry.c
@@ -93,12 +93,6 @@ struct _PpPrinterEntryClass
 
 G_DEFINE_TYPE (PpPrinterEntry, pp_printer_entry, GTK_TYPE_LIST_BOX_ROW)
 
-enum {
-  PROP_0,
-  PROP_PRINTER_NAME,
-  PROP_PRINTER_LOCATION,
-};
-
 enum {
   IS_DEFAULT_PRINTER,
   PRINTER_DELETE,
@@ -124,49 +118,6 @@ ink_level_data_free (InkLevelData *data)
   g_slice_free (InkLevelData, data);
 }
 
-static void
-pp_printer_entry_get_property (GObject    *object,
-                               guint       prop_id,
-                               GValue     *value,
-                               GParamSpec *pspec)
-{
-  PpPrinterEntry *self = PP_PRINTER_ENTRY (object);
-
-  switch (prop_id)
-    {
-      case PROP_PRINTER_NAME:
-        g_value_set_string (value, self->printer_name);
-        break;
-      case PROP_PRINTER_LOCATION:
-        g_value_set_string (value, self->printer_location);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    }
-}
-
-static void
-pp_printer_entry_set_property (GObject      *object,
-                               guint         prop_id,
-                               const GValue *value,
-                               GParamSpec   *pspec)
-{
-  PpPrinterEntry *self = PP_PRINTER_ENTRY (object);
-
-  switch (prop_id)
-    {
-      case PROP_PRINTER_NAME:
-        self->printer_name = g_value_dup_string (value);
-        break;
-      case PROP_PRINTER_LOCATION:
-        self->printer_location = g_value_dup_string (value);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-        break;
-    }
-}
-
 static void
 pp_printer_entry_init (PpPrinterEntry *self)
 {
@@ -403,16 +354,11 @@ on_printer_rename_cb (GObject      *source_object,
                       gpointer      user_data)
 {
   PpPrinterEntry *self = user_data;
-  g_autofree gchar *printer_name = NULL;
 
   if (!pp_printer_rename_finish (PP_PRINTER (source_object), result, NULL))
     return;
 
-  g_object_get (PP_PRINTER (source_object),
-                "printer-name", &printer_name,
-                NULL);
-
-  g_signal_emit_by_name (self, "printer-renamed", printer_name);
+  g_signal_emit_by_name (self, "printer-renamed", pp_printer_get_name (PP_PRINTER (source_object)));
 }
 
 static void
@@ -691,7 +637,9 @@ pp_printer_entry_new (cups_dest_t  printer,
 {
   PpPrinterEntry *self;
 
-  self = g_object_new (PP_PRINTER_ENTRY_TYPE, "printer-name", printer.name, NULL);
+  self = g_object_new (PP_PRINTER_ENTRY_TYPE, NULL);
+
+  self->printer_name = g_strdup (printer.name);
 
   self->clean_command = pp_maintenance_command_new (self->printer_name,
                                                     "Clean",
@@ -707,6 +655,20 @@ pp_printer_entry_new (cups_dest_t  printer,
   return self;
 }
 
+const gchar *
+pp_printer_entry_get_name (PpPrinterEntry *self)
+{
+  g_return_val_if_fail (PP_IS_PRINTER_ENTRY (self), NULL);
+  return self->printer_name;
+}
+
+const gchar *
+pp_printer_entry_get_location (PpPrinterEntry *self)
+{
+  g_return_val_if_fail (PP_IS_PRINTER_ENTRY (self), NULL);
+  return self->printer_location;
+}
+
 void
 pp_printer_entry_update (PpPrinterEntry *self,
                          cups_dest_t     printer,
@@ -924,7 +886,8 @@ pp_printer_entry_update (PpPrinterEntry *self,
   else
     printer_icon_name = g_strdup ("printer-network");
 
-  g_object_set (self, "printer-location", location, NULL);
+  g_free (self->printer_location);
+  self->printer_location = g_strdup (location);
 
   self->is_accepting_jobs = is_accepting_jobs;
   self->is_authorized = is_authorized;
@@ -1024,26 +987,8 @@ pp_printer_entry_class_init (PpPrinterEntryClass *klass)
   gtk_widget_class_bind_template_callback (widget_class, show_jobs_dialog);
   gtk_widget_class_bind_template_callback (widget_class, restart_printer);
 
-  object_class->get_property = pp_printer_entry_get_property;
-  object_class->set_property = pp_printer_entry_set_property;
   object_class->dispose = pp_printer_entry_dispose;
 
-  g_object_class_install_property (object_class,
-                                   PROP_PRINTER_NAME,
-                                   g_param_spec_string ("printer-name",
-                                                        "Printer Name",
-                                                        "The Printer unique name",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-
-  g_object_class_install_property (object_class,
-                                   PROP_PRINTER_LOCATION,
-                                   g_param_spec_string ("printer-location",
-                                                        "Printer Location",
-                                                        "Printer location string",
-                                                        NULL,
-                                                        G_PARAM_READWRITE));
-
   signals[IS_DEFAULT_PRINTER] =
     g_signal_new ("printer-changed",
                   G_TYPE_FROM_CLASS (klass),
diff --git a/panels/printers/pp-printer-entry.h b/panels/printers/pp-printer-entry.h
index 5db39d9ec..1c6b3dced 100644
--- a/panels/printers/pp-printer-entry.h
+++ b/panels/printers/pp-printer-entry.h
@@ -28,6 +28,10 @@ G_DECLARE_FINAL_TYPE (PpPrinterEntry, pp_printer_entry, PP, PRINTER_ENTRY, GtkLi
 PpPrinterEntry *pp_printer_entry_new  (cups_dest_t printer,
                                        gboolean    is_authorized);
 
+const gchar    *pp_printer_entry_get_name (PpPrinterEntry *self);
+
+const gchar    *pp_printer_entry_get_location (PpPrinterEntry *self);
+
 void            pp_printer_entry_update_jobs_count (PpPrinterEntry *self);
 
 GSList         *pp_printer_entry_get_size_group_widgets (PpPrinterEntry *self);
diff --git a/panels/printers/pp-printer.c b/panels/printers/pp-printer.c
index fd478f9ad..67720a82b 100644
--- a/panels/printers/pp-printer.c
+++ b/panels/printers/pp-printer.c
@@ -34,12 +34,6 @@ struct _PpPrinter
 
 G_DEFINE_TYPE (PpPrinter, pp_printer, G_TYPE_OBJECT)
 
-enum
-{
-  PROP_0 = 0,
-  PROP_NAME
-};
-
 static void
 pp_printer_dispose (GObject *object)
 {
@@ -50,61 +44,12 @@ pp_printer_dispose (GObject *object)
   G_OBJECT_CLASS (pp_printer_parent_class)->dispose (object);
 }
 
-static void
-pp_printer_get_property (GObject    *object,
-                         guint       property_id,
-                         GValue     *value,
-                         GParamSpec *pspec)
-{
-  PpPrinter *self = PP_PRINTER (object);
-
-  switch (property_id)
-    {
-      case PROP_NAME:
-        g_value_set_string (value, self->printer_name);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-        break;
-    }
-}
-
-static void
-pp_printer_set_property (GObject      *object,
-                         guint         property_id,
-                         const GValue *value,
-                         GParamSpec   *pspec)
-{
-  PpPrinter *self = PP_PRINTER (object);
-
-  switch (property_id)
-    {
-      case PROP_NAME:
-        g_free (self->printer_name);
-        self->printer_name = g_value_dup_string (value);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-        break;
-    }
-
-}
-
 static void
 pp_printer_class_init (PpPrinterClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  gobject_class->set_property = pp_printer_set_property;
-  gobject_class->get_property = pp_printer_get_property;
   gobject_class->dispose = pp_printer_dispose;
-
-  g_object_class_install_property (gobject_class, PROP_NAME,
-    g_param_spec_string ("printer-name",
-                         "Printer name",
-                         "Name of this printer",
-                         NULL,
-                         G_PARAM_READWRITE));
 }
 
 static void
@@ -115,11 +60,20 @@ pp_printer_init (PpPrinter *self)
 PpPrinter *
 pp_printer_new (const gchar *name)
 {
-  PpPrinter *self = g_object_new (PP_TYPE_PRINTER, "printer-name", name, NULL);
+  PpPrinter *self = g_object_new (PP_TYPE_PRINTER, NULL);
+
+  self->printer_name = g_strdup (name);
 
   return self;
 }
 
+const gchar *
+pp_printer_get_name (PpPrinter *self)
+{
+  g_return_val_if_fail (PP_IS_PRINTER (self), NULL);
+  return self->printer_name;
+}
+
 static void
 printer_rename_thread (GTask        *task,
                        gpointer      source_object,
@@ -128,16 +82,14 @@ printer_rename_thread (GTask        *task,
 {
   PpPrinter        *self = PP_PRINTER (source_object);
   gboolean          result;
-  gchar            *new_printer_name = task_data;
-  g_autofree gchar *old_printer_name = NULL;
+  const gchar      *new_printer_name = task_data;
 
-  g_object_get (self, "printer-name", &old_printer_name, NULL);
-
-  result = printer_rename (old_printer_name, new_printer_name);
+  result = printer_rename (self->printer_name, new_printer_name);
 
   if (result)
     {
-      g_object_set (self, "printer-name", new_printer_name, NULL);
+      g_free (self->printer_name);
+      self->printer_name = g_strdup (new_printer_name);
     }
 
   g_task_return_boolean (task, result);
@@ -160,21 +112,20 @@ printer_rename_dbus_cb (GObject      *source_object,
 
   if (output != NULL)
     {
-      g_autofree gchar *old_printer_name = NULL;
       const gchar *ret_error;
 
       self = g_task_get_source_object (task);
-      g_object_get (self, "printer-name", &old_printer_name, NULL);
 
       g_variant_get (output, "(&s)", &ret_error);
       if (ret_error[0] != '\0')
         {
-          g_warning ("cups-pk-helper: renaming of printer %s failed: %s", old_printer_name, ret_error);
+          g_warning ("cups-pk-helper: renaming of printer %s failed: %s", self->printer_name, ret_error);
         }
       else
         {
           result = TRUE;
-          g_object_set (self, "printer-name", g_task_get_task_data (task), NULL);
+          g_free (self->printer_name);
+          self->printer_name = g_strdup (g_task_get_task_data (task));
         }
 
       g_task_return_boolean (task, result);
@@ -201,6 +152,7 @@ get_bus_cb (GObject      *source_object,
             GAsyncResult *res,
             gpointer      user_data)
 {
+  PpPrinter *self;
   GDBusConnection  *bus;
   g_autoptr(GError) error = NULL;
   g_autoptr(GTask)  task = user_data;
@@ -208,18 +160,14 @@ get_bus_cb (GObject      *source_object,
   bus = g_bus_get_finish (res, &error);
   if (bus != NULL)
     {
-      g_autofree gchar *printer_name = NULL;
-
-      g_object_get (g_task_get_source_object (task),
-                    "printer-name", &printer_name,
-                    NULL);
+      self = g_task_get_source_object (task);
       g_dbus_connection_call (bus,
                               MECHANISM_BUS,
                               "/",
                               MECHANISM_BUS,
                               "PrinterRename",
                               g_variant_new ("(ss)",
-                                             printer_name,
+                                             self->printer_name,
                                              g_task_get_task_data (task)),
                               G_VARIANT_TYPE ("(s)"),
                               G_DBUS_CALL_FLAGS_NONE,
@@ -295,10 +243,8 @@ get_jobs_thread (GTask        *task,
   gint              num_jobs;
   gint              i, j;
 
-  g_object_get (self, "printer-name", &printer_name, NULL);
-
   num_jobs = cupsGetJobs (&jobs,
-                          printer_name,
+                          self->printer_name,
                           get_jobs_data->myjobs ? 1 : 0,
                           get_jobs_data->which_jobs);
 
@@ -328,7 +274,7 @@ get_jobs_thread (GTask        *task,
 
                   if (auth_info_required == NULL)
                     {
-                      g_autofree gchar *printer_uri = g_strdup_printf ("ipp://localhost/printers/%s", 
printer_name);
+                      g_autofree gchar *printer_uri = g_strdup_printf ("ipp://localhost/printers/%s", 
self->printer_name);
 
                       printer_request = ippNewRequest (IPP_GET_PRINTER_ATTRIBUTES);
                       ippAddString (printer_request, IPP_TAG_OPERATION, IPP_TAG_URI,
@@ -408,6 +354,7 @@ pp_printer_delete_dbus_cb (GObject      *source_object,
                            GAsyncResult *res,
                            gpointer      user_data)
 {
+  PpPrinter *self;
   g_autoptr(GVariant) output = NULL;
   gboolean            result = FALSE;
   g_autoptr(GError)   error = NULL;
@@ -419,14 +366,13 @@ pp_printer_delete_dbus_cb (GObject      *source_object,
 
   if (output != NULL)
     {
-      g_autofree gchar *printer_name = NULL;
       const gchar      *ret_error;
 
-      g_object_get (g_task_get_source_object (task), "printer-name", &printer_name, NULL);
+      self = g_task_get_source_object (task);
 
       g_variant_get (output, "(&s)", &ret_error);
       if (ret_error[0] != '\0')
-        g_warning ("cups-pk-helper: removing of printer %s failed: %s", printer_name, ret_error);
+        g_warning ("cups-pk-helper: removing of printer %s failed: %s", self->printer_name, ret_error);
       else
         result = TRUE;
 
@@ -445,6 +391,7 @@ pp_printer_delete_cb (GObject      *source_object,
                       GAsyncResult *res,
                       gpointer      user_data)
 {
+  PpPrinter *self;
   GDBusConnection  *bus;
   g_autoptr(GError) error = NULL;
   GTask            *task = user_data;
@@ -452,18 +399,14 @@ pp_printer_delete_cb (GObject      *source_object,
   bus = g_bus_get_finish (res, &error);
   if (bus != NULL)
     {
-      g_autofree gchar *printer_name = NULL;
-
-      g_object_get (g_task_get_source_object (task),
-                    "printer-name", &printer_name,
-                    NULL);
+      self = g_task_get_source_object (task);
 
       g_dbus_connection_call (bus,
                               MECHANISM_BUS,
                               "/",
                               MECHANISM_BUS,
                               "PrinterDelete",
-                              g_variant_new ("(s)", printer_name),
+                              g_variant_new ("(s)", self->printer_name),
                               G_VARIANT_TYPE ("(s)"),
                               G_DBUS_CALL_FLAGS_NONE,
                               -1,
@@ -531,14 +474,12 @@ print_file_thread (GTask        *task,
   cups_dest_t      *dest = NULL;
   const gchar      *printer_type = NULL;
   gboolean          ret = FALSE;
-  g_autofree gchar *printer_name = NULL;
   g_autofree gchar *printer_uri = NULL;
   g_autofree gchar *resource = NULL;
   ipp_t            *response = NULL;
   ipp_t            *request;
 
-  g_object_get (self, "printer-name", &printer_name, NULL);
-  dest = cupsGetNamedDest (CUPS_HTTP_DEFAULT, printer_name, NULL);
+  dest = cupsGetNamedDest (CUPS_HTTP_DEFAULT, self->printer_name, NULL);
   if (dest != NULL)
     {
       printer_type = cupsGetOption ("printer-type",
@@ -552,13 +493,13 @@ print_file_thread (GTask        *task,
 
   if (type & CUPS_PRINTER_CLASS)
     {
-      printer_uri = g_strdup_printf ("ipp://localhost/classes/%s", printer_name);
-      resource = g_strdup_printf ("/classes/%s", printer_name);
+      printer_uri = g_strdup_printf ("ipp://localhost/classes/%s", self->printer_name);
+      resource = g_strdup_printf ("/classes/%s", self->printer_name);
     }
   else
     {
-      printer_uri = g_strdup_printf ("ipp://localhost/printers/%s", printer_name);
-      resource = g_strdup_printf ("/printers/%s", printer_name);
+      printer_uri = g_strdup_printf ("ipp://localhost/printers/%s", self->printer_name);
+      resource = g_strdup_printf ("/printers/%s", self->printer_name);
     }
 
   print_file_data = g_task_get_task_data (task);
diff --git a/panels/printers/pp-printer.h b/panels/printers/pp-printer.h
index 5fac607a7..a63fbb94f 100644
--- a/panels/printers/pp-printer.h
+++ b/panels/printers/pp-printer.h
@@ -34,6 +34,8 @@ GType        pp_printer_get_type      (void) G_GNUC_CONST;
 
 PpPrinter   *pp_printer_new           (const gchar          *name);
 
+const gchar *pp_printer_get_name      (PpPrinter            *printer);
+
 void         pp_printer_rename_async  (PpPrinter            *printer,
                                        const gchar          *new_printer_name,
                                        GCancellable         *cancellable,


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