[epiphany/wip/missing-codecs: 7/8] hosts-manager: Simplify



commit 9974541b198f1949579411a7ff131c82f6424568
Author: Michael Catanzaro <mcatanzaro gnome org>
Date:   Sun Nov 6 21:23:21 2016 -0600

    hosts-manager: Simplify
    
    I realized I was being stupid, and have corrected this infraction.

 lib/ephy-hosts-manager.c |  131 ++++++---------------------------------------
 1 files changed, 18 insertions(+), 113 deletions(-)
---
diff --git a/lib/ephy-hosts-manager.c b/lib/ephy-hosts-manager.c
index 5afc23c..0ab3849 100644
--- a/lib/ephy-hosts-manager.c
+++ b/lib/ephy-hosts-manager.c
@@ -135,135 +135,40 @@ ephy_hosts_manager_new (void)
   return EPHY_HOSTS_MANAGER (g_object_new (EPHY_TYPE_HOSTS_MANAGER, NULL));
 }
 
-static EphyHostPermission
-ephy_hosts_manager_get_notifications_permission_for_address (EphyHostsManager *manager,
-                                                             const char       *address)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  return g_settings_get_enum (settings, "notifications-permission");
-}
-
-static void
-ephy_hosts_manager_set_notifications_permission_for_address (EphyHostsManager   *manager,
-                                                             const char         *address,
-                                                             EphyHostPermission  permission)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  g_settings_set_enum (settings, "notifications-permission", permission);
-}
-
-static EphyHostPermission
-ephy_hosts_manager_get_save_password_permission_for_address (EphyHostsManager *manager,
-                                                             const char       *address)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  return g_settings_get_enum (settings, "save-password-permission");
-}
-
-static void
-ephy_hosts_manager_set_save_password_permission_for_address (EphyHostsManager   *manager,
-                                                             const char         *address,
-                                                             EphyHostPermission  permission)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  g_settings_set_enum (settings, "save-password-permission", permission);
-}
-
-static EphyHostPermission
-ephy_hosts_manager_get_geolocation_permission_for_address (EphyHostsManager *manager,
-                                                           const char       *address)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  return g_settings_get_enum (settings, "geolocation-permission");
-}
-
-static void
-ephy_hosts_manager_set_geolocation_permission_for_address (EphyHostsManager   *manager,
-                                                           const char         *address,
-                                                           EphyHostPermission  permission)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  g_settings_set_enum (settings, "geolocation-permission", permission);
-}
-
-static EphyHostPermission
-ephy_hosts_manager_get_audio_device_permission_for_address (EphyHostsManager *manager,
-                                                            const char       *address)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  return g_settings_get_enum (settings, "audio-device-permission");
-}
-
-static void
-ephy_hosts_manager_set_audio_device_permission_for_address (EphyHostsManager   *manager,
-                                                            const char         *address,
-                                                            EphyHostPermission  permission)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  g_settings_set_enum (settings, "audio-device-permission", permission);
-}
-
-static EphyHostPermission
-ephy_hosts_manager_get_video_device_permission_for_address (EphyHostsManager *manager,
-                                                            const char       *address)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  return g_settings_get_enum (settings, "video-device-permission");
-}
-
-static void
-ephy_hosts_manager_set_video_device_permission_for_address (EphyHostsManager   *manager,
-                                                            const char         *address,
-                                                            EphyHostPermission  permission)
-{
-  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
-  g_settings_set_enum (settings, "video-device-permission", permission);
-}
-
-EphyHostPermission
-ephy_hosts_manager_get_permission_for_address (EphyHostsManager       *manager,
-                                               EphyHostPermissionType  type,
-                                               const char             *address)
+static const char *
+permission_type_to_string (EphyHostPermissionType type)
 {
   switch (type) {
   case EPHY_HOST_PERMISSION_TYPE_SHOW_NOTIFICATIONS:
-    return ephy_hosts_manager_get_notifications_permission_for_address (manager, address);
+    return "notifications-permission";
   case EPHY_HOST_PERMISSION_TYPE_SAVE_PASSWORD:
-    return ephy_hosts_manager_get_save_password_permission_for_address (manager, address);
+    return "save-password-permission";
   case EPHY_HOST_PERMISSION_TYPE_ACCESS_LOCATION:
-    return ephy_hosts_manager_get_geolocation_permission_for_address (manager, address);
+    return "geolocation-permission";
   case EPHY_HOST_PERMISSION_TYPE_ACCESS_MICROPHONE:
-    return ephy_hosts_manager_get_audio_device_permission_for_address (manager, address);
+    return "audio-device-permission";
   case EPHY_HOST_PERMISSION_TYPE_ACCESS_WEBCAM:
-    return ephy_hosts_manager_get_video_device_permission_for_address (manager, address);
+    return "video-device-permission";
   default:
     g_assert_not_reached ();
   }
 }
 
+EphyHostPermission
+ephy_hosts_manager_get_permission_for_address (EphyHostsManager       *manager,
+                                               EphyHostPermissionType  type,
+                                               const char             *address)
+{
+  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
+  return g_settings_get_enum (settings, permission_type_to_string (type));
+}
+
 void
 ephy_hosts_manager_set_permission_for_address (EphyHostsManager       *manager,
                                                EphyHostPermissionType  type,
                                                const char             *address,
                                                EphyHostPermission      permission)
 {
-  switch (type) {
-  case EPHY_HOST_PERMISSION_TYPE_SHOW_NOTIFICATIONS:
-    ephy_hosts_manager_set_notifications_permission_for_address (manager, address, permission);
-    break;
-  case EPHY_HOST_PERMISSION_TYPE_SAVE_PASSWORD:
-    ephy_hosts_manager_set_save_password_permission_for_address (manager, address, permission);
-    break;
-  case EPHY_HOST_PERMISSION_TYPE_ACCESS_LOCATION:
-    ephy_hosts_manager_set_geolocation_permission_for_address (manager, address, permission);
-    break;
-  case EPHY_HOST_PERMISSION_TYPE_ACCESS_MICROPHONE:
-    ephy_hosts_manager_set_audio_device_permission_for_address (manager, address, permission);
-    break;
-  case EPHY_HOST_PERMISSION_TYPE_ACCESS_WEBCAM:
-    ephy_hosts_manager_set_video_device_permission_for_address (manager, address, permission);
-    break;
-  default:
-    g_assert_not_reached ();
-  }
+  GSettings *settings = ephy_hosts_manager_get_settings_for_address (manager, address);
+  g_settings_set_enum (settings, permission_type_to_string (type), permission);
 }


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