diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2008-04-14 17:18:27 +0000 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2008-11-18 16:52:57 +0000 |
commit | d3313c396e52880614d49c0d5bc66639539afcbe (patch) | |
tree | d198e360243753f3c78b5b7a858250f387e43e3d /telepathy-glib/message-mixin.h | |
parent | d24d1b65b0cf6828dfe8c5cc62b8e689389d2595 (diff) | |
download | telepathy-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.h | 53 |
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 |