summaryrefslogtreecommitdiff
path: root/salut
diff options
context:
space:
mode:
authorOlli Salli <olli.salli@collabora.co.uk>2012-03-16 19:56:16 +0200
committerOlli Salli <olli.salli@collabora.co.uk>2012-03-16 19:58:15 +0200
commit11d051ae6a911f63fd321ba7c5356023c434fd85 (patch)
tree05ee2fabd76d6ec0f2c31620dcbf39cb22db30df /salut
parentbaa911b465906bc8b362d2e660fdd0b3911c0dc1 (diff)
downloadtelepathy-salut-11d051ae6a911f63fd321ba7c5356023c434fd85.tar.gz
SalutPluginInitializeImpl: Replace the protocol ctor callback with a vtable of callbacks
Diffstat (limited to 'salut')
-rw-r--r--salut/plugin.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/salut/plugin.h b/salut/plugin.h
index fe45ddf6..c10ba573 100644
--- a/salut/plugin.h
+++ b/salut/plugin.h
@@ -65,16 +65,23 @@ typedef GPtrArray * (*SalutPluginCreateChannelManagersImpl) (
SalutPlugin *plugin,
SalutPluginConnection *plugin_connection);
+typedef struct _SalutPluginInitializeCallbacks SalutPluginInitializeCallbacks;
+
typedef TpBaseProtocol * (*SalutCreateProtocolImpl) (GType backend_type,
const gchar *dnssd_name,
const gchar *protocol_name,
const gchar *english_name,
const gchar *icon_name);
+struct _SalutPluginInitializeCallbacks {
+ SalutCreateProtocolImpl create_protocol;
+ GCallback _padding[7];
+};
+
typedef void (*SalutPluginInitializeImpl) (
SalutPlugin *plugin,
TpBaseConnectionManager *connection_manager,
- SalutCreateProtocolImpl callback);
+ const SalutPluginInitializeCallbacks *callbacks);
#define SALUT_PLUGIN_CURRENT_VERSION 1
@@ -157,7 +164,7 @@ SalutSidecar * salut_plugin_create_sidecar_finish (
void salut_plugin_initialize (
SalutPlugin *plugin,
TpBaseConnectionManager *connection_manager,
- SalutCreateProtocolImpl proto_ctor);
+ const SalutPluginInitializeCallbacks *callbacks);
GPtrArray * salut_plugin_create_channel_managers (
SalutPlugin *plugin,