summaryrefslogtreecommitdiff
path: root/salut
diff options
context:
space:
mode:
authorAlvaro Soliverez <alvaro.soliverez@collabora.co.uk>2012-03-14 19:29:54 -0300
committerOlli Salli <olli.salli@collabora.co.uk>2012-03-15 22:03:10 +0200
commit19539e3418641cd379e80a69d3243db5537e0dc3 (patch)
treeb204e7e8d1838173e38e89dc79e4cb88655b6607 /salut
parent5754bc81e3f94589d91820fe34975dfb63730f28 (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.am1
-rw-r--r--salut/plugin-contact.h59
-rw-r--r--salut/util.h3
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);