static void get_permissions_cb (BMSettingsSystemInterface *settings, BMSettingsSystemPermissions permissions, GError *error, gpointer user_data) { PermInfo *info = user_data; CEPolkitButton *self = info->self; CEPolkitButtonPrivate *priv; gboolean old_actionable, old_authorized; /* Response might come when button is already disposed */ if (info->disposed) goto out; priv = CE_POLKIT_BUTTON_GET_PRIVATE (info->self); priv->perm_calls = g_slist_remove (priv->perm_calls, info); old_actionable = ce_polkit_button_get_actionable (self); old_authorized = priv->authorized; priv->authorized = (permissions & priv->permission); if (priv->use_polkit) update_and_emit (self, old_actionable); if (priv->authorized != old_authorized) g_signal_emit (self, signals[AUTHORIZED], 0, priv->authorized); out: g_free (info); }
void ce_polkit_button_set_master_sensitive (CEPolkitButton *self, gboolean sensitive) { gboolean old_actionable; g_return_if_fail (self != NULL); g_return_if_fail (CE_IS_POLKIT_BUTTON (self)); old_actionable = ce_polkit_button_get_actionable (self); CE_POLKIT_BUTTON_GET_PRIVATE (self)->master_sensitive = sensitive; update_and_emit (self, old_actionable); }
void ce_polkit_button_set_use_polkit (CEPolkitButton *self, gboolean use_polkit) { gboolean old_actionable; g_return_if_fail (self != NULL); g_return_if_fail (CE_IS_POLKIT_BUTTON (self)); old_actionable = ce_polkit_button_get_actionable (self); CE_POLKIT_BUTTON_GET_PRIVATE (self)->use_polkit = use_polkit; update_and_emit (self, old_actionable); }
static void permission_changed_cb (NMClient *client, NMClientPermission permission, NMClientPermissionResult result, CEPolkitButton *self) { CEPolkitButtonPrivate *priv = CE_POLKIT_BUTTON_GET_PRIVATE (self); gboolean old_actionable, old_authorized; old_actionable = ce_polkit_button_get_actionable (self); old_authorized = priv->authorized; priv->authorized = (result == NM_CLIENT_PERMISSION_RESULT_YES || result == NM_CLIENT_PERMISSION_RESULT_AUTH); update_and_emit (self, old_actionable); if (priv->authorized != old_authorized) g_signal_emit (self, signals[AUTHORIZED], 0, priv->authorized); }
static void permission_changed_cb (NMClient *client, NMClientPermission permission, NMClientPermissionResult result, CEPolkitButton *self) { CEPolkitButtonPrivate *priv = CE_POLKIT_BUTTON_GET_PRIVATE (self); gboolean old_actionable; if (priv->permission_result == result) return; old_actionable = ce_polkit_button_get_actionable (self); priv->permission_result = result; update_and_emit (self, old_actionable); g_signal_emit (self, signals[AUTHORIZED], 0, ce_polkit_button_get_authorized (self)); }
void ce_polkit_button_set_validation_error (CEPolkitButton *self, const char *validation_error) { CEPolkitButtonPrivate *priv; gboolean old_actionable; g_return_if_fail (self != NULL); g_return_if_fail (CE_IS_POLKIT_BUTTON (self)); priv = CE_POLKIT_BUTTON_GET_PRIVATE (self); if (g_strcmp0 (validation_error, priv->validation_error) != 0) { old_actionable = ce_polkit_button_get_actionable (self); g_free (priv->validation_error); priv->validation_error = g_strdup (validation_error); update_and_emit (self, old_actionable); } }
static void get_permissions_cb (NMSettingsSystemInterface *settings, NMSettingsSystemPermissions permissions, GError *error, gpointer user_data) { CEPolkitButton *self = CE_POLKIT_BUTTON (user_data); CEPolkitButtonPrivate *priv = CE_POLKIT_BUTTON_GET_PRIVATE (self); gboolean old_actionable, old_authorized; old_actionable = ce_polkit_button_get_actionable (self); old_authorized = priv->authorized; priv->authorized = (permissions & priv->permission); if (priv->use_polkit) update_and_emit (self, old_actionable); if (priv->authorized != old_authorized) g_signal_emit (self, signals[AUTHORIZED], 0, priv->authorized); }