summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@gnome.org>2016-11-06 21:23:21 -0600
committerMichael Catanzaro <mcatanzaro@gnome.org>2016-11-06 21:35:41 -0600
commit9974541b198f1949579411a7ff131c82f6424568 (patch)
tree85f7d28c762eee2f74e54f8e69e3394d1baa272e
parent81233eb6b7184d74d713aae6806b73a709cca3c0 (diff)
downloadepiphany-9974541b198f1949579411a7ff131c82f6424568.tar.gz
hosts-manager: Simplify
I realized I was being stupid, and have corrected this infraction.
-rw-r--r--lib/ephy-hosts-manager.c131
1 files changed, 18 insertions, 113 deletions
diff --git a/lib/ephy-hosts-manager.c b/lib/ephy-hosts-manager.c
index 5afc23c02..0ab384963 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);
}