manager: implement GcalManager::query_client_data

This commit is contained in:
Georges Basile Stavracas Neto
2015-05-25 12:35:26 -04:00
committed by Erick Pérez Castellanos
parent 1aa194e844
commit c48edbd682
2 changed files with 32 additions and 0 deletions
+28
View File
@@ -1088,6 +1088,34 @@ gcal_manager_set_query (GcalManager *manager,
query != NULL ? query : "#t");
}
/**
* gcal_manager_query_client_data:
*
* Queries for a specific data field of
* the {@link ECalClient}.
*
* Returns: (Transfer none) a string representing the retrieved value, or NULL.
*/
gchar*
gcal_manager_query_client_data (GcalManager *manager,
ESource *source,
const gchar *field)
{
GcalManagerPrivate *priv;
GcalManagerUnit *unit;
gchar *out;
priv = gcal_manager_get_instance_private (manager);
unit = g_hash_table_lookup (priv->clients, source);
if (unit == NULL)
return NULL;
g_object_get (unit->client, field, &out, NULL);
return out;
}
/**
* gcal_manager_add_source:
* @manager: a #GcalManager
+4
View File
@@ -105,6 +105,10 @@ void gcal_manager_set_search_subscriber (GcalManager *manager
void gcal_manager_set_query (GcalManager *manager,
const gchar *query);
gchar* gcal_manager_query_client_data (GcalManager *manager,
ESource *source,
const gchar *field);
gchar* gcal_manager_add_source (GcalManager *manager,
const gchar *name,
const gchar *backend,