summaryrefslogtreecommitdiff
path: root/gabble
diff options
context:
space:
mode:
authorSiraj Razick <siraj.razick@collabora.co.uk>2012-02-06 11:02:19 -0500
committerSiraj Razick <siraj.razick@collabora.co.uk>2012-02-06 11:43:39 -0500
commitbb63a668664a2003c966b7e3d9806c98d0875bf5 (patch)
treef84fd63e520b9d813acfb648d8411b683841d5d1 /gabble
parentb33adc647bf4e6dc75efba1abd74380d4bbb18d1 (diff)
Change the plugin API to create_sidecar_async and create_sidecar_finish
All gabble plugins should implement these two methods hereafter. This patch also updates all the internal plugins to use this new API. https://bugs.freedesktop.org/show_bug.cgi?id=44331
Diffstat (limited to 'gabble')
-rw-r--r--gabble/plugin.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/gabble/plugin.h b/gabble/plugin.h
index 7c3b4743f..d608a5511 100644
--- a/gabble/plugin.h
+++ b/gabble/plugin.h
@@ -60,6 +60,11 @@ typedef GPtrArray * (*GabblePluginCreateChannelManagersImpl) (
GabblePlugin *plugin,
TpBaseConnection *connection);
+typedef GabbleSidecar * (*GabblePluginCreateSidecarFinishImpl) (
+ GabblePlugin *plugin,
+ GAsyncResult *result,
+ GError **error);
+
struct _GabblePluginPrivacyListMap {
const gchar *presence_status_name;
const gchar *privacy_list_name;
@@ -81,9 +86,14 @@ struct _GabblePluginInterface {
const gchar * const *sidecar_interfaces;
/**
- * An implementation of gabble_plugin_create_sidecar().
+ * An implementation of gabble_plugin_create_sidecar_async().
+ */
+ GabblePluginCreateSidecarImpl create_sidecar_async;
+
+ /**
+ * An implementation of gabble_plugin_create_sidecar_finish().
*/
- GabblePluginCreateSidecarImpl create_sidecar;
+ GabblePluginCreateSidecarFinishImpl create_sidecar_finish;
/**
* The plugin's version, conventionally a "."-separated sequence of
@@ -120,7 +130,7 @@ gboolean gabble_plugin_implements_sidecar (
GabblePlugin *plugin,
const gchar *sidecar_interface);
-void gabble_plugin_create_sidecar (
+void gabble_plugin_create_sidecar_async (
GabblePlugin *plugin,
const gchar *sidecar_interface,
GabbleConnection *connection,