libpurple/purplemessage.h

Fri, 20 Oct 2023 01:09:45 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 20 Oct 2023 01:09:45 -0500
changeset 42375
8e61249e9b10
parent 42349
fbcea290a1f6
child 42387
d9350cda1556
permissions
-rw-r--r--

Implement ProtocolFileTransfer

Testing Done:
Ran the unit tests under valgrind.

Bugs closed: PIDGIN-17833

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

40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
1 /*
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
2 * Purple - Internet Messaging Library
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
4 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
5 * 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
6 * 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
7 * source distribution.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
8 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
9 * 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
10 * 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
11 * 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
12 * (at your option) any later version.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
13 *
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
14 * 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
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
17 * GNU General Public License for more details.
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
18 *
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
19 * You should have received a copy of the GNU General Public License
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
21 */
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
22
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
23 #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
24 # 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
25 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
26
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
27 #ifndef PURPLE_MESSAGE_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
28 #define PURPLE_MESSAGE_H
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
29
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
30 #include <glib-object.h>
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
31
42338
2548eb61acc9 Make sure all internal includes use double quotes
Gary Kramlich <grim@reaperworld.com>
parents: 42311
diff changeset
32 #include "purpleattachment.h"
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
33
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
34 G_BEGIN_DECLS
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
35
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
36 #define PURPLE_TYPE_MESSAGE purple_message_get_type()
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
37
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
38 /**
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
39 * PurpleMessageFlags:
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
40 * @PURPLE_MESSAGE_SEND: Outgoing message.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
41 * @PURPLE_MESSAGE_RECV: Incoming message.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
42 * @PURPLE_MESSAGE_SYSTEM: System message.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
43 * @PURPLE_MESSAGE_AUTO_RESP: Auto response.
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
44 * @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
45 * shown in conversations which are only open for
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
46 * internal UI purposes (e.g. for contact-aware
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
47 * conversations).
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
48 * @PURPLE_MESSAGE_NICK: Contains your nick.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
49 * @PURPLE_MESSAGE_NO_LOG: Do not log.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
50 * @PURPLE_MESSAGE_ERROR: Error message.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
51 * @PURPLE_MESSAGE_DELAYED: Delayed message.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
52 * @PURPLE_MESSAGE_RAW: "Raw" message - don't apply formatting.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
53 * @PURPLE_MESSAGE_IMAGES: Message contains images.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
54 * @PURPLE_MESSAGE_NOTIFY: Message is a notification.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
55 * @PURPLE_MESSAGE_NO_LINKIFY: Message should not be auto-linkified.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
56 * @PURPLE_MESSAGE_INVISIBLE: Message should not be displayed.
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
57 * @PURPLE_MESSAGE_REMOTE_SEND: Message sent from another location, not an echo
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40541
diff changeset
58 * of a local one.
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
59 * Since: 2.12.0
41010
d0abbb616bea A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents: 40951
diff changeset
60 * @PURPLE_MESSAGE_FORWARDED: The message has been forward to the recipient.
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
61 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
62 * 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
63 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
64 typedef enum /*< flags >*/
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
65 {
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
66 PURPLE_MESSAGE_SEND = 1 << 0,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
67 PURPLE_MESSAGE_RECV = 1 << 1,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
68 PURPLE_MESSAGE_SYSTEM = 1 << 2,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
69 PURPLE_MESSAGE_AUTO_RESP = 1 << 3,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
70 PURPLE_MESSAGE_ACTIVE_ONLY = 1 << 4,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
71 PURPLE_MESSAGE_NICK = 1 << 5,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
72 PURPLE_MESSAGE_NO_LOG = 1 << 6,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
73 PURPLE_MESSAGE_ERROR = 1 << 7,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
74 PURPLE_MESSAGE_DELAYED = 1 << 8,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
75 PURPLE_MESSAGE_RAW = 1 << 9,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
76 PURPLE_MESSAGE_IMAGES = 1 << 10,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
77 PURPLE_MESSAGE_NOTIFY = 1 << 11,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
78 PURPLE_MESSAGE_NO_LINKIFY = 1 << 12,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
79 PURPLE_MESSAGE_INVISIBLE = 1 << 13,
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
80 PURPLE_MESSAGE_REMOTE_SEND = 1 << 14,
40742
2fc55152b79c Fix up the XEP-0280 carbons support.
Gary Kramlich <grim@reaperworld.com>
parents: 40696
diff changeset
81 PURPLE_MESSAGE_FORWARDED = 1 << 15,
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
82 } PurpleMessageFlags;
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
83
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
84 /**
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
85 * PurpleMessageContentType:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
86 * @PURPLE_MESSAGE_CONTENT_TYPE_PLAIN: The message has no formatting.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
87 * @PURPLE_MESSAGE_CONTENT_TYPE_HTML: The message is formatted in HTML.
41083
590d533cf290 Fix several typos in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41019
diff changeset
88 * @PURPLE_MESSAGE_CONTENT_TYPE_XHTML: The message is formatted in XHTML.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
89 * @PURPLE_MESSAGE_CONTENT_TYPE_MARKDOWN: The message is formatted in Markdown.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
90 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
91 * The message formatting for the message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
92 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
93 * Since: 3.0.0
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
94 */
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
95 typedef enum /*< prefix=PURPLE_MESSAGE_CONTENT_TYPE,underscore_name=PURPLE_MESSAGE_CONTENT_TYPE >*/
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
96 {
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
97 PURPLE_MESSAGE_CONTENT_TYPE_PLAIN = 0,
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
98 PURPLE_MESSAGE_CONTENT_TYPE_HTML,
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
99 PURPLE_MESSAGE_CONTENT_TYPE_XHTML,
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
100 PURPLE_MESSAGE_CONTENT_TYPE_MARKDOWN,
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
101 } PurpleMessageContentType;
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
102
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
103 /**
41207
d91e963b0a1c Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[a-n]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41083
diff changeset
104 * PurpleMessage:
d91e963b0a1c Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[a-n]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41083
diff changeset
105 *
d91e963b0a1c Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[a-n]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41083
diff changeset
106 * #PurpleMessage represents any message passed between users in libpurple.
d91e963b0a1c Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[a-n]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41083
diff changeset
107 */
d91e963b0a1c Remove unnecessary gtk-doc comments and move them where possible from libpurple/purple[a-n]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 41083
diff changeset
108
39537
70abf152c2d9 Use G_DECLARE_FINAL_TYPE for PurpleMessage.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39434
diff changeset
109 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
110
36116
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 * purple_message_new_outgoing:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
113 * @author: The author.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
114 * @recipient: The recipient.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
115 * @contents: The contents.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
116 * @flags: The #PurpleMessageFlags.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
117 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
118 * Creates new outgoing message to @recipient.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
119 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
120 * You don't need to set the #PURPLE_MESSAGE_SEND flag. If the message is not
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
121 * plain text be sure to call purple_message_set_content_type().
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
122 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
123 * Returns: (transfer full): The new #PurpleMessage instance.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
124 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
125 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
126 */
42298
4671ff5c65d6 Remove the unused account parameter from the message constructors
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
127 PurpleMessage *purple_message_new_outgoing(const gchar *author, const gchar *recipient, const gchar *contents, PurpleMessageFlags flags);
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
128
36116
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 * purple_message_new_incoming:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
131 * @who: Message's author.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
132 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
133 * @flags: The message flags.
38561
b18e711ce82f message: Remove % from literal in documentation string
Mike Ruprecht <cmaiku@gmail.com>
parents: 36116
diff changeset
134 * @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
135 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
136 * Creates new incoming message (the user is the recipient).
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
137 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
138 * 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
139 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
140 * Returns: the new #PurpleMessage.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
141 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
142 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
143 */
42298
4671ff5c65d6 Remove the unused account parameter from the message constructors
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
144 PurpleMessage *purple_message_new_incoming(const gchar *who, const gchar *contents, PurpleMessageFlags flags, guint64 timestamp);
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
145
36116
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 * purple_message_new_system:
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
148 * @contents: The contents of a message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
149 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
150 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
151 * Creates new system message.
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 * 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
154 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
155 * Returns: the new #PurpleMessage.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
156 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
157 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
158 */
42298
4671ff5c65d6 Remove the unused account parameter from the message constructors
Gary Kramlich <grim@reaperworld.com>
parents: 42078
diff changeset
159 PurpleMessage *purple_message_new_system(const gchar *contents, PurpleMessageFlags flags);
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
160
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
161 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
162 * purple_message_get_id:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
163 * @message: The message.
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 * 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
166 * serialized - it's a per-session id.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
167 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
168 * Returns: the global identifier of @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
169 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
170 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
171 */
41019
f1bdc43bf086 Change PurpleMessage:id to a string and add author-name-color to the property getter/setter.
Gary Kramlich <grim@reaperworld.com>
parents: 41010
diff changeset
172 const gchar *purple_message_get_id(PurpleMessage *message);
36075
dfb5988e053b PurpleMessage: implement IDs and storage-by-id
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36074
diff changeset
173
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
174 /**
42311
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
175 * purple_message_set_id:
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
176 * @message: The instance.
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
177 * @id: (nullable): The new id to set.
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
178 *
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
179 * Sets the id of @message to @id.
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
180 *
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
181 * > Note: This should really only be used by protocol plugins to update an id
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
182 * of a sent message when the server has assigned the final id to the message.
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
183 *
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
184 * Since: 3.0.0
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
185 */
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
186 void purple_message_set_id(PurpleMessage *message, const char *id);
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
187
4d842d311595 Make PurpleMessage::id writeable
Gary Kramlich <grim@reaperworld.com>
parents: 42308
diff changeset
188 /**
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
189 * purple_message_get_author:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
190 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
191 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
192 * Returns the author of the message, not a local alias.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
193 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
194 * Returns: the author of @message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
195 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
196 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
197 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
198 const gchar *purple_message_get_author(PurpleMessage *message);
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
199
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
200 /**
40951
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
201 * purple_message_set_author_name_color:
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
202 * @message: The #PurpleMessage instance.
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
203 * @color: The hex color code for the author of @message.
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
204 *
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
205 * Sets the author's name color of @message to @color. This is the color that
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
206 * will be used to display the author's name in a user interface. The user
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
207 * interface might not use this exact color, as it might need to adapt for
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
208 * contrast or limits on the number of colors.
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
209 *
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
210 * Since: 3.0.0
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
211 */
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
212 void purple_message_set_author_name_color(PurpleMessage *message, const gchar *color);
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
213
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
214 /**
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
215 * purple_message_get_author_name_color:
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
216 * @message: The #PurpleMessage instance.
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
217 *
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
218 * Gets the author's name color for @message.
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
219 *
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
220 * Returns: (transfer none): The hex color for the author of @message's name.
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
221 *
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
222 * Since: 3.0.0
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
223 */
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
224 const gchar *purple_message_get_author_name_color(PurpleMessage *message);
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
225
c83bf354d142 Add support for the author-name-color property to PidginMessage and wire it up in PurpleMessage as well
Gary Kramlich <grim@reaperworld.com>
parents: 40742
diff changeset
226 /**
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
227 * purple_message_set_recipient:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
228 * @message: The #PurpleMessage instance.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
229 * @recipient: The name of the recipient.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
230 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
231 * Sets the recipient of @message to @recipient.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
232 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
233 * Since: 3.0.0
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
234 */
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
235 void purple_message_set_recipient(PurpleMessage *message, const gchar *recipient);
36098
4951752ad038 Split PurpleMessage into incoming, outgoing and system
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36094
diff changeset
236
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
237 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
238 * purple_message_get_recipient:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
239 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
240 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
241 * Returns the recipient of the message, not a local alias.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
242 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
243 * Returns: the recipient of @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
244 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
245 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
246 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
247 const gchar *purple_message_get_recipient(PurpleMessage *message);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
248
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
249 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
250 * purple_message_set_author_alias:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
251 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
252 * @alias: The alias.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
253 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
254 * Sets the alias of @message's author. You don't normally need to call this.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
255 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
256 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
257 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
258 void purple_message_set_author_alias(PurpleMessage *message, const gchar *alias);
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
diff changeset
259
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
260 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
261 * purple_message_get_author_alias:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
262 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
263 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
264 * Returns the alias of @message author.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
265 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
266 * Returns: the @message author's alias.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
267 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
268 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
269 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
270 const gchar *purple_message_get_author_alias(PurpleMessage *message);
36094
dc5d15df3a88 PurpleMessage: add author's alias
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36088
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_contents:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
274 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
275 * @cont: The contents.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
276 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
277 * Sets the contents of the @message. It might be HTML.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
278 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
279 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
280 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
281 void purple_message_set_contents(PurpleMessage *message, const gchar *cont);
36079
2e449140fe0b Switch sending-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36076
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_contents:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
285 * @message: The message.
36116
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 contents of the message.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
288 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
289 * Returns: the contents of @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
290 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
291 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
292 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
293 const gchar *purple_message_get_contents(PurpleMessage *message);
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
294
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
295 /**
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
296 * purple_message_set_content_type:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
297 * @message: The #PurpleMessage instance.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
298 * @content_type: The #PurpleMessageContentType value.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
299 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
300 * Sets the content-type of @message to @content_type.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
301 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
302 * Since: 3.0.0
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
303 */
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
304 void purple_message_set_content_type(PurpleMessage *message, PurpleMessageContentType content_type);
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
305
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
306 /**
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
307 * purple_message_get_content_type:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
308 * @message: The #PurpleMessage instance.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
309 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
310 * Gets the content-type of @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
311 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
312 * Returns: The #PurpleMessageContentType of @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
313 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
314 * Since: 3.0.0
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
315 */
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
316 PurpleMessageContentType purple_message_get_content_type(PurpleMessage *message);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
317
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
318 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
319 * purple_message_is_empty:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
320 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
321 *
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
322 * Checks, if the message's body is empty.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
323 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
324 * Returns: %TRUE, if @message is empty.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
325 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
326 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
327 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
328 gboolean purple_message_is_empty(PurpleMessage *message);
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
329
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
330 /**
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
331 * purple_message_set_timestamp:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
332 * @message: The #PurpleMessage instance.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
333 * @timestamp: (nullable): The #GDateTime of the message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
334 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
335 * Sets the timestamp of @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
336 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
337 * Since: 3.0.0
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
338 */
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
339 void purple_message_set_timestamp(PurpleMessage *message, GDateTime *timestamp);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
340
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
341 /**
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
342 * purple_message_get_timestamp:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
343 * @message: The message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
344 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
345 * Returns a @message's timestamp. If @message does not currently have a
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
346 * timestamp, the current time will be set as the time stamp and returned.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
347 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
348 * Returns: (transfer none): The #GDateTime timestamp from @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
349 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
350 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
351 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
352 GDateTime *purple_message_get_timestamp(PurpleMessage *message);
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
353
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
354 /**
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
355 * purple_message_format_timestamp:
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
356 * @message: The #PurpleMessage instance.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
357 * @format: The format to output the time stamp as.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
358 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
359 * Formats the timestamp of @message and returns it.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
360 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
361 * Returns: The formatted timestamp.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
362 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
363 gchar *purple_message_format_timestamp(PurpleMessage *message, const gchar *format);
36085
f4d353818589 Add time property to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36079
diff changeset
364
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
365 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
366 * purple_message_set_flags:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
367 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
368 * @flags: The message flags.
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
369 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
370 * Sets flags for @message. It shouldn't be in a conflict with a message type,
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
371 * so use it carefully.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
372 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
373 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
374 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
375 void purple_message_set_flags(PurpleMessage *message, PurpleMessageFlags flags);
36088
4c386387f6f3 Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36085
diff changeset
376
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
377 /**
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
378 * purple_message_get_flags:
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
379 * @message: The message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
380 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
381 * Returns the flags of a @message.
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
382 *
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
383 * Returns: the flags of a @message.
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
384 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
385 * Since: 3.0.0
36116
e1f9a50effbc Fill comments for PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36115
diff changeset
386 */
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
387 PurpleMessageFlags purple_message_get_flags(PurpleMessage *message);
36076
a0e5b68ff4ef Switch purple_serv_send_im to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36075
diff changeset
388
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
389 /**
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
390 * purple_message_set_error:
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
391 * @message: The instance.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
392 * @error: (nullable) (transfer full): The error to set.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
393 *
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
394 * Sets the error of @message to @error. Primarily this will be used for
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
395 * delivery failure.
42078
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
396 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
397 * Since: 3.0.0
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
398 */
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
399 void purple_message_set_error(PurpleMessage *message, GError *error);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
400
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
401 /**
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
402 * purple_message_get_error:
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
403 * @message: The instance.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
404 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
405 * Gets the error from @message.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
406 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
407 * Returns: (nullable) (transfer none): The error from @message or %NULL.
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
408 *
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
409 * Since: 3.0.0
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
410 */
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
411 GError *purple_message_get_error(PurpleMessage *message);
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
412
979d202488d0 Add an error property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42048
diff changeset
413 /**
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
414 * purple_message_add_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
415 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
416 * @attachment: The #PurpleAttachment instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
417 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
418 * Adds @attachment to @message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
419 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
420 * Returns %TRUE if an attachment with the same ID did not already exist.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
421 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
422 * Since: 3.0.0
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
423 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
424 gboolean purple_message_add_attachment(PurpleMessage *message, PurpleAttachment *attachment);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
425
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
426 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
427 * purple_message_remove_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
428 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
429 * @id: The id of the #PurpleAttachment
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
430 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
431 * Removes the #PurpleAttachment identified by @id if it exists.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
432 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
433 * 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
434 * otherwise.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
435 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
436 * Since: 3.0.0
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
437 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
438 gboolean purple_message_remove_attachment(PurpleMessage *message, guint64 id);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
439
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
440 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
441 * purple_message_get_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
442 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
443 * @id: The id of the #PurpleAttachment to get.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
444 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
445 * Retrieves the #PurpleAttachment identified by @id from @message.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
446 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
447 * 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
448 * %NULL.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
449 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
450 * Since: 3.0.0
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
451 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
452 PurpleAttachment *purple_message_get_attachment(PurpleMessage *message, guint64 id);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
453
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
454 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
455 * purple_message_foreach_attachment:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
456 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
457 * @func: (scope call): The #PurpleAttachmentForeachFunc to call.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
458 * @data: User data to pass to @func.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
459 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
460 * Calls @func for each #PurpleAttachment that's attached to @message.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
461 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
462 * Since: 3.0.0
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
463 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
464 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
465
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
466 /**
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
467 * purple_message_clear_attachments:
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
468 * @message: The #PurpleMessage instance.
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
469 *
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
470 * Removes all attachments from @message.
40541
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
471 *
9ceb8d25d4d9 PurpleMessage cleanups from hell
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
472 * Since: 3.0.0
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
473 */
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
474 void purple_message_clear_attachments(PurpleMessage *message);
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
475
42307
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
476 /**
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
477 * purple_message_get_action:
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
478 * @message: The instance.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
479 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
480 * Gets whether or not @message is an action.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
481 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
482 * See also [property@Message:action] for more information.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
483 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
484 * Returns: %TRUE if @message is an action, otherwise %FALSE.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
485 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
486 * Since: 3.0.0
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
487 */
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
488 gboolean purple_message_get_action(PurpleMessage *message);
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
489
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
490 /**
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
491 * purple_message_set_action:
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
492 * @message: The instance.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
493 * @action: Whether or not @message is an action.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
494 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
495 * Sets whether or not @message is an action.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
496 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
497 * See also: [property@Message:action] for more information.
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
498 *
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
499 * Since: 3.0.0
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
500 */
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
501 void purple_message_set_action(PurpleMessage *message, gboolean action);
083c070d4a27 Add an action property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42298
diff changeset
502
42308
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
503 /**
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
504 * purple_message_get_delivered:
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
505 * @message: The instance.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
506 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
507 * Gets whether or not the message was delivered.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
508 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
509 * > Note: If a protocol does not support delivery receipts this will always
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
510 * return %FALSE.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
511 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
512 * If the protocol does support delivery receipts, [property@Message:error] may
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
513 * be set as well if delivery failed.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
514 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
515 * Returns: %TRUE if @message has been delivered and the protocol supports
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
516 * delivery notifications, otherwise %FALSE.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
517 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
518 * Since: 3.0.0
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
519 */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
520 gboolean purple_message_get_delivered(PurpleMessage *message);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
521
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
522 /**
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
523 * purple_message_set_delivered:
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
524 * @message: The instance.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
525 * @delivered: Whether or not the message was delivered.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
526 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
527 * Sets whether or not a message was delivered.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
528 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
529 * > Note: Setting this will also set [property@Message:delivered-at]. If
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
530 * @delivered is %TRUE it will be set to the current time, otherwise it will be
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
531 * unset.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
532 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
533 * Since: 3.0.0.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
534 */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
535 void purple_message_set_delivered(PurpleMessage *message, gboolean delivered);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
536
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
537 /**
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
538 * purple_message_get_delivered_at:
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
539 * @message: The instance.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
540 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
541 * Gets the time that @message was delivered if it was delivered, otherwise
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
542 * %NULL.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
543 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
544 * Returns: (transfer none) (nullable): The delivery time of @message.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
545 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
546 * Since: 3.0.0
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
547 */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
548 GDateTime *purple_message_get_delivered_at(PurpleMessage *message);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
549
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
550 /**
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
551 * purple_message_set_delivered_at:
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
552 * @message: The instance.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
553 * @datetime: (nullable): The time of delivery.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
554 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
555 * Sets the delivery time of @message to @datetime.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
556 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
557 * > Note: Setting this will also set [property@Message:delivered]. If
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
558 * @datetime is %NULL it will be set to %FALSE, otherwise %TRUE.
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
559 *
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
560 * Since: 3.0.0
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
561 */
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
562 void purple_message_set_delivered_at(PurpleMessage *message, GDateTime *datetime);
2f80061896de Add delivered and delivered-at properties to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42307
diff changeset
563
42349
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
564 /**
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
565 * purple_message_get_edited:
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
566 * @message: The instance.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
567 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
568 * Gets whether or not @message has been edited.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
569 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
570 * Returns: %TRUE if edited, otherwise %FALSE.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
571 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
572 * Since: 3.0.0
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
573 */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
574 gboolean purple_message_get_edited(PurpleMessage *message);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
575
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
576 /**
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
577 * purple_message_set_edited:
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
578 * @message: The instance.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
579 * @edited: The new edited state.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
580 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
581 * Sets the edited state of @message to @edited.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
582 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
583 * > Note: Setting this will also set [property@Message:edited-at]. If
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
584 * @edited is %TRUE it will be set to the current time, otherwise it will be
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
585 * unset.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
586 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
587 * Since: 3.0.0
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
588 */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
589 void purple_message_set_edited(PurpleMessage *message, gboolean edited);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
590
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
591 /**
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
592 * purple_message_get_edited_at:
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
593 * @message: The instance.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
594 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
595 * Gets the time that @message was last edited. If @message has never been
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
596 * edited this will be %NULL.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
597 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
598 * Returns: (transfer none) (nullable): The last edit time of @message.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
599 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
600 * Since: 3.0.0
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
601 */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
602 GDateTime *purple_message_get_edited_at(PurpleMessage *message);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
603
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
604 /**
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
605 * purple_message_set_edited_at:
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
606 * @message: The instance.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
607 * @datetime: (nullable): The time of the last edit.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
608 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
609 * Sets the last edit time of @message to @datetime.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
610 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
611 * > Note: Setting this will also set [property@Message:edited]. If
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
612 * @datetime is %NULL it will be set to %FALSE, otherwise %TRUE.
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
613 *
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
614 * Since: 3.0.0
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
615 */
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
616 void purple_message_set_edited_at(PurpleMessage *message, GDateTime *datetime);
fbcea290a1f6 Add an edited property to PurpleMessage
Gary Kramlich <grim@reaperworld.com>
parents: 42338
diff changeset
617
36074
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
618 G_END_DECLS
4f7b1fea3cd3 Initial implementation for PurpleMessage class
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
619
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39537
diff changeset
620 #endif /* PURPLE_MESSAGE_H */

mercurial