summaryrefslogtreecommitdiff
path: root/telepathy-glib/message-mixin.h
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2008-04-14 17:18:27 +0000
committerWill Thompson <will.thompson@collabora.co.uk>2008-11-18 16:52:57 +0000
commitd3313c396e52880614d49c0d5bc66639539afcbe (patch)
treed198e360243753f3c78b5b7a858250f387e43e3d /telepathy-glib/message-mixin.h
parentd24d1b65b0cf6828dfe8c5cc62b8e689389d2595 (diff)
downloadtelepathy-glib-d3313c396e52880614d49c0d5bc66639539afcbe.tar.gz
Implement some more of the Message mixin
20080414171827-53eee-a5a8fbc5ebf84872043d0047c7c717e7e9ebd670.gz
Diffstat (limited to 'telepathy-glib/message-mixin.h')
-rw-r--r--telepathy-glib/message-mixin.h53
1 files changed, 31 insertions, 22 deletions
diff --git a/telepathy-glib/message-mixin.h b/telepathy-glib/message-mixin.h
index 81bd7e9af..11b01e786 100644
--- a/telepathy-glib/message-mixin.h
+++ b/telepathy-glib/message-mixin.h
@@ -42,35 +42,44 @@ struct _TpMessageMixin {
TpMessageMixinPrivate *priv;
};
-#define TP_MESSAGE_MIXIN_CLASS_OFFSET_QUARK \
- (tp_message_mixin_class_get_offset_quark ())
-#define TP_MESSAGE_MIXIN_CLASS_OFFSET(o) \
- (GPOINTER_TO_UINT (g_type_get_qdata (G_OBJECT_CLASS_TYPE (o), \
- TP_MESSAGE_MIXIN_CLASS_OFFSET_QUARK)))
-#define TP_MESSAGE_MIXIN_CLASS(o) \
- ((TpMessageMixinClass *) tp_mixin_offset_cast (o, \
- TP_MESSAGE_MIXIN_CLASS_OFFSET (o)))
-
-#define TP_MESSAGE_MIXIN_OFFSET_QUARK (tp_message_mixin_get_offset_quark ())
-#define TP_MESSAGE_MIXIN_OFFSET(o) \
- (GPOINTER_TO_UINT (g_type_get_qdata (G_OBJECT_TYPE (o), \
- TP_MESSAGE_MIXIN_OFFSET_QUARK)))
-#define TP_MESSAGE_MIXIN(o) \
- ((TpMessageMixin *) tp_mixin_offset_cast (o, TP_MESSAGE_MIXIN_OFFSET (o)))
-
-GQuark tp_message_mixin_class_get_offset_quark (void);
-GQuark tp_message_mixin_get_offset_quark (void);
-void tp_message_mixin_class_init (GObjectClass *obj_cls, gsize offset);
+/* Receiving */
+void tp_message_mixin_take_received (GObject *object,
+ time_t timestamp, TpHandle sender, TpChannelTextMessageType message_type,
+ GPtrArray *content);
-void tp_message_mixin_init (GObject *obj, gsize offset,
- TpHandleRepoIface *contact_repo);
-void tp_message_mixin_finalize (GObject *obj);
+/* Sending */
+typedef struct _TpMessageMixinOutgoingMessagePrivate
+ TpMessageMixinOutgoingMessagePrivate;
+
+typedef struct _TpMessageMixinOutgoingMessage {
+ guint flags;
+ guint message_type;
+ GPtrArray *parts;
+ TpMessageMixinOutgoingMessagePrivate *priv;
+} TpMessageMixinOutgoingMessage;
+
+typedef gboolean (*TpMessageMixinSendImpl) (GObject *object,
+ TpMessageMixinOutgoingMessage *message);
+
+void tp_message_mixin_sent (GObject *object,
+ TpMessageMixinOutgoingMessage *message, const gchar *token);
+
+
+/* Initialization */
void tp_message_mixin_text_iface_init (gpointer g_iface, gpointer iface_data);
void tp_message_mixin_message_parts_iface_init (gpointer g_iface,
gpointer iface_data);
+void tp_message_mixin_class_init (GObjectClass *obj_cls, gsize offset);
+
+void tp_message_mixin_init (GObject *obj, gsize offset,
+ TpHandleRepoIface *contact_repo);
+void tp_message_mixin_implement_sending (GObject *object,
+ TpMessageMixinSendImpl send);
+void tp_message_mixin_finalize (GObject *obj);
+
G_END_DECLS
#endif