libpurple/message.h

Fri, 13 Mar 2020 22:11:34 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 13 Mar 2020 22:11:34 -0500
changeset 40311
b28beec32e25
parent 39738
14d425a528ad
child 40439
e9838d634d5e
permissions
-rw-r--r--

Remove stringref from the docs.

36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
1 /* purple
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
2 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
5 * source distribution.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
6 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
11 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
16 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
20 */
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
21
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
22 #ifndef PURPLE_MESSAGE_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
23 #define PURPLE_MESSAGE_H
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
24 /**
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
25 * SECTION:message
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
26 * @include:message.h
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
27 * @section_id: libpurple-message
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
28 * @short_description: serializable messages
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
29 * @title: Message model
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
30 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
31 * #PurpleMessage object collects data about a certain (incoming or outgoing) message.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
32 * It (TODO: will be) serializable, so it can be stored in log and retrieved
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
33 * with any metadata.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
34 */
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
35
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
36 #include <glib-object.h>
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
37
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
38 G_BEGIN_DECLS
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
39
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
40 #define PURPLE_TYPE_MESSAGE purple_message_get_type()
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
41
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
42 /**
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
43 * purple_message_get_type:
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
44 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
45 * Returns: the #GType for a message.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
46 */
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
47 G_DECLARE_FINAL_TYPE(PurpleMessage, purple_message, PURPLE, MESSAGE, GObject)
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
48
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
49 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
50 * purple_message_new_outgoing:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
51 * @who: Message's recipient.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
52 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
53 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
54 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
55 * Creates new outgoing message (the user is the author).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
56 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
57 * You don't need to set the #PURPLE_MESSAGE_SEND flag.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
58 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
59 * Returns: the new #PurpleMessage.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
60 */
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
61 PurpleMessage *
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
62 purple_message_new_outgoing(const gchar *who, const gchar *contents,
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
63 PurpleMessageFlags flags);
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
64
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
65 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
66 * purple_message_new_incoming:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
67 * @who: Message's author.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
68 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
69 * @flags: The message flags.
38561
b18e711ce82f message: Remove % from literal in documentation string
Mike Ruprecht <cmaiku@gmail.com>
parents: 36116
diff changeset
70 * @timestamp: The time of transmitting a message. May be 0 for a current time.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
71 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
72 * Creates new incoming message (the user is the recipient).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
73 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
74 * You don't need to set the #PURPLE_MESSAGE_RECV flag.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
75 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
76 * Returns: the new #PurpleMessage.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
77 */
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
78 PurpleMessage *
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
79 purple_message_new_incoming(const gchar *who, const gchar *contents,
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
80 PurpleMessageFlags flags, guint64 timestamp);
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
81
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
82 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
83 * purple_message_new_system:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
84 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
85 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
86 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
87 * Creates new system message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
88 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
89 * You don't need to set the #PURPLE_MESSAGE_SYSTEM flag.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
90 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
91 * Returns: the new #PurpleMessage.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
92 */
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
93 PurpleMessage *
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
94 purple_message_new_system(const gchar *contents, PurpleMessageFlags flags);
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
95
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
96 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
97 * purple_message_get_id:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
98 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
99 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
100 * Returns the unique identifier of the message. These identifiers are not
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
101 * serialized - it's a per-session id.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
102 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
103 * Returns: the global identifier of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
104 */
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
105 guint
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
106 purple_message_get_id(PurpleMessage *msg);
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
107
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
108 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
109 * purple_message_find_by_id:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
110 * @id: The message identifier.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
111 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
112 * Finds the message with a given @id.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
113 *
39738
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
114 * Returns: (transfer none): The #PurpleMessage, or %NULL if not found.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
115 */
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
116 PurpleMessage *
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
117 purple_message_find_by_id(guint id);
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
118
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
119 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
120 * purple_message_get_author:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
121 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
122 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
123 * Returns the author of the message - his screen name (not a local alias).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
124 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
125 * Returns: the author of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
126 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
127 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
128 purple_message_get_author(PurpleMessage *msg);
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
129
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
130 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
131 * purple_message_get_recipient:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
132 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
133 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
134 * Returns the recipient of the message - his screen name (not a local alias).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
135 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
136 * Returns: the recipient of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
137 */
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
138 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
139 purple_message_get_recipient(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
140
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
141 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
142 * purple_message_set_author_alias:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
143 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
144 * @alias: The alias.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
145 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
146 * Sets the alias of @msg's author. You don't normally need to call this.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
147 */
36079
2e449140fe0b Switch sending-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36076
diff changeset
148 void
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
149 purple_message_set_author_alias(PurpleMessage *msg, const gchar *alias);
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
150
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
151 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
152 * purple_message_get_author_alias:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
153 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
154 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
155 * Returns the alias of @msg author.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
156 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
157 * Returns: the @msg author's alias.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
158 */
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
159 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
160 purple_message_get_author_alias(PurpleMessage *msg);
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
161
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
162 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
163 * purple_message_set_contents:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
164 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
165 * @cont: The contents.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
166 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
167 * Sets the contents of the @msg. It might be HTML.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
168 */
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
169 void
36079
2e449140fe0b Switch sending-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36076
diff changeset
170 purple_message_set_contents(PurpleMessage *msg, const gchar *cont);
2e449140fe0b Switch sending-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36076
diff changeset
171
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
172 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
173 * purple_message_get_contents:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
174 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
175 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
176 * Returns the contents of the message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
177 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
178 * Returns: the contents of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
179 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
180 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
181 purple_message_get_contents(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
182
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
183 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
184 * purple_message_is_empty:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
185 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
186 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
187 * Checks, if the message's body is empty.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
188 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
189 * Returns: %TRUE, if @msg is empty.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
190 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
191 gboolean
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
192 purple_message_is_empty(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
193
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
194 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
195 * purple_message_set_time:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
196 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
197 * @msgtime: The timestamp of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
198 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
199 * Sets the @msg's timestamp. It should be a date of posting, but it can be
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
200 * a date of receiving (if the former is not available).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
201 */
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
202 void
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
203 purple_message_set_time(PurpleMessage *msg, guint64 msgtime);
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
204
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
205 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
206 * purple_message_get_time:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
207 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
208 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
209 * Returns a @msg's timestamp.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
210 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
211 * Returns: @msg's timestamp.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
212 */
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
213 guint64
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
214 purple_message_get_time(PurpleMessage *msg);
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
215
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
216 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
217 * purple_message_set_flags:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
218 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
219 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
220 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
221 * Sets flags for @msg. It shouldn't be in a conflict with a message type,
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
222 * so use it carefully.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
223 */
36088
4c386387f6f3 Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36085
diff changeset
224 void
4c386387f6f3 Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36085
diff changeset
225 purple_message_set_flags(PurpleMessage *msg, PurpleMessageFlags flags);
4c386387f6f3 Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36085
diff changeset
226
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
227 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
228 * purple_message_get_flags:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
229 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
230 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
231 * Returns the flags of a @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
232 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
233 * Returns: the flags of a @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
234 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
235 PurpleMessageFlags
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
236 purple_message_get_flags(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
237
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
238 G_END_DECLS
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
239
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
240 #endif /* PURPLE_MESSAGE_H */

mercurial