summaryrefslogtreecommitdiff
path: root/telepathy-glib/channel-iface.h
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2007-04-19 17:35:17 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2007-04-19 17:35:17 +0000
commit05b3d77a6ceaf9142e0dee8bf52e7637d5823bdd (patch)
treeae7da2dc08fb4c3aa1c6b09ffa1c57d2d3adf24a /telepathy-glib/channel-iface.h
parent90720ee40eb30e2b1c9aa90501391d3a0a411250 (diff)
downloadtelepathy-glib-05b3d77a6ceaf9142e0dee8bf52e7637d5823bdd.tar.gz
Move contents of lib/ into root directory
20070419173517-53eee-d91a15d77882d6839193c1f77be4f88803b48f58.gz
Diffstat (limited to 'telepathy-glib/channel-iface.h')
-rw-r--r--telepathy-glib/channel-iface.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/telepathy-glib/channel-iface.h b/telepathy-glib/channel-iface.h
new file mode 100644
index 000000000..3943b9c78
--- /dev/null
+++ b/telepathy-glib/channel-iface.h
@@ -0,0 +1,75 @@
+/*
+ * tp-channel-iface.h - Headers for Telepathy Channel interface
+ *
+ * Copyright (C) 2006 Collabora Ltd.
+ * Copyright (C) 2006 Nokia Corporation
+ *
+ * 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 __TP_CHANNEL_IFACE_H__
+#define __TP_CHANNEL_IFACE_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define TP_TYPE_CHANNEL_IFACE (tp_channel_iface_get_type ())
+
+#define TP_CHANNEL_IFACE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ TP_TYPE_CHANNEL_IFACE, TpChannelIface))
+
+#define TP_IS_CHANNEL_IFACE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ TP_TYPE_CHANNEL_IFACE))
+
+#define TP_CHANNEL_IFACE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), \
+ TP_TYPE_CHANNEL_IFACE, TpChannelIfaceClass))
+
+/**
+ * TpChannelIface:
+ *
+ * Opaque typedef representing a channel.
+ */
+typedef struct _TpChannelIface TpChannelIface;
+
+typedef struct _TpChannelIfaceClass TpChannelIfaceClass;
+
+/**
+ * TpChannelFunc:
+ * @self: An object implementing the channel interface
+ * @userdata: Arbitrary user-supplied data
+ *
+ * A callback for functions which act on channels.
+ */
+typedef void (* TpChannelFunc) (TpChannelIface *self, gpointer userdata);
+
+/**
+ * TpChannelIfaceClass:
+ * @parent_class: The parent interface
+ *
+ * The class of the #TpChannelIface interface.
+ */
+struct _TpChannelIfaceClass {
+ GTypeInterface parent_class;
+};
+
+GType tp_channel_iface_get_type (void);
+
+G_END_DECLS
+
+#endif /* __TP_CHANNEL_IFACE_H__ */