dbus client: Add missing async AbortSync to wrapper lib

This commit is contained in:
Jussi Kukkonen 2009-05-13 12:21:38 +03:00
parent 10f21f5cff
commit 3ea83926ac
2 changed files with 62 additions and 0 deletions

View file

@ -358,6 +358,60 @@ gboolean syncevo_service_abort_sync (SyncevoService *service,
error);
}
static void
abort_sync_async_callback (DBusGProxy *proxy,
GError *error,
SyncevoAsyncData *data)
{
(*(SyncevoAbortSyncCb)data->callback) (data->service,
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
}
static void
abort_sync_async_error (SyncevoAsyncData *data)
{
GError *error;
error = g_error_new_literal (g_quark_from_static_string ("syncevo-service"),
SYNCEVO_SERVICE_ERROR_COULD_NOT_START,
"Could not start service");
(*(SyncevoAbortSyncCb)data->callback) (data->service,
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
}
void
syncevo_service_abort_sync_async (SyncevoService *service,
char *server,
SyncevoAbortSyncCb callback,
gpointer userdata)
{
SyncevoAsyncData *data;
SyncevoServicePrivate *priv;
priv = GET_PRIVATE (service);
data = g_slice_new0 (SyncevoAsyncData);
data->service = service;
data->callback = G_CALLBACK (callback);
data->userdata = userdata;
if (!priv->proxy && !syncevo_service_get_new_proxy (service)) {
g_idle_add ((GSourceFunc)abort_sync_async_error, data);
return;
}
org_Moblin_SyncEvolution_abort_sync_async
(priv->proxy,
server,
(org_Moblin_SyncEvolution_abort_sync_reply) abort_sync_async_callback,
data);
}
gboolean syncevo_service_set_password (SyncevoService *service,
char *server,
char *password,

View file

@ -69,6 +69,14 @@ gboolean syncevo_service_start_sync (SyncevoService *service,
gboolean syncevo_service_abort_sync (SyncevoService *service,
char *server,
GError **error);
typedef void (*SyncevoAbortSyncCb) (SyncevoService *service,
GError *error,
gpointer userdata);
void syncevo_service_abort_sync_async (SyncevoService *service,
char *server,
SyncevoAbortSyncCb callback,
gpointer userdata);
gboolean syncevo_service_set_password (SyncevoService *service,
char *server,
char *password,