diff options
author | Alvaro Soliverez <alvaro.soliverez@collabora.co.uk> | 2012-03-14 19:29:54 -0300 |
---|---|---|
committer | Olli Salli <olli.salli@collabora.co.uk> | 2012-03-15 22:03:10 +0200 |
commit | 19539e3418641cd379e80a69d3243db5537e0dc3 (patch) | |
tree | b204e7e8d1838173e38e89dc79e4cb88655b6607 /salut | |
parent | 5754bc81e3f94589d91820fe34975dfb63730f28 (diff) |
Move plugin library-specific code from util.c into its own file, to
prevent dependency problems
As part of this, a new SalutPluginContactInterface had to be created to
access contact capabilities that were needed for the plugin utils.
Accessing SalutContact directly would bring most of salut core in, so a
GInterface is used, similar to what is done with SalutPluginConnection
Diffstat (limited to 'salut')
-rw-r--r-- | salut/Makefile.am | 1 | ||||
-rw-r--r-- | salut/plugin-contact.h | 59 | ||||
-rw-r--r-- | salut/util.h | 3 |
3 files changed, 61 insertions, 2 deletions
diff --git a/salut/Makefile.am b/salut/Makefile.am index 14653c1f..f9befdbe 100644 --- a/salut/Makefile.am +++ b/salut/Makefile.am @@ -6,6 +6,7 @@ salutincludedir = $(includedir)/telepathy-salut-0/salut salutinclude_HEADERS = \ plugin.h \ plugin-connection.h \ + plugin-contact.h \ protocol.h \ caps-channel-manager.h \ capabilities.h \ diff --git a/salut/plugin-contact.h b/salut/plugin-contact.h new file mode 100644 index 00000000..b9815bef --- /dev/null +++ b/salut/plugin-contact.h @@ -0,0 +1,59 @@ +/* + * plugin-contact.h — Connection API available to telepathy-salut plugins + * Copyright © 2012 Collabora Ltd. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef SALUT_PLUGIN_CONTACT_H +#define SALUT_PLUGIN_CONTACT_H + +#include <glib-object.h> + +#include <wocky/wocky.h> +#include <salut/capability-set.h> + +G_BEGIN_DECLS + +typedef struct _SalutPluginContact SalutPluginContact; +typedef struct _SalutPluginContactInterface SalutPluginContactInterface; + +#define SALUT_TYPE_PLUGIN_CONTACT (salut_plugin_contact_get_type ()) +#define SALUT_PLUGIN_CONTACT(o) \ + (G_TYPE_CHECK_INSTANCE_CAST ((o), SALUT_TYPE_PLUGIN_CONTACT, \ + SalutPluginContact)) +#define SALUT_IS_PLUGIN_CONTACT(o) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((o), SALUT_TYPE_PLUGIN_CONTACT)) +#define SALUT_PLUGIN_CONTACT_GET_IFACE(o) \ + (G_TYPE_INSTANCE_GET_INTERFACE ((o), SALUT_TYPE_PLUGIN_CONTACT, \ + SalutPluginContactInterface)) + +GType salut_plugin_contact_get_type (void) G_GNUC_CONST; + +typedef GabbleCapabilitySet * (*SalutPluginContactGetCapsFunc) ( + SalutPluginContact *plugin_contact); + +struct _SalutPluginContactInterface +{ + GTypeInterface parent; + SalutPluginContactGetCapsFunc get_caps; +}; + +GabbleCapabilitySet *salut_plugin_contact_get_caps ( + SalutPluginContact *plugin_contact); + +G_END_DECLS + +#endif diff --git a/salut/util.h b/salut/util.h index 977e0b49..379658b1 100644 --- a/salut/util.h +++ b/salut/util.h @@ -1,5 +1,5 @@ /* - * util.h - Headers for Salut utility functions + * plugin-util.h - Headers for Salut plugins utility functions * Copyright (C) 2011 Collabora Ltd. * * This library is free software; you can redistribute it and/or @@ -21,7 +21,6 @@ #define SALUT_UTIL_H #include <wocky/wocky.h> -#include <wocky/wocky.h> void salut_send_ll_pep_event (WockySession *session, WockyStanza *stanza); |