[evolution-data-server/account-mgmt: 11/37] Adapt EClient to the new ESource API.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/account-mgmt: 11/37] Adapt EClient to the new ESource API.
- Date: Thu, 12 Jan 2012 03:13:39 +0000 (UTC)
commit d8fc3b190378cf1fcba4a2a0841e80bffd8f0308
Author: Matthew Barnes <mbarnes redhat com>
Date: Wed May 25 14:18:31 2011 -0400
Adapt EClient to the new ESource API.
.../libedataserver/libedataserver-sections.txt | 80 -----
libedataserver/e-client-private.h | 7 -
libedataserver/e-client.c | 314 --------------------
libedataserver/e-client.h | 6 -
libedataserver/e-credentials.c | 195 +++----------
libedataserver/e-credentials.h | 76 +-----
6 files changed, 42 insertions(+), 636 deletions(-)
---
diff --git a/docs/reference/libedataserver/libedataserver-sections.txt b/docs/reference/libedataserver/libedataserver-sections.txt
index eb702d0..46f0619 100644
--- a/docs/reference/libedataserver/libedataserver-sections.txt
+++ b/docs/reference/libedataserver/libedataserver-sections.txt
@@ -32,7 +32,6 @@ CLIENT_BACKEND_PROPERTY_CACHE_DIR
CLIENT_BACKEND_PROPERTY_CAPABILITIES
EClient
e_client_get_source
-e_client_get_uri
e_client_get_capabilities
e_client_check_capability
e_client_check_refresh_supported
@@ -86,15 +85,10 @@ e_client_error_quark
<FILE>e-credentials</FILE>
<TITLE>ECredentials</TITLE>
ECredentials
-E_CREDENTIALS_KEY_USERNAME
E_CREDENTIALS_KEY_PASSWORD
-E_CREDENTIALS_KEY_AUTH_METHOD
-E_CREDENTIALS_KEY_PROMPT_TITLE
E_CREDENTIALS_KEY_PROMPT_TEXT
E_CREDENTIALS_KEY_PROMPT_REASON
-E_CREDENTIALS_KEY_PROMPT_KEY
E_CREDENTIALS_KEY_PROMPT_FLAGS
-ECredentialsPromptFlags
e_credentials_new
e_credentials_new_strv
e_credentials_new_args
@@ -190,80 +184,6 @@ e_dbus_authenticator_skeleton_get_type
</SECTION>
<SECTION>
-<FILE>e-dbus-authenticator</FILE>
-<TITLE>EDBusAuthenticator</TITLE>
-EDBusAuthenticator
-e_dbus_authenticator_call_ready_sync
-e_dbus_authenticator_call_ready
-e_dbus_authenticator_call_ready_finish
-e_dbus_authenticator_complete_ready
-e_dbus_authenticator_call_cancel_sync
-e_dbus_authenticator_call_cancel
-e_dbus_authenticator_call_cancel_finish
-e_dbus_authenticator_complete_cancel
-e_dbus_authenticator_call_secret_accepted_sync
-e_dbus_authenticator_call_secret_accepted
-e_dbus_authenticator_call_secret_accepted_finish
-e_dbus_authenticator_complete_secret_accepted
-e_dbus_authenticator_call_secret_rejected_sync
-e_dbus_authenticator_call_secret_rejected
-e_dbus_authenticator_call_secret_rejected_finish
-e_dbus_authenticator_complete_secret_rejected
-e_dbus_authenticator_emit_response
-e_dbus_authenticator_interface_info
-e_dbus_authenticator_override_properties
-<SUBSECTION Standard>
-E_DBUS_AUTHENTICATOR
-E_DBUS_IS_AUTHENTICATOR
-E_DBUS_TYPE_AUTHENTICATOR
-E_DBUS_AUTHENTICATOR_GET_IFACE
-EDBusAuthenticatorIface
-<SUBSECTION Private>
-e_dbus_authenticator_get_type
-</SECTION>
-
-<SECTION>
-<FILE>e-dbus-authenticator-proxy</FILE>
-<TITLE>EDBusAuthenticatorProxy</TITLE>
-EDBusAuthenticatorProxy
-e_dbus_authenticator_proxy_new_sync
-e_dbus_authenticator_proxy_new
-e_dbus_authenticator_proxy_new_finish
-e_dbus_authenticator_proxy_new_for_bus_sync
-e_dbus_authenticator_proxy_new_for_bus
-e_dbus_authenticator_proxy_new_for_bus_finish
-<SUBSECTION Standard>
-E_DBUS_AUTHENTICATOR_PROXY
-E_DBUS_IS_AUTHENTICATOR_PROXY
-E_DBUS_TYPE_AUTHENTICATOR_PROXY
-E_DBUS_AUTHENTICATOR_PROXY_CLASS
-E_DBUS_IS_AUTHENTICATOR_PROXY_CLASS
-E_DBUS_AUTHENTICATOR_PROXY_GET_CLASS
-EDBusAuthenticatorProxyClass
-<SUBSECTION Private>
-EDBusAuthenticatorProxyPrivate
-e_dbus_authenticator_proxy_get_type
-</SECTION>
-
-<SECTION>
-<FILE>e-dbus-authenticator-skeleton</FILE>
-<TITLE>EDBusAuthenticatorSkeleton</TITLE>
-EDBusAuthenticatorSkeleton
-e_dbus_authenticator_skeleton_new
-<SUBSECTION Standard>
-E_DBUS_AUTHENTICATOR_SKELETON
-E_DBUS_IS_AUTHENTICATOR_SKELETON
-E_DBUS_TYPE_AUTHENTICATOR_SKELETON
-E_DBUS_AUTHENTICATOR_SKELETON_CLASS
-E_DBUS_IS_AUTHENTICATOR_SKELETON_CLASS
-E_DBUS_AUTHENTICATOR_SKELETON_GET_CLASS
-EDBusAuthenticatorSkeletonClass
-<SUBSECTION Private>
-EDBusAuthenticatorSkeletonPrivate
-e_dbus_authenticator_skeleton_get_type
-</SECTION>
-
-<SECTION>
<FILE>e-dbus-object</FILE>
<TITLE>EDBusObject</TITLE>
EDBusObject
diff --git a/libedataserver/e-client-private.h b/libedataserver/e-client-private.h
index 23736d1..72aebea 100644
--- a/libedataserver/e-client-private.h
+++ b/libedataserver/e-client-private.h
@@ -26,7 +26,6 @@
#include "libedataserver/e-credentials.h"
#include "libedataserver/e-source.h"
-#include "libedataserver/e-source-list.h"
#include "libedataserver/e-client.h"
G_BEGIN_DECLS
@@ -36,9 +35,7 @@ void e_client_set_readonly (EClient *client, gboolean readonly);
void e_client_set_online (EClient *client, gboolean is_online);
guint32 e_client_register_op (EClient *client, GCancellable *cancellable);
void e_client_unregister_op (EClient *client, guint32 opid);
-void e_client_process_authentication (EClient *client, const ECredentials *credentials);
-gboolean e_client_emit_authenticate (EClient *client, ECredentials *credentials);
void e_client_emit_opened (EClient *client, const GError *error);
void e_client_emit_backend_error (EClient *client, const gchar *error_msg);
void e_client_emit_backend_died (EClient *client);
@@ -47,10 +44,6 @@ void e_client_emit_backend_property_changed (EClient *client, const gchar *pr
void e_client_update_backend_property_cache (EClient *client, const gchar *prop_name, const gchar *prop_value);
gchar * e_client_get_backend_property_from_cache (EClient *client, const gchar *prop_name);
-ESource * e_client_util_get_system_source (ESourceList *source_list);
-gboolean e_client_util_set_default (ESourceList *source_list, ESource *source);
-ESource * e_client_util_get_source_for_uri (ESourceList *source_list, const gchar *uri);
-
/* protected functions simplifying sync/async calls */
void e_client_finish_async_without_dbus (EClient *client, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data, gpointer soure_tag, gpointer op_res, GDestroyNotify destroy_op_res);
GDBusProxy * e_client_get_dbus_proxy (EClient *client);
diff --git a/libedataserver/e-client.c b/libedataserver/e-client.c
index 2fd8d7f..fe03344 100644
--- a/libedataserver/e-client.c
+++ b/libedataserver/e-client.c
@@ -62,7 +62,6 @@ enum {
};
enum {
- AUTHENTICATE,
OPENED,
BACKEND_ERROR,
BACKEND_DIED,
@@ -183,7 +182,6 @@ e_client_error_create (EClientError code,
}
static void client_set_source (EClient *client, ESource *source);
-static void client_handle_authentication (EClient *client, const ECredentials *credentials);
static void
e_client_init (EClient *client)
@@ -375,16 +373,6 @@ e_client_class_init (EClientClass *klass)
FALSE,
G_PARAM_READABLE));
- signals[AUTHENTICATE] = g_signal_new (
- "authenticate",
- G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EClientClass, authenticate),
- NULL, NULL,
- e_gdbus_marshallers_BOOLEAN__POINTER,
- G_TYPE_BOOLEAN, 1,
- G_TYPE_POINTER);
-
signals[OPENED] = g_signal_new (
"opened",
G_OBJECT_CLASS_TYPE (klass),
@@ -462,29 +450,6 @@ e_client_get_source (EClient *client)
return client->priv->source;
}
-/**
- * e_client_get_uri:
- * @client: an #EClient
- *
- * Get the URI that this client has assigned. This string should not be freed.
- *
- * Returns: The URI.
- *
- * Since: 3.2
- **/
-const gchar *
-e_client_get_uri (EClient *client)
-{
- g_return_val_if_fail (client != NULL, NULL);
- g_return_val_if_fail (E_IS_CLIENT (client), NULL);
- g_return_val_if_fail (client->priv != NULL, NULL);
-
- if (!client->priv->uri)
- client->priv->uri = e_source_get_uri (e_client_get_source (client));
-
- return client->priv->uri;
-}
-
static void
client_ensure_capabilities (EClient *client)
{
@@ -850,100 +815,6 @@ e_client_unregister_op (EClient *client,
g_static_rec_mutex_unlock (&client->priv->ops_mutex);
}
-static void
-client_handle_authentication (EClient *client,
- const ECredentials *credentials)
-{
- EClientClass *klass;
-
- g_return_if_fail (client != NULL);
- g_return_if_fail (E_IS_CLIENT (client));
- g_return_if_fail (credentials != NULL);
-
- klass = E_CLIENT_GET_CLASS (client);
- g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->handle_authentication != NULL);
-
- return klass->handle_authentication (client, credentials);
-}
-
-struct EClientAuthData {
- EClient *client;
- ECredentials *credentials;
-};
-
-static gboolean
-client_process_authentication_idle_cb (gpointer user_data)
-{
- struct EClientAuthData *auth_data = user_data;
-
- g_return_val_if_fail (auth_data != NULL, FALSE);
-
- if (e_client_emit_authenticate (auth_data->client, auth_data->credentials)) {
- client_handle_authentication (auth_data->client, auth_data->credentials);
- } else {
- /* Always pass credentials to backend to finish opening phase.
- Empty username indicates that either user cancelled password prompt
- or there was no authentication callback set.
- */
- e_credentials_set (auth_data->credentials, E_CREDENTIALS_KEY_USERNAME, NULL);
- client_handle_authentication (auth_data->client, auth_data->credentials);
-
- if (g_strcmp0 (e_credentials_peek (auth_data->credentials, E_CREDENTIALS_KEY_FOREIGN_REQUEST), "1") != 0) {
- GError *error;
-
- error = e_client_error_create (E_CLIENT_ERROR_AUTHENTICATION_REQUIRED, NULL);
- e_client_emit_opened (auth_data->client, error);
- g_error_free (error);
- }
- }
-
- e_credentials_free (auth_data->credentials);
- g_object_unref (auth_data->client);
- g_free (auth_data);
-
- return FALSE;
-}
-
-/* Processes authentication request in idle callback. Usual steps are:
- * a) backend sends an auth - required signal
- * b) EClient implementation calls this function
- * c) a new idle callback is run which emits authenticate signal by e_client_emit_authenticate ()
- * d) if anyone responds (returns true), the EClient::handle_authentication
- * is called from the same idle callback with new credentials
- * e) EClient implementation passes results to backend in the EClient::handle_authentication
-*/
-void
-e_client_process_authentication (EClient *client,
- const ECredentials *credentials)
-{
- struct EClientAuthData *auth_data;
-
- g_return_if_fail (client != NULL);
- g_return_if_fail (E_IS_CLIENT (client));
-
- auth_data = g_new0 (struct EClientAuthData, 1);
- auth_data->client = g_object_ref (client);
- auth_data->credentials = credentials ? e_credentials_new_clone (credentials) : e_credentials_new ();
-
- g_idle_add (client_process_authentication_idle_cb, auth_data);
-}
-
-gboolean
-e_client_emit_authenticate (EClient *client,
- ECredentials *credentials)
-{
- gboolean handled = FALSE;
-
- g_return_val_if_fail (client != NULL, FALSE);
- g_return_val_if_fail (E_IS_CLIENT (client), FALSE);
- g_return_val_if_fail (credentials != NULL, FALSE);
-
- g_signal_emit (client, signals[AUTHENTICATE], 0, credentials, &handled);
-
- return handled;
-}
-
void
e_client_emit_opened (EClient *client,
const GError *dbus_error)
@@ -1794,191 +1665,6 @@ e_client_util_parse_comma_strings (const gchar *strings)
return g_slist_reverse (strs_slist);
}
-/* for each known source calls check_func, which should return TRUE if the required
- * source have been found. Function returns NULL or the source on which was returned
- * TRUE by the check_func. Non - NULL pointer should be unreffed by g_object_unref. */
-static ESource *
-search_known_sources (ESourceList *sources,
- gboolean (*check_func) (ESource *source,
- gpointer user_data),
- gpointer user_data)
-{
- ESource *res = NULL;
- GSList *g;
-
- g_return_val_if_fail (check_func != NULL, NULL);
- g_return_val_if_fail (sources != NULL, NULL);
-
- for (g = e_source_list_peek_groups (sources); g; g = g->next) {
- ESourceGroup *group = E_SOURCE_GROUP (g->data);
- GSList *s;
-
- for (s = e_source_group_peek_sources (group); s; s = s->next) {
- ESource *source = E_SOURCE (s->data);
-
- if (check_func (source, user_data)) {
- res = g_object_ref (source);
- break;
- }
- }
-
- if (res)
- break;
- }
-
- return res;
-}
-
-static gboolean
-check_uri (ESource *source,
- gpointer uri)
-{
- const gchar *suri;
- gchar *suri2;
- gboolean res;
-
- g_return_val_if_fail (source != NULL, FALSE);
- g_return_val_if_fail (uri != NULL, FALSE);
-
- suri = e_source_peek_absolute_uri (source);
-
- if (suri)
- return g_ascii_strcasecmp (suri, uri) == 0;
-
- suri2 = e_source_get_uri (source);
- res = suri2 && g_ascii_strcasecmp (suri2, uri) == 0;
- g_free (suri2);
-
- return res;
-}
-
-struct check_system_data
-{
- const gchar *uri;
- ESource *uri_source;
-};
-
-static gboolean
-check_system (ESource *source,
- gpointer data)
-{
- struct check_system_data *csd = data;
-
- g_return_val_if_fail (source != NULL, FALSE);
- g_return_val_if_fail (data != NULL, FALSE);
-
- if (e_source_get_property (source, "system")) {
- return TRUE;
- }
-
- if (check_uri (source, (gpointer) csd->uri)) {
- if (csd->uri_source)
- g_object_unref (csd->uri_source);
- csd->uri_source = g_object_ref (source);
- }
-
- return FALSE;
-}
-
-ESource *
-e_client_util_get_system_source (ESourceList *source_list)
-{
- struct check_system_data csd;
- ESource *system_source = NULL;
-
- g_return_val_if_fail (source_list != NULL, NULL);
- g_return_val_if_fail (E_IS_SOURCE_LIST (source_list), NULL);
-
- csd.uri = "local:system";
- csd.uri_source = NULL;
-
- system_source = search_known_sources (source_list, check_system, &csd);
-
- if (!system_source) {
- system_source = csd.uri_source;
- csd.uri_source = NULL;
- }
-
- if (csd.uri_source)
- g_object_unref (csd.uri_source);
-
- if (!system_source) {
- /* create a new one, if not found */
- ESourceGroup *on_this_computer;
-
- on_this_computer = e_source_list_ensure_group (source_list,
- _("On This Computer"),
- "local:", TRUE);
- if (on_this_computer) {
- GError *error = NULL;
-
- system_source = e_source_new (_("Personal"), "system");
- e_source_set_color_spec (system_source, "#BECEDD");
- e_source_group_add_source (on_this_computer, system_source, -1);
-
- if (!e_source_list_sync (source_list, &error))
- g_warning ("Cannot add system source to GConf: %s", error ? error->message : "Unknown error");
-
- if (error)
- g_error_free (error);
- }
- }
-
- return system_source;
-}
-
-gboolean
-e_client_util_set_default (ESourceList *source_list,
- ESource *source)
-{
- const gchar *uid;
- GSList *g;
-
- g_return_val_if_fail (source_list != NULL, FALSE);
- g_return_val_if_fail (E_IS_SOURCE_LIST (source_list), FALSE);
- g_return_val_if_fail (source != NULL, FALSE);
- g_return_val_if_fail (E_IS_SOURCE (source), FALSE);
-
- uid = e_source_peek_uid (source);
-
- /* make sure the source is actually in the ESourceList. If
- * it's not we don't bother adding it, just return an error */
- source = e_source_list_peek_source_by_uid (source_list, uid);
- if (!source)
- return FALSE;
-
- /* loop over all the sources clearing out any "default"
- * properties we find */
- for (g = e_source_list_peek_groups (source_list); g; g = g->next) {
- GSList *s;
- for (s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data));
- s; s = s->next) {
- e_source_set_property (E_SOURCE (s->data), "default", NULL);
- }
- }
-
- /* set the "default" property on the source */
- e_source_set_property (source, "default", "true");
-
- return TRUE;
-}
-
-ESource *
-e_client_util_get_source_for_uri (ESourceList *source_list,
- const gchar *uri)
-{
- ESource *source;
-
- g_return_val_if_fail (source_list != NULL, NULL);
- g_return_val_if_fail (E_IS_SOURCE_LIST (source_list), NULL);
- g_return_val_if_fail (uri != NULL, NULL);
-
- source = search_known_sources (source_list, check_uri, (gpointer) uri);
- if (!source)
- source = e_source_new_with_absolute_uri ("", uri);
-
- return source;
-}
void
e_client_finish_async_without_dbus (EClient *client,
diff --git a/libedataserver/e-client.h b/libedataserver/e-client.h
index fced505..fbf642e 100644
--- a/libedataserver/e-client.h
+++ b/libedataserver/e-client.h
@@ -26,7 +26,6 @@
#include <libedataserver/e-credentials.h>
#include <libedataserver/e-source.h>
-#include <libedataserver/e-source-list.h>
#define E_TYPE_CLIENT (e_client_get_type ())
#define E_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_CLIENT, EClient))
@@ -210,10 +209,6 @@ struct _EClientClass {
gboolean (* refresh_finish) (EClient *client, GAsyncResult *result, GError **error);
gboolean (* refresh_sync) (EClient *client, GCancellable *cancellable, GError **error);
- void (* handle_authentication) (EClient *client, const ECredentials *credentials);
-
- /* signals */
- gboolean (* authenticate) (EClient *client, ECredentials *credentials);
void (* opened) (EClient *client, const GError *error);
void (* backend_error) (EClient *client, const gchar *error_msg);
void (* backend_died) (EClient *client);
@@ -223,7 +218,6 @@ struct _EClientClass {
GType e_client_get_type (void);
ESource * e_client_get_source (EClient *client);
-const gchar * e_client_get_uri (EClient *client);
const GSList * e_client_get_capabilities (EClient *client);
gboolean e_client_check_capability (EClient *client, const gchar *capability);
gboolean e_client_check_refresh_supported (EClient *client);
diff --git a/libedataserver/e-credentials.c b/libedataserver/e-credentials.c
index f2cfb62..68d1f01 100644
--- a/libedataserver/e-credentials.c
+++ b/libedataserver/e-credentials.c
@@ -30,8 +30,7 @@
#include "e-credentials.h"
-struct _ECredentialsPrivate
-{
+struct _ECredentials {
GHashTable *keys;
GHashTable *peek_keys;
};
@@ -62,9 +61,8 @@ e_credentials_new (void)
ECredentials *credentials;
credentials = g_new0 (ECredentials, 1);
- credentials->priv = g_new0 (ECredentialsPrivate, 1);
- credentials->priv->keys = g_hash_table_new_full (g_str_hash, key_equal, g_free, (GDestroyNotify) e_credentials_util_safe_free_string);
- credentials->priv->peek_keys = g_hash_table_new_full (g_str_hash, key_equal, g_free, (GDestroyNotify) e_credentials_util_safe_free_string);
+ credentials->keys = g_hash_table_new_full (g_str_hash, key_equal, g_free, (GDestroyNotify) e_credentials_util_safe_free_string);
+ credentials->peek_keys = g_hash_table_new_full (g_str_hash, key_equal, g_free, (GDestroyNotify) e_credentials_util_safe_free_string);
return credentials;
}
@@ -97,7 +95,7 @@ e_credentials_new_strv (const gchar * const *keys)
/* skip empty and invalid values */
if (sep)
- g_hash_table_insert (credentials->priv->keys, g_strndup (key, sep - key), g_strdup (sep + 1));
+ g_hash_table_insert (credentials->keys, g_strndup (key, sep - key), g_strdup (sep + 1));
}
return credentials;
@@ -161,12 +159,11 @@ e_credentials_new_clone (const ECredentials *credentials)
ECredentials *res;
g_return_val_if_fail (credentials != NULL, NULL);
- g_return_val_if_fail (credentials->priv != NULL, NULL);
- g_return_val_if_fail (credentials->priv->keys != NULL, NULL);
+ g_return_val_if_fail (credentials->keys != NULL, NULL);
res = e_credentials_new ();
- g_hash_table_foreach (credentials->priv->keys, copy_keys_cb, res->priv->keys);
+ g_hash_table_foreach (credentials->keys, copy_keys_cb, res->keys);
return res;
}
@@ -184,11 +181,8 @@ e_credentials_free (ECredentials *credentials)
if (!credentials)
return;
- g_return_if_fail (credentials->priv != NULL);
-
- g_hash_table_destroy (credentials->priv->keys);
- g_hash_table_destroy (credentials->priv->peek_keys);
- g_free (credentials->priv);
+ g_hash_table_destroy (credentials->keys);
+ g_hash_table_destroy (credentials->peek_keys);
g_free (credentials);
}
@@ -225,12 +219,11 @@ e_credentials_to_strv (const ECredentials *credentials)
GPtrArray *array;
g_return_val_if_fail (credentials != NULL, NULL);
- g_return_val_if_fail (credentials->priv != NULL, NULL);
- g_return_val_if_fail (credentials->priv->keys != NULL, NULL);
+ g_return_val_if_fail (credentials->keys != NULL, NULL);
- array = g_ptr_array_sized_new (g_hash_table_size (credentials->priv->keys) + 1);
+ array = g_ptr_array_sized_new (g_hash_table_size (credentials->keys) + 1);
- g_hash_table_foreach (credentials->priv->keys, add_to_array_cb, array);
+ g_hash_table_foreach (credentials->keys, add_to_array_cb, array);
/* NULL-terminated */
g_ptr_array_add (array, NULL);
@@ -309,19 +302,18 @@ e_credentials_set (ECredentials *credentials,
const gchar *value)
{
g_return_if_fail (credentials != NULL);
- g_return_if_fail (credentials->priv != NULL);
- g_return_if_fail (credentials->priv->keys != NULL);
- g_return_if_fail (credentials->priv->peek_keys != NULL);
+ g_return_if_fail (credentials->keys != NULL);
+ g_return_if_fail (credentials->peek_keys != NULL);
g_return_if_fail (key != NULL);
g_return_if_fail (*key);
g_return_if_fail (strchr (key, ':') == NULL);
- g_hash_table_remove (credentials->priv->peek_keys, key);
+ g_hash_table_remove (credentials->peek_keys, key);
if (!value) {
- g_hash_table_remove (credentials->priv->keys, key);
+ g_hash_table_remove (credentials->keys, key);
} else {
- g_hash_table_insert (credentials->priv->keys, g_strdup (key), encode_string (value));
+ g_hash_table_insert (credentials->keys, g_strdup (key), encode_string (value));
}
}
@@ -342,12 +334,11 @@ e_credentials_get (const ECredentials *credentials,
* e_credentials_util_safe_free_string() when no longer needed. */
g_return_val_if_fail (credentials != NULL, NULL);
- g_return_val_if_fail (credentials->priv != NULL, NULL);
- g_return_val_if_fail (credentials->priv->keys != NULL, NULL);
+ g_return_val_if_fail (credentials->keys != NULL, NULL);
g_return_val_if_fail (key != NULL, NULL);
g_return_val_if_fail (*key, NULL);
- stored = g_hash_table_lookup (credentials->priv->keys, key);
+ stored = g_hash_table_lookup (credentials->keys, key);
if (!stored)
return NULL;
@@ -374,18 +365,17 @@ e_credentials_peek (ECredentials *credentials,
gchar *value;
g_return_val_if_fail (credentials != NULL, NULL);
- g_return_val_if_fail (credentials->priv != NULL, NULL);
- g_return_val_if_fail (credentials->priv->peek_keys != NULL, NULL);
+ g_return_val_if_fail (credentials->peek_keys != NULL, NULL);
g_return_val_if_fail (key != NULL, NULL);
g_return_val_if_fail (*key, NULL);
- value = g_hash_table_lookup (credentials->priv->peek_keys, key);
+ value = g_hash_table_lookup (credentials->peek_keys, key);
if (value)
return value;
value = e_credentials_get (credentials, key);
if (value)
- g_hash_table_insert (credentials->priv->peek_keys, g_strdup (key), value);
+ g_hash_table_insert (credentials->peek_keys, g_strdup (key), value);
return value;
}
@@ -438,18 +428,16 @@ e_credentials_equal (const ECredentials *credentials1,
if (!credentials1 || !credentials2)
return FALSE;
- g_return_val_if_fail (credentials1->priv != NULL, FALSE);
- g_return_val_if_fail (credentials1->priv->keys != NULL, FALSE);
- g_return_val_if_fail (credentials2->priv != NULL, FALSE);
- g_return_val_if_fail (credentials2->priv->keys != NULL, FALSE);
+ g_return_val_if_fail (credentials1->keys != NULL, FALSE);
+ g_return_val_if_fail (credentials2->keys != NULL, FALSE);
- if (g_hash_table_size (credentials1->priv->keys) != g_hash_table_size (credentials2->priv->keys))
+ if (g_hash_table_size (credentials1->keys) != g_hash_table_size (credentials2->keys))
return FALSE;
ed.equal = TRUE;
- ed.keys = credentials2->priv->keys;
+ ed.keys = credentials2->keys;
- g_hash_table_foreach (credentials1->priv->keys, check_equal_cb, &ed);
+ g_hash_table_foreach (credentials1->keys, check_equal_cb, &ed);
return ed.equal;
}
@@ -476,17 +464,15 @@ e_credentials_equal_keys (const ECredentials *credentials1,
gboolean equal = TRUE;
g_return_val_if_fail (credentials1 != NULL, FALSE);
- g_return_val_if_fail (credentials1->priv != NULL, FALSE);
- g_return_val_if_fail (credentials1->priv->keys != NULL, FALSE);
+ g_return_val_if_fail (credentials1->keys != NULL, FALSE);
g_return_val_if_fail (credentials2 != NULL, FALSE);
- g_return_val_if_fail (credentials2->priv != NULL, FALSE);
- g_return_val_if_fail (credentials2->priv->keys != NULL, FALSE);
+ g_return_val_if_fail (credentials2->keys != NULL, FALSE);
g_return_val_if_fail (key1 != NULL, FALSE);
va_start (va, key1);
while (key1 && equal) {
- equal = g_strcmp0 (g_hash_table_lookup (credentials1->priv->keys, key1), g_hash_table_lookup (credentials2->priv->keys, key1)) == 0;
+ equal = g_strcmp0 (g_hash_table_lookup (credentials1->keys, key1), g_hash_table_lookup (credentials2->keys, key1)) == 0;
key1 = va_arg (va, const gchar *);
}
@@ -512,12 +498,11 @@ e_credentials_has_key (const ECredentials *credentials,
const gchar *key)
{
g_return_val_if_fail (credentials != NULL, FALSE);
- g_return_val_if_fail (credentials->priv != NULL, FALSE);
- g_return_val_if_fail (credentials->priv->keys != NULL, FALSE);
+ g_return_val_if_fail (credentials->keys != NULL, FALSE);
g_return_val_if_fail (key != NULL, FALSE);
g_return_val_if_fail (*key, FALSE);
- return g_hash_table_lookup (credentials->priv->keys, key) != NULL;
+ return g_hash_table_lookup (credentials->keys, key) != NULL;
}
/**
@@ -534,10 +519,9 @@ guint
e_credentials_keys_size (const ECredentials *credentials)
{
g_return_val_if_fail (credentials != NULL, 0);
- g_return_val_if_fail (credentials->priv != NULL, 0);
- g_return_val_if_fail (credentials->priv->keys != NULL, 0);
+ g_return_val_if_fail (credentials->keys != NULL, 0);
- return g_hash_table_size (credentials->priv->keys);
+ return g_hash_table_size (credentials->keys);
}
static void
@@ -571,12 +555,11 @@ e_credentials_list_keys (const ECredentials *credentials)
GSList *keys = NULL;
g_return_val_if_fail (credentials != NULL, NULL);
- g_return_val_if_fail (credentials->priv != NULL, NULL);
- g_return_val_if_fail (credentials->priv->keys != NULL, NULL);
+ g_return_val_if_fail (credentials->keys != NULL, NULL);
/* XXX g_hash_table_get_keys() would have been
* easier had we used #GList instead. */
- g_hash_table_foreach (credentials->priv->keys, gather_key_names, &keys);
+ g_hash_table_foreach (credentials->keys, gather_key_names, &keys);
return g_slist_reverse (keys);
}
@@ -592,12 +575,11 @@ void
e_credentials_clear (ECredentials *credentials)
{
g_return_if_fail (credentials != NULL);
- g_return_if_fail (credentials->priv != NULL);
- g_return_if_fail (credentials->priv->keys != NULL);
- g_return_if_fail (credentials->priv->peek_keys != NULL);
+ g_return_if_fail (credentials->keys != NULL);
+ g_return_if_fail (credentials->peek_keys != NULL);
- g_hash_table_remove_all (credentials->priv->peek_keys);
- g_hash_table_remove_all (credentials->priv->keys);
+ g_hash_table_remove_all (credentials->peek_keys);
+ g_hash_table_remove_all (credentials->keys);
}
/**
@@ -611,10 +593,9 @@ void
e_credentials_clear_peek (ECredentials *credentials)
{
g_return_if_fail (credentials != NULL);
- g_return_if_fail (credentials->priv != NULL);
- g_return_if_fail (credentials->priv->peek_keys != NULL);
+ g_return_if_fail (credentials->peek_keys != NULL);
- g_hash_table_remove_all (credentials->priv->peek_keys);
+ g_hash_table_remove_all (credentials->peek_keys);
}
/**
@@ -636,97 +617,3 @@ e_credentials_util_safe_free_string (gchar *str)
g_free (str);
}
-static struct _PromptFlags {
- ECredentialsPromptFlags flag_uint;
- const gchar *flag_string;
- gboolean is_bit_flag; /* if false, then checked against E_CREDENTIALS_PROMPT_FLAG_REMEMBER_MASK */
-} PromptFlags[] = {
- { E_CREDENTIALS_PROMPT_FLAG_REMEMBER_NEVER, "remember-never", FALSE },
- { E_CREDENTIALS_PROMPT_FLAG_REMEMBER_SESSION, "remember-session", FALSE },
- { E_CREDENTIALS_PROMPT_FLAG_REMEMBER_FOREVER, "remember-forever", FALSE },
-
- { E_CREDENTIALS_PROMPT_FLAG_SECRET, "secret", TRUE },
- { E_CREDENTIALS_PROMPT_FLAG_REPROMPT, "reprompt", TRUE },
- { E_CREDENTIALS_PROMPT_FLAG_ONLINE, "online", TRUE },
- { E_CREDENTIALS_PROMPT_FLAG_DISABLE_REMEMBER, "disable-remember", TRUE },
- { E_CREDENTIALS_PROMPT_FLAG_PASSPHRASE, "passphrase", TRUE }
-};
-
-/**
- * e_credentials_util_prompt_flags_to_string:
- *
- * FIXME: Document me.
- *
- * Since: 3.2
- **/
-gchar *
-e_credentials_util_prompt_flags_to_string (guint prompt_flags)
-{
- gint ii;
- guint masked = prompt_flags & E_CREDENTIALS_PROMPT_FLAG_REMEMBER_MASK;
- GString *str = g_string_new ("");
-
- /* Returned pointer can be passed to
- * e_credentials_util_string_to prompt_flags() to decode
- * it back to flags. Free returned pointer with g_free(). */
-
- for (ii = 0; ii < G_N_ELEMENTS (PromptFlags); ii++) {
- const gchar *add = NULL;
-
- if (PromptFlags[ii].is_bit_flag) {
- if ((prompt_flags & PromptFlags[ii].flag_uint) != 0)
- add = PromptFlags[ii].flag_string;
- } else if (masked == PromptFlags[ii].flag_uint) {
- add = PromptFlags[ii].flag_string;
- }
-
- if (!add)
- continue;
-
- if (str->len)
- g_string_append (str, ",");
-
- g_string_append (str, add);
- }
-
- return g_string_free (str, FALSE);
-}
-
-/**
- * e_credentials_util_string_to_prompt_flags:
- *
- * FIXME: Document me.
- *
- * Since: 3.2
- **/
-guint
-e_credentials_util_string_to_prompt_flags (const gchar *prompt_flags_string)
-{
- gchar **strv;
- gint ii, jj;
- guint flags = 0;
-
- if (!prompt_flags_string || !*prompt_flags_string)
- return flags;
-
- strv = g_strsplit (prompt_flags_string, ",", -1);
- if (!strv)
- return flags;
-
- for (jj = 0; strv[jj]; jj++) {
- const gchar *str = strv[jj];
-
- for (ii = 0; ii < G_N_ELEMENTS (PromptFlags); ii++) {
- if (g_str_equal (PromptFlags[ii].flag_string, str)) {
- if (PromptFlags[ii].is_bit_flag)
- flags |= PromptFlags[ii].flag_uint;
- else
- flags = (flags & (~E_CREDENTIALS_PROMPT_FLAG_REMEMBER_MASK)) | PromptFlags[ii].flag_uint;
- }
- }
- }
-
- g_strfreev (strv);
-
- return flags;
-}
diff --git a/libedataserver/e-credentials.h b/libedataserver/e-credentials.h
index f771f03..77422a2 100644
--- a/libedataserver/e-credentials.h
+++ b/libedataserver/e-credentials.h
@@ -26,9 +26,6 @@
G_BEGIN_DECLS
-typedef struct _ECredentials ECredentials;
-typedef struct _ECredentialsPrivate ECredentialsPrivate;
-
/**
* ECredentials:
*
@@ -37,18 +34,7 @@ typedef struct _ECredentialsPrivate ECredentialsPrivate;
*
* Since: 3.2
**/
-struct _ECredentials {
- ECredentialsPrivate *priv;
-};
-
-/**
- * E_CREDENTIALS_KEY_USERNAME:
- *
- * FIXME Docment me.
- *
- * Since: 3.2
- **/
-#define E_CREDENTIALS_KEY_USERNAME "username"
+typedef struct _ECredentials ECredentials;
/**
* E_CREDENTIALS_KEY_PASSWORD:
@@ -60,24 +46,6 @@ struct _ECredentials {
#define E_CREDENTIALS_KEY_PASSWORD "password"
/**
- * E_CREDENTIALS_KEY_AUTH_METHOD:
- *
- * FIXME Document me.
- *
- * Since: 3.2
- **/
-#define E_CREDENTIALS_KEY_AUTH_METHOD "auth-method"
-
-/**
- * E_CREDENTIALS_KEY_PROMPT_TITLE:
- *
- * FIXME Document me.
- *
- * Since: 3.2
- **/
-#define E_CREDENTIALS_KEY_PROMPT_TITLE "prompt-title"
-
-/**
* E_CREDENTIALS_KEY_PROMPT_TEXT:
*
* FIXME: Document me.
@@ -96,15 +64,6 @@ struct _ECredentials {
#define E_CREDENTIALS_KEY_PROMPT_REASON "prompt-reason"
/**
- * E_CREDENTIALS_KEY_PROMPT_KEY:
- *
- * FIXME: Document me.
- *
- * Since: 3.2
- **/
-#define E_CREDENTIALS_KEY_PROMPT_KEY "prompt-key"
-
-/**
* E_CREDENTIALS_KEY_PROMPT_FLAGS:
*
* FIXME Document me.
@@ -113,37 +72,6 @@ struct _ECredentials {
**/
#define E_CREDENTIALS_KEY_PROMPT_FLAGS "prompt-flags"
-/**
- * E_CREDENTIALS_KEY_FOREIGN_REQUEST:
- *
- * Set to "1" when the ECredentials is used to authenticate
- * other than current EClient.
- *
- * Since: 3.4
- **/
-#define E_CREDENTIALS_KEY_FOREIGN_REQUEST "foreign-request"
-
-/**
- * ECredentialsPromptFlags:
- *
- * FIXME Document me.
- *
- * Since: 3.2
- **/
-/* this is 1:1 with EPasswordsRememberType */
-typedef enum {
- E_CREDENTIALS_PROMPT_FLAG_REMEMBER_NEVER,
- E_CREDENTIALS_PROMPT_FLAG_REMEMBER_SESSION,
- E_CREDENTIALS_PROMPT_FLAG_REMEMBER_FOREVER,
- E_CREDENTIALS_PROMPT_FLAG_REMEMBER_MASK = 0xf,
-
- E_CREDENTIALS_PROMPT_FLAG_SECRET = 1 << 8, /* whether hide password letters in the UI */
- E_CREDENTIALS_PROMPT_FLAG_REPROMPT = 1 << 9, /* automatically set when username and password is provided */
- E_CREDENTIALS_PROMPT_FLAG_ONLINE = 1 << 10, /* only ask if we're online */
- E_CREDENTIALS_PROMPT_FLAG_DISABLE_REMEMBER = 1 << 11, /* disable the 'remember password' checkbox */
- E_CREDENTIALS_PROMPT_FLAG_PASSPHRASE = 1 << 12 /* We are asking a passphrase */
-} ECredentialsPromptFlags;
-
ECredentials * e_credentials_new (void);
ECredentials * e_credentials_new_strv (const gchar * const *strv);
ECredentials * e_credentials_new_args (const gchar *key, ...) G_GNUC_NULL_TERMINATED;
@@ -162,8 +90,6 @@ void e_credentials_clear ( ECredentials *credentials);
void e_credentials_clear_peek ( ECredentials *credentials);
void e_credentials_util_safe_free_string (gchar *str);
-gchar * e_credentials_util_prompt_flags_to_string (guint prompt_flags); /* bit-or of ECredentialsPromptFlags */
-guint e_credentials_util_string_to_prompt_flags (const gchar *prompt_flags_string); /* bit-or of ECredentialsPromptFlags */
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]