diff options
author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2011-02-14 08:46:38 +0000 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2011-02-14 08:46:38 +0000 |
commit | f741f748faf61342327a4814d63a376408542909 (patch) | |
tree | f58cbe3ccb3f17ca5e927466951d67515c01eccf /gabble | |
parent | 4b9c51b7e0e112b090e8700c4847301b874e00bc (diff) |
plugin: add create_channel_managers function
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Diffstat (limited to 'gabble')
-rw-r--r-- | gabble/plugin.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gabble/plugin.h b/gabble/plugin.h index 5ed79ef93..6da99f136 100644 --- a/gabble/plugin.h +++ b/gabble/plugin.h @@ -53,6 +53,13 @@ typedef void (*GabblePluginCreateSidecarImpl) ( GAsyncReadyCallback callback, gpointer user_data); +/* The return type should be a new GPtrArray* which will be freed + * straight after this function is called, so the pointer array must + * not have a free function. */ +typedef GPtrArray * (*GabblePluginCreateChannelManagersImpl) ( + GabblePlugin *plugin, + TpBaseConnection *connection); + struct _GabblePluginPrivacyListMap { const gchar *presence_status_name; const gchar *privacy_list_name; @@ -93,6 +100,11 @@ struct _GabblePluginInterface { * Privacy lists implementing specific statuses */ GabblePluginPrivacyListMap *privacy_list_map; + + /** + * An optional callback to create additional channel managers. + */ + GabblePluginCreateChannelManagersImpl create_channel_managers; }; GType gabble_plugin_get_type (void); @@ -132,6 +144,9 @@ const gchar *gabble_plugin_presence_status_for_privacy_list ( GabblePlugin *plugin, const gchar *list_name); +GPtrArray * gabble_plugin_create_channel_managers (GabblePlugin *plugin, + TpBaseConnection *connection); + /** * gabble_plugin_create: * |