libpurple/message.h

Mon, 21 Sep 2020 21:18:27 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 21 Sep 2020 21:18:27 -0500
changeset 40539
2941deda6d8d
parent 40526
c8cc1a4c4a02
child 40541
9ceb8d25d4d9
permissions
-rw-r--r--

Use an https link to gnu.org in the license file headers

Use an https link in all of the file license headers

Testing Done:
Compiled only

Reviewed at https://reviews.imfreedom.org/r/125/

40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
1 /*
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
2 * purple
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
3 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
4 * 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
5 * 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
6 * source distribution.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
7 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
8 * 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
9 * 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
10 * 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
11 * (at your option) any later version.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
12 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
13 * 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
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
17 *
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
18 * You should have received a copy of the GNU General Public
40539
2941deda6d8d Use an https link to gnu.org in the license file headers
Gary Kramlich <grim@reaperworld.com>
parents: 40526
diff changeset
19 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
36074
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
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
22 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
23 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
24 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
25
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
26 #ifndef PURPLE_MESSAGE_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
27 #define PURPLE_MESSAGE_H
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
28
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
29 /**
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
30 * SECTION:message
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
31 * @include:message.h
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
32 * @section_id: libpurple-message
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
33 * @short_description: serializable messages
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
34 * @title: Message model
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 * #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
37 * 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
38 * with any metadata.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
39 */
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
40
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
41 #include <glib-object.h>
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
42
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
43 #include <libpurple/purpleattachment.h>
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
44
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
45 G_BEGIN_DECLS
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
46
40524
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
47 /**
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
48 * PURPLE_TYPE_MESSAGE:
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
49 *
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
50 * The standard _get_type macro for #PurpleMessage.
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
51 */
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
52 #define PURPLE_TYPE_MESSAGE purple_message_get_type()
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
53
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
54 /**
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
55 * PurpleMessageFlags:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
56 * @PURPLE_MESSAGE_SEND: Outgoing message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
57 * @PURPLE_MESSAGE_RECV: Incoming message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
58 * @PURPLE_MESSAGE_SYSTEM: System message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
59 * @PURPLE_MESSAGE_AUTO_RESP: Auto response.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
60 * @PURPLE_MESSAGE_ACTIVE_ONLY: Hint to the UI that this message should not be
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
61 * shown in conversations which are only open for
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
62 * internal UI purposes (e.g. for contact-aware
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
63 * conversations).
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
64 * @PURPLE_MESSAGE_NICK: Contains your nick.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
65 * @PURPLE_MESSAGE_NO_LOG: Do not log.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
66 * @PURPLE_MESSAGE_ERROR: Error message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
67 * @PURPLE_MESSAGE_DELAYED: Delayed message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
68 * @PURPLE_MESSAGE_RAW: "Raw" message - don't apply formatting
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
69 * @PURPLE_MESSAGE_IMAGES: Message contains images
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
70 * @PURPLE_MESSAGE_NOTIFY: Message is a notification
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
71 * @PURPLE_MESSAGE_NO_LINKIFY: Message should not be auto-linkified
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
72 * @PURPLE_MESSAGE_INVISIBLE: Message should not be displayed
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
73 * @PURPLE_MESSAGE_REMOTE_SEND: Message sent from another location,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
74 * not an echo of a local one
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
75 * Since: 2.12.0
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
76 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
77 * Flags applicable to a message. Most will have send, recv or system.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
78 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
79 typedef enum /*< flags >*/
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
80 {
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
81 PURPLE_MESSAGE_SEND = 1 << 0,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
82 PURPLE_MESSAGE_RECV = 1 << 1,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
83 PURPLE_MESSAGE_SYSTEM = 1 << 2,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
84 PURPLE_MESSAGE_AUTO_RESP = 1 << 3,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
85 PURPLE_MESSAGE_ACTIVE_ONLY = 1 << 4,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
86 PURPLE_MESSAGE_NICK = 1 << 5,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
87 PURPLE_MESSAGE_NO_LOG = 1 << 6,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
88 PURPLE_MESSAGE_ERROR = 1 << 7,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
89 PURPLE_MESSAGE_DELAYED = 1 << 8,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
90 PURPLE_MESSAGE_RAW = 1 << 9,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
91 PURPLE_MESSAGE_IMAGES = 1 << 10,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
92 PURPLE_MESSAGE_NOTIFY = 1 << 11,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
93 PURPLE_MESSAGE_NO_LINKIFY = 1 << 12,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
94 PURPLE_MESSAGE_INVISIBLE = 1 << 13,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
95 PURPLE_MESSAGE_REMOTE_SEND = 1 << 14,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
96 } PurpleMessageFlags;
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
97
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
98 /**
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
99 * purple_message_get_type:
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
100 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
101 * Returns: the #GType for a message.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
102 */
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
103 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
104
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
105 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
106 * purple_message_new_outgoing:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
107 * @who: Message's recipient.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
108 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
109 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
110 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
111 * Creates new outgoing message (the user is the author).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
112 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
113 * 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
114 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
115 * Returns: the new #PurpleMessage.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
116 */
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
117 PurpleMessage *
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
118 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
119 PurpleMessageFlags flags);
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
120
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
121 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
122 * purple_message_new_incoming:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
123 * @who: Message's author.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
124 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
125 * @flags: The message flags.
38561
b18e711ce82f message: Remove % from literal in documentation string
Mike Ruprecht <cmaiku@gmail.com>
parents: 36116
diff changeset
126 * @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
127 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
128 * Creates new incoming message (the user is the recipient).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
129 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
130 * 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
131 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
132 * Returns: the new #PurpleMessage.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
133 */
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
134 PurpleMessage *
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
135 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
136 PurpleMessageFlags flags, guint64 timestamp);
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
137
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
138 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
139 * purple_message_new_system:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
140 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
141 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
142 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
143 * Creates new system message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
144 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
145 * 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
146 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
147 * Returns: the new #PurpleMessage.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
148 */
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
149 PurpleMessage *
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
150 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
151
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
152 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
153 * purple_message_get_id:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
154 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
155 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
156 * 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
157 * serialized - it's a per-session id.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
158 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
159 * Returns: the global identifier of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
160 */
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
161 guint
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
162 purple_message_get_id(PurpleMessage *msg);
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
163
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
164 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
165 * purple_message_find_by_id:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
166 * @id: The message identifier.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
167 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
168 * Finds the message with a given @id.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
169 *
39738
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
170 * 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
171 */
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
172 PurpleMessage *
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
173 purple_message_find_by_id(guint id);
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
174
36116
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 * purple_message_get_author:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
177 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
178 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
179 * 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
180 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
181 * Returns: the author of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
182 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
183 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
184 purple_message_get_author(PurpleMessage *msg);
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
185
36116
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 * purple_message_get_recipient:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
188 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
189 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
190 * 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
191 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
192 * Returns: the recipient of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
193 */
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
194 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
195 purple_message_get_recipient(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
196
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
197 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
198 * purple_message_set_author_alias:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
199 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
200 * @alias: The alias.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
201 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
202 * 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
203 */
36079
2e449140fe0b Switch sending-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36076
diff changeset
204 void
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
205 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
206
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
207 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
208 * purple_message_get_author_alias:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
209 * @msg: The message.
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 the alias of @msg author.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
212 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
213 * Returns: the @msg author's alias.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
214 */
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
215 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
216 purple_message_get_author_alias(PurpleMessage *msg);
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
217
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
218 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
219 * purple_message_set_contents:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
220 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
221 * @cont: The contents.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
222 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
223 * Sets the contents of the @msg. It might be HTML.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
224 */
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
225 void
36079
2e449140fe0b Switch sending-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36076
diff changeset
226 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
227
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
228 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
229 * purple_message_get_contents:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
230 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
231 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
232 * Returns the contents of the message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
233 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
234 * Returns: the contents of @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
235 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
236 const gchar *
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
237 purple_message_get_contents(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
238
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
239 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
240 * purple_message_is_empty:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
241 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
242 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
243 * Checks, if the message's body is empty.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
244 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
245 * Returns: %TRUE, if @msg is empty.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
246 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
247 gboolean
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
248 purple_message_is_empty(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
249
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
250 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
251 * purple_message_set_time:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
252 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
253 * @msgtime: The timestamp of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
254 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
255 * 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
256 * a date of receiving (if the former is not available).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
257 */
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
258 void
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
259 purple_message_set_time(PurpleMessage *msg, guint64 msgtime);
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
260
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
261 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
262 * purple_message_get_time:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
263 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
264 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
265 * Returns a @msg's timestamp.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
266 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
267 * Returns: @msg's timestamp.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
268 */
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
269 guint64
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
270 purple_message_get_time(PurpleMessage *msg);
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
271
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
272 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
273 * purple_message_set_flags:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
274 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
275 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
276 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
277 * 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
278 * so use it carefully.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
279 */
36088
4c386387f6f3 Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36085
diff changeset
280 void
4c386387f6f3 Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36085
diff changeset
281 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
282
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
283 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
284 * purple_message_get_flags:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
285 * @msg: The message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
286 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
287 * Returns the flags of a @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
288 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
289 * Returns: the flags of a @msg.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
290 */
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
291 PurpleMessageFlags
39434
2dea6f348ebb Use G_DEFINE_TYPE_WITH_PRIVATE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38561
diff changeset
292 purple_message_get_flags(PurpleMessage *msg);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
293
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
294 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
295 * purple_message_add_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
296 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
297 * @attachment: The #PurpleAttachment instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
298 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
299 * Adds @attachment to @message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
300 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
301 * Returns %TRUE if an attachment with the same ID did not already exist.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
302 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
303 gboolean purple_message_add_attachment(PurpleMessage *message, PurpleAttachment *attachment);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
304
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
305 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
306 * purple_message_remove_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
307 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
308 * @id: The id of the #PurpleAttachment
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
309 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
310 * Removes the #PurpleAttachment identified by @id if it exists.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
311 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
312 * Returns: %TRUE if the #PurpleAttachment was found and removed, %FALSE
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
313 * otherwise.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
314 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
315 gboolean purple_message_remove_attachment(PurpleMessage *message, guint64 id);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
316
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
317 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
318 * purple_message_get_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
319 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
320 * @id: The id of the #PurpleAttachment to get.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
321 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
322 * Retrieves the #PurpleAttachment identified by @id from @message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
323 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
324 * Returns: (transfer full): The #PurpleAttachment if it was found, otherwise
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
325 * %NULL.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
326 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
327 PurpleAttachment *purple_message_get_attachment(PurpleMessage *message, guint64 id);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
328
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
329 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
330 * purple_message_foreach_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
331 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
332 * @func: (scope call): The #PurpleAttachmentForeachFunc to call.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
333 * @data: User data to pass to @func.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
334 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
335 * Calls @func for each #PurpleAttachment that's attached to @message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
336 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
337 void purple_message_foreach_attachment(PurpleMessage *message, PurpleAttachmentForeachFunc func, gpointer data);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
338
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
339 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
340 * purple_message_clear_attachments:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
341 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
342 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
343 * Removes all attachments from @message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
344 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
345 void purple_message_clear_attachments(PurpleMessage *message);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
346
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
347 G_END_DECLS
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
348
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
349 #endif /* PURPLE_MESSAGE_H */

mercurial