[gnome-control-center/rhel/8.4.0: 10/32] info: Move helper for getting subscription status to header




commit 9cafba265a026df26b121fe51d0a7d44b66aaaea
Author: Ray Strode <rstrode redhat com>
Date:   Sun Jan 24 10:29:56 2021 -0500

    info: Move helper for getting subscription status to header
    
    In the future we're going to need to be able to get the subscription
    status in two files, so move the function for getting that status
    to a common header.
    
    Ideally we'd be using code generation for the subscription proxy
    instead, but that's a bigger refactor that will have to wait for
    another day.

 panels/info/cc-info-overview-panel.c | 32 ++------------------------------
 panels/info/cc-subscription-common.h | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 30 deletions(-)
---
diff --git a/panels/info/cc-info-overview-panel.c b/panels/info/cc-info-overview-panel.c
index 1467060f9..b2cbefb25 100644
--- a/panels/info/cc-info-overview-panel.c
+++ b/panels/info/cc-info-overview-panel.c
@@ -24,6 +24,7 @@
 #include "shell/cc-hostname-entry.h"
 
 #include "cc-info-resources.h"
+#include "cc-subscription-common.h"
 #include "cc-subscription-details-dialog.h"
 #include "cc-subscription-register-dialog.h"
 #include "info-cleanup.h"
@@ -800,35 +801,6 @@ info_overview_panel_setup_overview (CcInfoOverviewPanel *self)
   gtk_label_set_markup (GTK_LABEL (priv->graphics_label), priv->graphics_data->hardware_string);
 }
 
-typedef enum {
-  GSD_SUBMAN_SUBSCRIPTION_STATUS_UNKNOWN,
-  GSD_SUBMAN_SUBSCRIPTION_STATUS_VALID,
-  GSD_SUBMAN_SUBSCRIPTION_STATUS_INVALID,
-  GSD_SUBMAN_SUBSCRIPTION_STATUS_DISABLED,
-  GSD_SUBMAN_SUBSCRIPTION_STATUS_PARTIALLY_VALID,
-  GSD_SUBMAN_SUBSCRIPTION_STATUS_LAST
-} GsdSubmanSubscriptionStatus;
-
-static gboolean
-get_subscription_status (CcInfoOverviewPanel *self, GsdSubmanSubscriptionStatus *status)
-{
-  CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self);
-  g_autoptr(GVariant) status_variant = NULL;
-  guint32 u;
-
-  status_variant = g_dbus_proxy_get_cached_property (priv->subscription_proxy, "SubscriptionStatus");
-  if (!status_variant)
-    {
-      g_debug ("Unable to get SubscriptionStatus property");
-      return FALSE;
-    }
-
-  g_variant_get (status_variant, "u", &u);
-  *status = u;
-
-  return TRUE;
-}
-
 static void
 reload_subscription_status (CcInfoOverviewPanel *self)
 {
@@ -841,7 +813,7 @@ reload_subscription_status (CcInfoOverviewPanel *self)
       return;
     }
 
-  if (!get_subscription_status (self, &status))
+  if (!get_subscription_status (priv->subscription_proxy, &status))
     {
       gtk_widget_hide (priv->subscription_stack);
       return;
diff --git a/panels/info/cc-subscription-common.h b/panels/info/cc-subscription-common.h
new file mode 100644
index 000000000..034d64181
--- /dev/null
+++ b/panels/info/cc-subscription-common.h
@@ -0,0 +1,34 @@
+#ifndef CC_SUBSCRIPTION_COMMON_H
+#define CC_SUBSCRIPTION_COMMON_H
+
+typedef enum {
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_UNKNOWN,
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_VALID,
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_INVALID,
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_DISABLED,
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_PARTIALLY_VALID,
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_NO_INSTALLED_PRODUCTS,
+  GSD_SUBMAN_SUBSCRIPTION_STATUS_LAST
+} GsdSubmanSubscriptionStatus;
+
+static inline gboolean
+get_subscription_status (GDBusProxy *subscription_proxy,
+                         GsdSubmanSubscriptionStatus *status)
+{
+  g_autoptr(GVariant) status_variant = NULL;
+  guint32 u;
+
+  status_variant = g_dbus_proxy_get_cached_property (subscription_proxy, "SubscriptionStatus");
+  if (!status_variant)
+    {
+      g_debug ("Unable to get SubscriptionStatus property");
+      return FALSE;
+    }
+
+  g_variant_get (status_variant, "u", &u);
+  *status = u;
+
+  return TRUE;
+}
+
+#endif


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