annotate libpurple/prpl.h @ 32671:73d04f4b18ee

Make sure our pref parents exist, or else saved variants will be forgotten when restarting or re-opening the Preferences.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 23 Sep 2011 17:50:24 +0000
parents 5aa171c8776b
children 02a2e8183b1d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file prpl.h Protocol Plugin functions
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 * @ingroup core
20074
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19702
diff changeset
4 */
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19702
diff changeset
5
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19702
diff changeset
6 /* purple
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * source distribution.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * GNU General Public License for more details.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19463
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 /* this file should be all that prpls need to include. therefore, by including
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
28 * this file, they should get glib, proxy, purple_connection, prpl, etc. */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
30 #ifndef _PURPLE_PRPL_H_
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
31 #define _PURPLE_PRPL_H_
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
33 typedef struct _PurplePluginProtocolInfo PurplePluginProtocolInfo;
32637
5aa171c8776b Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <mark@kingant.net>
parents: 32514
diff changeset
34
5aa171c8776b Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <mark@kingant.net>
parents: 32514
diff changeset
35 /** Represents "nudges" and "buzzes" that you may send to a buddy to attract
5aa171c8776b Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <mark@kingant.net>
parents: 32514
diff changeset
36 * their attention (or vice-versa).
5aa171c8776b Fix a bunch of tiny problems generating our doxygen documentation
Mark Doliner <mark@kingant.net>
parents: 32514
diff changeset
37 */
19426
6395c2e96bc2 Attention API for nudges/buzzes/zaps of various protocols.
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19289
diff changeset
38 typedef struct _PurpleAttentionType PurpleAttentionType;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 /**************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 /** @name Basic Protocol Information */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 /**************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 typedef enum {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
45 PURPLE_ICON_SCALE_DISPLAY = 0x01, /**< We scale the icon when we display it */
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
46 PURPLE_ICON_SCALE_SEND = 0x02 /**< We scale the icon before we send it to the server */
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
47 } PurpleIconScaleRules;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 /**
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
51 * A description of a Buddy Icon specification. This tells Purple what kind of image file
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52 * it should give this prpl, and what kind of image file it should expect back.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 * Dimensions less than 1 should be ignored and the image not scaled.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
55 typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 /**
30237
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
58 * A description of a file transfer thumbnail specification.
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
59 * This tells the UI if and what image formats the prpl support for file
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
60 * transfer thumbnails.
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
61 */
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
62 typedef struct _PurpleThumbnailSpec PurpleThumbnailSpec;
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
63
25a53c299713 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <ml@update.uu.se>
parents: 29930
diff changeset
64 /**
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 * This \#define exists just to make it easier to fill out the buddy icon
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 * field in the prpl info struct for protocols that couldn't care less.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 #define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0, 0}
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69
17415
8c056932bcc2 Don't include unistd.h if HAVE_UNISTD_H isn't defined.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16915
diff changeset
70 #ifdef HAVE_UNISTD_H
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 #include <unistd.h>
17415
8c056932bcc2 Don't include unistd.h if HAVE_UNISTD_H isn't defined.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16915
diff changeset
72 #endif
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 #include "blist.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 #include "conversation.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 #include "ft.h"
16390
4fc51a87ce42 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
77 #include "imgstore.h"
25545
315151da0dc6 Basic Google Talk voice call support. No UI; receiving a call auto-accepts it.
Sean Egan <seanegan@gmail.com>
parents: 19463
diff changeset
78 #include "media.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 #include "notify.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 #include "proxy.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 #include "plugin.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 #include "roomlist.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 #include "status.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 #include "whiteboard.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85
23210
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
86
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
87 /** @copydoc PurpleBuddyIconSpec */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
88 struct _PurpleBuddyIconSpec {
23210
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
89 /** This is a comma-delimited list of image formats or @c NULL if icons
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
90 * are not supported. Neither the core nor the prpl will actually
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
91 * check to see if the data it's given matches this; it's entirely up
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
92 * to the UI to do what it wants
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
93 */
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
94 char *format;
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
95
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
96 int min_width; /**< Minimum width of this icon */
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
97 int min_height; /**< Minimum height of this icon */
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
98 int max_width; /**< Maximum width of this icon */
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
99 int max_height; /**< Maximum height of this icon */
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
100 size_t max_filesize; /**< Maximum size in bytes */
d3fb9d9b57e2 Add doxycomment for PurpleBuddyIcon; tweak that of PurpleBuddyIconSpec.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23116
diff changeset
101 PurpleIconScaleRules scale_rules; /**< How to stretch this icon */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102 };
30249
905e291986bc Whitespace trim.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30238
diff changeset
103
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
104 /** Represents an entry containing information that must be supplied by the
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
105 * user when joining a chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
106 */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107 struct proto_chat_entry {
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
108 const char *label; /**< User-friendly name of the entry */
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
109 const char *identifier; /**< Used by the PRPL to identify the option */
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
110 gboolean required; /**< True if it's required */
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
111 gboolean is_int; /**< True if the entry expects an integer */
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
112 int min; /**< Minimum value in case of integer */
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
113 int max; /**< Maximum value in case of integer */
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
114 gboolean secret; /**< True if the entry is secret (password) */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
117 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118 * Protocol options
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
119 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
120 * These should all be stuff that some plugins can do and others can't.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
121 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
122 typedef enum
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
123 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
124 /**
26985
cda10ae89918 Clarify (hopefully) the usage of OPT_PROTO_UNIQUE_CHATNAME; arose in a discussion in #pidgin.
Paul Aurich <paul@darkrain42.org>
parents: 26776
diff changeset
125 * User names are unique to a chat and are not shared between rooms.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126 *
26985
cda10ae89918 Clarify (hopefully) the usage of OPT_PROTO_UNIQUE_CHATNAME; arose in a discussion in #pidgin.
Paul Aurich <paul@darkrain42.org>
parents: 26776
diff changeset
127 * XMPP lets you choose what name you want in chats, so it shouldn't
cda10ae89918 Clarify (hopefully) the usage of OPT_PROTO_UNIQUE_CHATNAME; arose in a discussion in #pidgin.
Paul Aurich <paul@darkrain42.org>
parents: 26776
diff changeset
128 * be pulling the aliases from the buddy list for the chat list;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
129 * it gets annoying.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
131 OPT_PROTO_UNIQUE_CHATNAME = 0x00000004,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
132
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
133 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
134 * Chat rooms have topics.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
135 *
16915
56042b2f8b64 s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents: 16728
diff changeset
136 * IRC and XMPP support this.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
138 OPT_PROTO_CHAT_TOPIC = 0x00000008,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
139
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
140 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 * Don't require passwords for sign-in.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
142 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
143 * Zephyr doesn't require passwords, so there's no
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144 * need for a password prompt.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
145 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146 OPT_PROTO_NO_PASSWORD = 0x00000010,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
147
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
148 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
149 * Notify on new mail.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
150 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
151 * MSN and Yahoo notify you when you have new mail.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
152 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
153 OPT_PROTO_MAIL_CHECK = 0x00000020,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
154
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
155 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
156 * Images in IMs.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
157 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
158 * Oscar lets you send images in direct IMs.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
159 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
160 OPT_PROTO_IM_IMAGE = 0x00000040,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
161
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
162 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163 * Allow passwords to be optional.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
164 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
165 * Passwords in IRC are optional, and are needed for certain
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
166 * functionality.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
168 OPT_PROTO_PASSWORD_OPTIONAL = 0x00000080,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
169
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
170 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
171 * Allows font size to be specified in sane point size
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
172 *
16915
56042b2f8b64 s/Jabber/XMPP in user-visible places.
Richard Laager <rlaager@wiktel.com>
parents: 16728
diff changeset
173 * Probably just XMPP and Y!M
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
174 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175 OPT_PROTO_USE_POINTSIZE = 0x00000100,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
176
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
178 * Set the Register button active even when the username has not
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
179 * been specified.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 *
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
181 * Gadu-Gadu doesn't need a username to register new account (because
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
182 * usernames are assigned by the server).
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
183 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
184 OPT_PROTO_REGISTER_NOSCREENNAME = 0x00000200,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
185
18030
62a71bb085ef Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents: 17415
diff changeset
186 /**
62a71bb085ef Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents: 17415
diff changeset
187 * Indicates that slash commands are native to this protocol.
62a71bb085ef Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents: 17415
diff changeset
188 * Used as a hint that unknown commands should not be sent as messages.
22870
3d7e9eff04d0 Assorted cleanups, mostly to the Doxygen comments. I added a few missing
Richard Laager <rlaager@wiktel.com>
parents: 22745
diff changeset
189 * @since 2.1.0
18030
62a71bb085ef Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents: 17415
diff changeset
190 */
31849
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
191 OPT_PROTO_SLASH_COMMANDS_NATIVE = 0x00000400,
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
192
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
193 /**
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
194 * Indicates that this protocol supports sending a user-supplied message
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
195 * along with an invitation.
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
196 * @since 2.8.0
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
197 */
96e66fbe2881 Add a flag indicating that a prpl allows specifying an invite message.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31846
diff changeset
198 OPT_PROTO_INVITE_MESSAGE = 0x00000800
18030
62a71bb085ef Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <stu@nosnilmot.com>
parents: 17415
diff changeset
199
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
200 } PurpleProtocolOptions;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
201
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
202 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
203 * A protocol plugin information structure.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
204 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205 * Every protocol plugin initializes this structure. It is the gateway
22745
20053e2484f8 Fix a typo in a doc comment.
Richard Laager <rlaager@wiktel.com>
parents: 22122
diff changeset
206 * between purple and the protocol plugin. Many of these callbacks can be
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
207 * NULL. If a callback must be implemented, it has a comment indicating so.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
208 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
209 struct _PurplePluginProtocolInfo
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210 {
32493
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
211 /**
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
212 * The size of the PurplePluginProtocolInfo. This should always be sizeof(PurplePluginProtocolInfo).
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
213 * This allows adding more functions to this struct without requiring a major version bump.
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
214 */
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
215 unsigned long struct_size;
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
216
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
217 /* NOTE:
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
218 * If more functions are added, they should accessed using the following syntax:
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
219 *
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
220 * if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, new_function))
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
221 * prpl->new_function(...);
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
222 *
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
223 * instead of
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
224 *
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
225 * if (prpl->new_function != NULL)
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
226 * prpl->new_function(...);
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
227 *
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
228 * The PURPLE_PROTOCOL_PLUGIN_HAS_FUNC macro can be used for the older member
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
229 * functions (e.g. login, send_im etc.) too.
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
230 */
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
231
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
232 PurpleProtocolOptions options; /**< Protocol options. */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
234 GList *user_splits; /**< A GList of PurpleAccountUserSplit */
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
235 GList *protocol_options; /**< A GList of PurpleAccountOption */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
236
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
237 PurpleBuddyIconSpec icon_spec; /**< The icon spec. */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
238
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
239 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
240 * Returns the base icon name for the given buddy and account.
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 24762
diff changeset
241 * If buddy is NULL and the account is non-NULL, it will return the
16393
c85fa74f7e50 Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 15823
diff changeset
242 * name to use for the account's icon. If both are NULL, it will
c85fa74f7e50 Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 15823
diff changeset
243 * return the name to use for the protocol's icon.
c85fa74f7e50 Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 15823
diff changeset
244 *
c85fa74f7e50 Document prpl_info->list_icon(NULL, NULL), and add my name to COPYRIGHT.
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 15823
diff changeset
245 * This must be implemented.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
246 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
247 const char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
249 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
250 * Fills the four char**'s with string identifiers for "emblems"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
251 * that the UI will interpret and display as relevant
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
252 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
253 const char *(*list_emblem)(PurpleBuddy *buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
254
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
255 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
256 * Gets a short string representing this buddy's status. This will
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
257 * be shown on the buddy list.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
258 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
259 char *(*status_text)(PurpleBuddy *buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
260
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
261 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
262 * Allows the prpl to add text to a buddy's tooltip.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
263 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
264 void (*tooltip_text)(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
265
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
266 /**
20903
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
267 * Returns a list of #PurpleStatusType which exist for this account;
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
268 * this must be implemented, and must add at least the offline and
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
269 * online states.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
270 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
271 GList *(*status_types)(PurpleAccount *account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
272
20903
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
273 /**
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
274 * Returns a list of #PurpleMenuAction structs, which represent extra
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
275 * actions to be shown in (for example) the right-click menu for @a
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
276 * node.
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
277 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
278 GList *(*blist_node_menu)(PurpleBlistNode *node);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
279
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
280 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
281 * Returns a list of #proto_chat_entry structs, which represent
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
282 * information required by the PRPL to join a chat. libpurple will
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
283 * call join_chat along with the information filled by the user.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
284 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
285 * @return A list of #proto_chat_entry structs
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
286 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
287 GList *(*chat_info)(PurpleConnection *);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
288
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
289 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
290 * Returns a hashtable which maps #proto_chat_entry struct identifiers
31533
44f53d3fc54f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 30311
diff changeset
291 * to default options as strings based on chat_name. The resulting
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
292 * hashtable should be created with g_hash_table_new_full(g_str_hash,
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
293 * g_str_equal, NULL, g_free);. Use #get_chat_name if you instead need
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
294 * to extract a chat name from a hashtable.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
295 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
296 * @param chat_name The chat name to be turned into components
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
297 * @return Hashtable containing the information extracted from chat_name
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
298 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
299 GHashTable *(*chat_info_defaults)(PurpleConnection *, const char *chat_name);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
300
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
301 /* All the server-related functions */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
302
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
303 /** This must be implemented. */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
304 void (*login)(PurpleAccount *);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
305
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
306 /** This must be implemented. */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
307 void (*close)(PurpleConnection *);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
308
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
309 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
310 * This PRPL function should return a positive value on success.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
311 * If the message is too big to be sent, return -E2BIG. If
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
312 * the account is not connected, return -ENOTCONN. If the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
313 * PRPL is unable to send the message for another reason, return
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
314 * some other negative value. You can use one of the valid
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
315 * errno values, or just big something. If the message should
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
316 * not be echoed to the conversation window, return 0.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
317 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
318 int (*send_im)(PurpleConnection *, const char *who,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
319 const char *message,
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
320 PurpleMessageFlags flags);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
321
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
322 void (*set_info)(PurpleConnection *, const char *info);
24534
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
323
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
324 /**
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
325 * @return If this protocol requires the PURPLE_TYPING message to
24535
64c74659b6eb Fix a typo in Mark's new comment.
Richard Laager <rlaager@wiktel.com>
parents: 24534
diff changeset
326 * be sent repeatedly to signify that the user is still
24534
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
327 * typing, then the PRPL should return the number of
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
328 * seconds to wait before sending a subsequent notification.
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
329 * Otherwise the PRPL should return 0.
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
330 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
331 unsigned int (*send_typing)(PurpleConnection *, const char *name, PurpleTypingState state);
24534
23170794f9f5 Add a comment for the meaning of the return value of this function,
Mark Doliner <mark@kingant.net>
parents: 23616
diff changeset
332
20903
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
333 /**
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
334 * Should arrange for purple_notify_userinfo() to be called with
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
335 * @a who's user info.
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
336 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
337 void (*get_info)(PurpleConnection *, const char *who);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
338 void (*set_status)(PurpleAccount *account, PurpleStatus *status);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
339
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
340 void (*set_idle)(PurpleConnection *, int idletime);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
341 void (*change_passwd)(PurpleConnection *, const char *old_pass,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
342 const char *new_pass);
32492
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32479
diff changeset
343
25008
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
344 /**
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
345 * Add a buddy to a group on the server.
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
346 *
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
347 * This PRPL function may be called in situations in which the buddy is
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
348 * already in the specified group. If the protocol supports
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
349 * authorization and the user is not already authorized to see the
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
350 * status of \a buddy, \a add_buddy should request authorization.
31846
1bd617f2c46a Add new functions for adding buddies with an invite message. If the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31533
diff changeset
351 *
32492
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32479
diff changeset
352 * If authorization is required, then use the supplied invite message.
25008
a4d6e2c1e73b Update the comment for add_buddy in prpl.h to note it may be called to mean 'request authorization'
Paul Aurich <paul@darkrain42.org>
parents: 24762
diff changeset
353 */
32492
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32479
diff changeset
354 void (*add_buddy)(PurpleConnection *pc, PurpleBuddy *buddy, PurpleGroup *group, const char *message);
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32479
diff changeset
355 void (*add_buddies)(PurpleConnection *pc, GList *buddies, GList *groups, const char *message);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
356 void (*remove_buddy)(PurpleConnection *, PurpleBuddy *buddy, PurpleGroup *group);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
357 void (*remove_buddies)(PurpleConnection *, GList *buddies, GList *groups);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
358 void (*add_permit)(PurpleConnection *, const char *name);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
359 void (*add_deny)(PurpleConnection *, const char *name);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
360 void (*rem_permit)(PurpleConnection *, const char *name);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
361 void (*rem_deny)(PurpleConnection *, const char *name);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
362 void (*set_permit_deny)(PurpleConnection *);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
363
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
364 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
365 * Called when the user requests joining a chat. Should arrange for
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
366 * #serv_got_joined_chat to be called.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
367 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
368 * @param components A hashtable containing information required to
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
369 * join the chat as described by the entries returned
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
370 * by #chat_info. It may also be called when accepting
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
371 * an invitation, in which case this matches the
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
372 * data parameter passed to #serv_got_chat_invite.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
373 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
374 void (*join_chat)(PurpleConnection *, GHashTable *components);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
375
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
376 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
377 * Called when the user refuses a chat invitation.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
378 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
379 * @param components A hashtable containing information required to
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
380 * join the chat as passed to #serv_got_chat_invite.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
381 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
382 void (*reject_chat)(PurpleConnection *, GHashTable *components);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
383
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
384 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
385 * Returns a chat name based on the information in components. Use
31533
44f53d3fc54f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 30311
diff changeset
386 * #chat_info_defaults if you instead need to generate a hashtable
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
387 * from a chat name.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
388 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
389 * @param components A hashtable containing information about the chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
390 */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
391 char *(*get_chat_name)(GHashTable *components);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
392
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
393 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
394 * Invite a user to join a chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
395 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
396 * @param id The id of the chat to invite the user to.
31533
44f53d3fc54f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 30311
diff changeset
397 * @param message A message displayed to the user when the invitation
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
398 * is received.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
399 * @param who The name of the user to send the invation to.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
400 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
401 void (*chat_invite)(PurpleConnection *, int id,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
402 const char *message, const char *who);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
403 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
404 * Called when the user requests leaving a chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
405 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
406 * @param id The id of the chat to leave
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
407 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
408 void (*chat_leave)(PurpleConnection *, int id);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
409
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
410 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
411 * Send a whisper to a user in a chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
412 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
413 * @param id The id of the chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
414 * @param who The name of the user to send the whisper to.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
415 * @param message The message of the whisper.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
416 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
417 void (*chat_whisper)(PurpleConnection *, int id,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
418 const char *who, const char *message);
28978
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
419
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
420 /**
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
421 * Send a message to a chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
422 * This PRPL function should return a positive value on success.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
423 * If the message is too big to be sent, return -E2BIG. If
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
424 * the account is not connected, return -ENOTCONN. If the
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
425 * PRPL is unable to send the message for another reason, return
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
426 * some other negative value. You can use one of the valid
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
427 * errno values, or just big something. If the message should
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
428 * not be echoed to the conversation window, return 0.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
429 *
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
430 * @param id The id of the chat to send the message to.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
431 * @param message The message to send to the chat.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
432 * @param flags A bitwise OR of #PurpleMessageFlags representing
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
433 * message flags.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
434 * @return A positive number or 0 in case of succes,
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
435 * a negative error number in case of failure.
e37f85160784 Documented chat API. References #10605
sttwister@gmail.com
parents: 26985
diff changeset
436 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
437 int (*chat_send)(PurpleConnection *, int id, const char *message, PurpleMessageFlags flags);
21750
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
438
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
439 /** If implemented, this will be called regularly for this prpl's
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
440 * active connections. You'd want to do this if you need to repeatedly
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
441 * send some kind of keepalive packet to the server to avoid being
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
442 * disconnected. ("Regularly" is defined by
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
443 * <code>KEEPALIVE_INTERVAL</code> in <tt>libpurple/connection.c</tt>.)
fb8ab2490ac4 De-magic number the prpl_info->keepalive interval, and document it.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21457
diff changeset
444 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
445 void (*keepalive)(PurpleConnection *);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
446
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
447 /** new user registration */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
448 void (*register_user)(PurpleAccount *);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
449
20928
ed40911613a0 Try my hardest to get rid of some Doxygen warnings. One is left and I don't know why.
Richard Laager <rlaager@wiktel.com>
parents: 20903
diff changeset
450 /**
ed40911613a0 Try my hardest to get rid of some Doxygen warnings. One is left and I don't know why.
Richard Laager <rlaager@wiktel.com>
parents: 20903
diff changeset
451 * @deprecated Use #PurplePluginProtocolInfo.get_info instead.
20903
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
452 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
453 void (*get_cb_info)(PurpleConnection *, int, const char *who);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
454
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
455 /** save/store buddy's alias on server list/roster */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
456 void (*alias_buddy)(PurpleConnection *, const char *who,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
457 const char *alias);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
458
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
459 /** change a buddy's group on a server list/roster */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
460 void (*group_buddy)(PurpleConnection *, const char *who,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
461 const char *old_group, const char *new_group);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
462
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
463 /** rename a group on a server list/roster */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
464 void (*rename_group)(PurpleConnection *, const char *old_name,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
465 PurpleGroup *group, GList *moved_buddies);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
466
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
467 void (*buddy_free)(PurpleBuddy *);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
468
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
469 void (*convo_closed)(PurpleConnection *, const char *who);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
470
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
471 /**
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
472 * Convert the username @a who to its canonical form. (For example,
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
473 * AIM treats "fOo BaR" and "foobar" as the same user; this function
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
474 * should return the same normalized string for both of those.)
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
475 */
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
476 const char *(*normalize)(const PurpleAccount *, const char *who);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
477
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
478 /**
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
479 * Set the buddy icon for the given connection to @a img. The prpl
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
480 * does NOT own a reference to @a img; if it needs one, it must
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
481 * #purple_imgstore_ref(@a img) itself.
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
482 */
16390
4fc51a87ce42 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
483 void (*set_buddy_icon)(PurpleConnection *, PurpleStoredImage *img);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
484
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
485 void (*remove_group)(PurpleConnection *gc, PurpleGroup *group);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
486
21039
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
487 /** Gets the real name of a participant in a chat. For example, on
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
488 * XMPP this turns a chat room nick <tt>foo</tt> into
21457
eb0f36c3a58f Get rid of a few silly doxygen warnings
Mark Doliner <mark@kingant.net>
parents: 21039
diff changeset
489 * <tt>room\@server/foo</tt>
21039
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
490 * @param gc the connection on which the room is.
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
491 * @param id the ID of the chat room.
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
492 * @param who the nickname of the chat participant.
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
493 * @return the real name of the participant. This string must be
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
494 * freed by the caller.
5af17c5a4a12 Document PurplePluginProtocolInfo.get_cb_real_name
Will Thompson <will.thompson@collabora.co.uk>
parents: 21023
diff changeset
495 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
496 char *(*get_cb_real_name)(PurpleConnection *gc, int id, const char *who);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
497
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
498 void (*set_chat_topic)(PurpleConnection *gc, int id, const char *topic);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
499
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
500 PurpleChat *(*find_blist_chat)(PurpleAccount *account, const char *name);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
501
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
502 /* room listing prpl callbacks */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
503 PurpleRoomlist *(*roomlist_get_list)(PurpleConnection *gc);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
504 void (*roomlist_cancel)(PurpleRoomlist *list);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
505 void (*roomlist_expand_category)(PurpleRoomlist *list, PurpleRoomlistRoom *category);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
506
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
507 /* file transfer callbacks */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
508 gboolean (*can_receive_file)(PurpleConnection *, const char *who);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
509 void (*send_file)(PurpleConnection *, const char *who, const char *filename);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
510 PurpleXfer *(*new_xfer)(PurpleConnection *, const char *who);
21023
42ecde230f91 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20928
diff changeset
511
42ecde230f91 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20928
diff changeset
512 /** Checks whether offline messages to @a buddy are supported.
42ecde230f91 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20928
diff changeset
513 * @return @c TRUE if @a buddy can be sent messages while they are
42ecde230f91 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20928
diff changeset
514 * offline, or @c FALSE if not.
42ecde230f91 Documentation tweaks for the write_conv uiop and for prpl_info.offline_message.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20928
diff changeset
515 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
516 gboolean (*offline_message)(const PurpleBuddy *buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
517
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
518 PurpleWhiteboardPrplOps *whiteboard_prpl_ops;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
519
19289
f12bf92d64ec Add marginally better doxygen magic to PurplePluginProtocolInfo
Will Thompson <will.thompson@collabora.co.uk>
parents: 18179
diff changeset
520 /** For use in plugins that may understand the underlying protocol */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
521 int (*send_raw)(PurpleConnection *gc, const char *buf, int len);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
522
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
523 /* room list serialize */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
524 char *(*roomlist_room_serialize)(PurpleRoomlistRoom *room);
16672
516f14bef90e Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16479
diff changeset
525
20903
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
526 /** Remove the user from the server. The account can either be
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
527 * connected or disconnected. After the removal is finished, the
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
528 * connection will stay open and has to be closed!
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
529 */
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
530 /* This is here rather than next to register_user for API compatibility
3375d44ccad7 Add some (but not much!) documentation to PurplePluginProtocolInfo.
Will Thompson <will.thompson@collabora.co.uk>
parents: 20074
diff changeset
531 * reasons.
18703
033b128f7c21 Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18684
diff changeset
532 */
18920
2a9d60d7af82 Implemented a callback for unregistering, mirroring the registration callback. Since this is a new API, I can do it properly by passing it right in the unregister function call, instead of having a separate function for setting it.
Andreas Monitzer <pidgin@monitzer.com>
parents: 18703
diff changeset
533 void (*unregister_user)(PurpleAccount *, PurpleAccountUnregistrationCb cb, void *user_data);
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 24762
diff changeset
534
19426
6395c2e96bc2 Attention API for nudges/buzzes/zaps of various protocols.
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19289
diff changeset
535 /* Attention API for sending & receiving zaps/nudges/buzzes etc. */
19463
3f6f84d11ce2 Change serv_send_attention() to call prpl_info->send_attention(), and
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19461
diff changeset
536 gboolean (*send_attention)(PurpleConnection *gc, const char *username, guint type);
19702
45d028a68774 - Rename attention_types to get_attention_types, which seems more standard.
Richard Laager <rlaager@wiktel.com>
parents: 19696
diff changeset
537 GList *(*get_attention_types)(PurpleAccount *acct);
19463
3f6f84d11ce2 Change serv_send_attention() to call prpl_info->send_attention(), and
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19461
diff changeset
538
23112
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
539 /** This allows protocols to specify additional strings to be used for
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
540 * various purposes. The idea is to stuff a bunch of strings in this hash
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
541 * table instead of expanding the struct for every addition. This hash
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
542 * table is allocated every call and MUST be unrefed by the caller.
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
543 *
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
544 * @param account The account to specify. This can be NULL.
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
545 * @return The protocol's string hash table. The hash table should be
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
546 * destroyed by the caller when it's no longer needed.
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
547 */
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
548 GHashTable *(*get_account_text_table)(PurpleAccount *account);
29834
1fb503adb2ae Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents: 23616
diff changeset
549
1fb503adb2ae Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents: 23616
diff changeset
550 /**
25719
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
551 * Initiate a media session with the given contact.
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
552 *
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26479
diff changeset
553 * @param account The account to initiate the media session on.
25719
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
554 * @param who The remote user to initiate the session with.
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
555 * @param type The type of media session to initiate.
26447
34eb898478b4 Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26434
diff changeset
556 * @return TRUE if the call succeeded else FALSE. (Doesn't imply the media session or stream will be successfully created)
25719
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
557 */
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26479
diff changeset
558 gboolean (*initiate_media)(PurpleAccount *account, const char *who,
25720
551a462b346a Changed PurpleMediaStreamType to PurpleMediaSessionType.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25719
diff changeset
559 PurpleMediaSessionType type);
25657
ff29208e03ef propagate from branch 'im.pidgin.pidgin' (head 75f0460d3679231b61d572e76fe02534a597c6b5)
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23210 25637
diff changeset
560
25719
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
561 /**
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
562 * Checks to see if the given contact supports the given type of media session.
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
563 *
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26479
diff changeset
564 * @param account The account the contact is on.
25719
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
565 * @param who The remote user to check for media capability with.
26190
d6e23439b77c Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26062
diff changeset
566 * @return The media caps the contact supports.
25719
1aa383ee5fc8 Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25718
diff changeset
567 */
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26479
diff changeset
568 PurpleMediaCaps (*get_media_caps)(PurpleAccount *account,
26190
d6e23439b77c Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26062
diff changeset
569 const char *who);
29851
5391094529c6 propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
parents: 26479 29834
diff changeset
570
5391094529c6 propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
parents: 26479 29834
diff changeset
571 /**
29834
1fb503adb2ae Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents: 23616
diff changeset
572 * Returns an array of "PurpleMood"s, with the last one having
29930
9f6a657af957 Allow showing moods for buddies when signed on using an XMPP account not
Marcus Lundblad <ml@update.uu.se>
parents: 29916
diff changeset
573 * "mood" set to @c NULL.
30262
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
574 * @since 2.7.0
29834
1fb503adb2ae Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents: 23616
diff changeset
575 */
1fb503adb2ae Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents: 23616
diff changeset
576 PurpleMood *(*get_moods)(PurpleAccount *account);
30262
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
577
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
578 /**
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
579 * Set the user's "friendly name" (or alias or nickname or
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
580 * whatever term you want to call it) on the server. The
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
581 * protocol plugin should call success_cb or failure_cb
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
582 * *asynchronously* (if it knows immediately that the set will fail,
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
583 * call one of the callbacks from an idle/0-second timeout) depending
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
584 * on if the nickname is set successfully.
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
585 *
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
586 * @param gc The connection for which to set an alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
587 * @param alias The new server-side alias/nickname for this account,
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
588 * or NULL to unset the alias/nickname (or return it to
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
589 * a protocol-specific "default").
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
590 * @param success_cb Callback to be called if the public alias is set
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
591 * @param failure_cb Callback to be called if setting the public alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
592 * fails
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
593 * @see purple_account_set_public_alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
594 * @since 2.7.0
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
595 */
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
596 void (*set_public_alias)(PurpleConnection *gc, const char *alias,
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
597 PurpleSetPublicAliasSuccessCallback success_cb,
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
598 PurpleSetPublicAliasFailureCallback failure_cb);
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
599 /**
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
600 * Retrieve the user's "friendly name" as set on the server.
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
601 * The protocol plugin should call success_cb or failure_cb
30311
ba0571f18075 Fix copy&paste typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
602 * *asynchronously* (even if it knows immediately that the get will fail,
30262
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
603 * call one of the callbacks from an idle/0-second timeout) depending
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
604 * on if the nickname is retrieved.
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
605 *
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
606 * @param gc The connection for which to retireve the alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
607 * @param success_cb Callback to be called with the retrieved alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
608 * @param failure_cb Callback to be called if the prpl is unable to
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
609 * retrieve the alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
610 * @see purple_account_get_public_alias
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
611 * @since 2.7.0
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
612 */
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 30249
diff changeset
613 void (*get_public_alias)(PurpleConnection *gc,
30311
ba0571f18075 Fix copy&paste typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
614 PurpleGetPublicAliasSuccessCallback success_cb,
ba0571f18075 Fix copy&paste typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
615 PurpleGetPublicAliasFailureCallback failure_cb);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
616 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
617
23111
718a9c287839 Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23107
diff changeset
618 #define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \
32493
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32492
diff changeset
619 (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size && \
23111
718a9c287839 Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23107
diff changeset
620 prpl->member != NULL)
718a9c287839 Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23107
diff changeset
621
718a9c287839 Use up the last padding for PurplePluginProtocolInfo in a way that allows
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23107
diff changeset
622
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
623 #define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
624 ((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
625
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
626 #define PURPLE_PLUGIN_PROTOCOL_INFO(plugin) \
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
627 ((PurplePluginProtocolInfo *)(plugin)->info->extra_info)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
628
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
629 #ifdef __cplusplus
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
630 extern "C" {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
631 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
632
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
633 /**************************************************************************/
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
634 /** @name Attention Type API */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
635 /**************************************************************************/
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
636 /*@{*/
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
637
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
638 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
639 * Creates a new #PurpleAttentionType object and sets its mandatory parameters.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
640 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
641 * @param ulname A non-localized string that can be used by UIs in need of such
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
642 * non-localized strings. This should be the same as @a name,
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
643 * without localization.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
644 * @param name A localized string that the UI may display for the event. This
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
645 * should be the same string as @a ulname, with localization.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
646 * @param inc_desc A localized description shown when the event is received.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
647 * @param out_desc A localized description shown when the event is sent.
32479
2c58de59bd57 Hide PurpleAttentionType struct and remove attention @since tags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31849
diff changeset
648 *
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
649 * @return A pointer to the new object.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
650 */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
651 PurpleAttentionType *purple_attention_type_new(const char *ulname, const char *name,
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
652 const char *inc_desc, const char *out_desc);
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
653
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
654 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
655 * Sets the displayed name of the attention-demanding event.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
656 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
657 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
658 * @param name The localized name that will be displayed by UIs. This should be
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
659 * the same string given as the unlocalized name, but with
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
660 * localization.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
661 */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
662 void purple_attention_type_set_name(PurpleAttentionType *type, const char *name);
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
663
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
664 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
665 * Sets the description of the attention-demanding event shown in conversations
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
666 * when the event is received.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
667 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
668 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
669 * @param desc The localized description for incoming events.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
670 */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
671 void purple_attention_type_set_incoming_desc(PurpleAttentionType *type, const char *desc);
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
672
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
673 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
674 * Sets the description of the attention-demanding event shown in conversations
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
675 * when the event is sent.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
676 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
677 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
678 * @param desc The localized description for outgoing events.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
679 */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
680 void purple_attention_type_set_outgoing_desc(PurpleAttentionType *type, const char *desc);
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
681
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
682 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
683 * Sets the name of the icon to display for the attention event; this is optional.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
684 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
685 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
686 * @param name The icon's name.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
687 * @note Icons are optional for attention events.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
688 */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
689 void purple_attention_type_set_icon_name(PurpleAttentionType *type, const char *name);
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
690
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
691 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
692 * Sets the unlocalized name of the attention event; some UIs may need this,
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
693 * thus it is required.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
694 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
695 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
696 * @param ulname The unlocalized name. This should be the same string given as
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
697 * the localized name, but without localization.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
698 */
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
699 void purple_attention_type_set_unlocalized_name(PurpleAttentionType *type, const char *ulname);
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
700
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
701 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
702 * Get the attention type's name as displayed by the UI.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
703 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
704 * @param type The attention type.
32479
2c58de59bd57 Hide PurpleAttentionType struct and remove attention @since tags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31849
diff changeset
705 *
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
706 * @return The name.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
707 */
22122
f55f84a1e3f7 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22097
diff changeset
708 const char *purple_attention_type_get_name(const PurpleAttentionType *type);
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
709
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
710 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
711 * Get the attention type's description shown when the event is received.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
712 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
713 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
714 * @return The description.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
715 */
22122
f55f84a1e3f7 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22097
diff changeset
716 const char *purple_attention_type_get_incoming_desc(const PurpleAttentionType *type);
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
717
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
718 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
719 * Get the attention type's description shown when the event is sent.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
720 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
721 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
722 * @return The description.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
723 */
22122
f55f84a1e3f7 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22097
diff changeset
724 const char *purple_attention_type_get_outgoing_desc(const PurpleAttentionType *type);
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
725
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
726 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
727 * Get the attention type's icon name.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
728 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
729 * @param type The attention type.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
730 * @return The icon name or @c NULL if unset/empty.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
731 * @note Icons are optional for attention events.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
732 */
22122
f55f84a1e3f7 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22097
diff changeset
733 const char *purple_attention_type_get_icon_name(const PurpleAttentionType *type);
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
734
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
735 /**
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
736 * Get the attention type's unlocalized name; this is useful for some UIs.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
737 *
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
738 * @param type The attention type
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
739 * @return The unlocalized name.
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
740 */
22122
f55f84a1e3f7 const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22097
diff changeset
741 const char *purple_attention_type_get_unlocalized_name(const PurpleAttentionType *type);
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
742
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
743 /*@}*/
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
744
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21750
diff changeset
745 /**************************************************************************/
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
746 /** @name Protocol Plugin API */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
747 /**************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
748 /*@{*/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
749
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
750 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
751 * Notifies Purple that our account's idle state and time have changed.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
752 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
753 * This is meant to be called from protocol plugins.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
754 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
755 * @param account The account.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
756 * @param idle The user's idle state.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
757 * @param idle_time The user's idle time.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
758 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
759 void purple_prpl_got_account_idle(PurpleAccount *account, gboolean idle,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
760 time_t idle_time);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
761
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
762 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
763 * Notifies Purple of our account's log-in time.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
764 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
765 * This is meant to be called from protocol plugins.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
766 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
767 * @param account The account the user is on.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
768 * @param login_time The user's log-in time.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
769 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
770 void purple_prpl_got_account_login_time(PurpleAccount *account, time_t login_time);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
771
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
772 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
773 * Notifies Purple that our account's status has changed.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
774 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
775 * This is meant to be called from protocol plugins.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
776 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
777 * @param account The account the user is on.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
778 * @param status_id The status ID.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
779 * @param ... A NULL-terminated list of attribute IDs and values,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
780 * beginning with the value for @a attr_id.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
781 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
782 void purple_prpl_got_account_status(PurpleAccount *account,
18179
72906c5ac037 Add G_GNUC_NULL_TERMINATED to a few functions that expect a NULL terminated
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 18030
diff changeset
783 const char *status_id, ...) G_GNUC_NULL_TERMINATED;
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
784
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
785 /**
26776
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
786 * Notifies Purple that our account's actions have changed. This is only
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
787 * called after the initial connection. Emits the account-actions-changed
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
788 * signal.
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
789 *
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
790 * This is meant to be called from protocol plugins.
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
791 *
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
792 * @param account The account.
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
793 *
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
794 * @see account-actions-changed
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
795 * @since 2.6.0
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
796 */
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
797 void purple_prpl_got_account_actions(PurpleAccount *account);
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
798
83e6e710cbf3 Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
799 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
800 * Notifies Purple that a buddy's idle state and time have changed.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
801 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
802 * This is meant to be called from protocol plugins.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
803 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
804 * @param account The account the user is on.
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
805 * @param name The name of the buddy.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
806 * @param idle The user's idle state.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
807 * @param idle_time The user's idle time. This is the time at
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
808 * which the user became idle, in seconds since
24762
9216da5184a2 Add a comment that 0 should be used when a buddies idle time is unknown
Mark Doliner <mark@kingant.net>
parents: 24635
diff changeset
809 * the epoch. If the PRPL does not know this value
9216da5184a2 Add a comment that 0 should be used when a buddies idle time is unknown
Mark Doliner <mark@kingant.net>
parents: 24635
diff changeset
810 * then it should pass 0.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
811 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
812 void purple_prpl_got_user_idle(PurpleAccount *account, const char *name,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
813 gboolean idle, time_t idle_time);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
814
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
815 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
816 * Notifies Purple of a buddy's log-in time.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
817 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
818 * This is meant to be called from protocol plugins.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
819 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
820 * @param account The account the user is on.
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
821 * @param name The name of the buddy.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
822 * @param login_time The user's log-in time.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
823 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
824 void purple_prpl_got_user_login_time(PurpleAccount *account, const char *name,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
825 time_t login_time);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
826
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
827 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
828 * Notifies Purple that a buddy's status has been activated.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
829 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
830 * This is meant to be called from protocol plugins.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
831 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
832 * @param account The account the user is on.
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
833 * @param name The name of the buddy.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
834 * @param status_id The status ID.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
835 * @param ... A NULL-terminated list of attribute IDs and values,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
836 * beginning with the value for @a attr_id.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
837 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
838 void purple_prpl_got_user_status(PurpleAccount *account, const char *name,
18179
72906c5ac037 Add G_GNUC_NULL_TERMINATED to a few functions that expect a NULL terminated
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 18030
diff changeset
839 const char *status_id, ...) G_GNUC_NULL_TERMINATED;
15524
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
840
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
841 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
842 * Notifies libpurple that a buddy's status has been deactivated
15524
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
843 *
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
844 * This is meant to be called from protocol plugins.
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
845 *
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
846 * @param account The account the user is on.
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
847 * @param name The name of the buddy.
15524
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
848 * @param status_id The status ID.
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
849 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
850 void purple_prpl_got_user_status_deactive(PurpleAccount *account, const char *name,
15524
84b3ab83df35 Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
851 const char *status_id);
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 24762
diff changeset
852
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
853 /**
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
854 * Informs the server that our account's status changed.
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
855 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
856 * @param account The account the user is on.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
857 * @param old_status The previous status.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
858 * @param new_status The status that was activated, or deactivated
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
859 * (in the case of independent statuses).
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
860 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
861 void purple_prpl_change_account_status(PurpleAccount *account,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
862 PurpleStatus *old_status,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
863 PurpleStatus *new_status);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
864
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
865 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
866 * Retrieves the list of stock status types from a prpl.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
867 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
868 * @param account The account the user is on.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
869 * @param presence The presence for which we're going to get statuses
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
870 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
871 * @return List of statuses
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
872 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
873 GList *purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
874
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
875 /**
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
876 * Send an attention request message.
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
877 *
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
878 * @param gc The connection to send the message on.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
879 * @param who Whose attention to request.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
880 * @param type_code An index into the prpl's attention_types list determining the type
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
881 * of the attention request command to send. 0 if prpl only defines one
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
882 * (for example, Yahoo and MSN), but some protocols define more (MySpaceIM).
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
883 *
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
884 * Note that you can't send arbitrary PurpleAttentionType's, because there is
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
885 * only a fixed set of attention commands.
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
886 *
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
887 * @since 2.5.0
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
888 */
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
889 void purple_prpl_send_attention(PurpleConnection *gc, const char *who, guint type_code);
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
890
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
891 /**
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
892 * Process an incoming attention message.
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
893 *
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
894 * @param gc The connection that received the attention message.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
895 * @param who Who requested your attention.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
896 * @param type_code An index into the prpl's attention_types list determining the type
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
897 * of the attention request command to send.
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
898 *
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
899 * @since 2.5.0
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
900 */
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
901 void purple_prpl_got_attention(PurpleConnection *gc, const char *who, guint type_code);
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
902
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
903 /**
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
904 * Process an incoming attention message in a chat.
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
905 *
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
906 * @param gc The connection that received the attention message.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
907 * @param id The chat id.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
908 * @param who Who requested your attention.
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
909 * @param type_code An index into the prpl's attention_types list determining the type
25416
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
910 * of the attention request command to send.
6e1967b0f90b Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents: 25415
diff changeset
911 *
23616
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
912 * @since 2.5.0
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
913 */
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
914 void purple_prpl_got_attention_in_chat(PurpleConnection *gc, int id, const char *who, guint type_code);
49850f7ca393 Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23373
diff changeset
915
25709
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
916 /**
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
917 * Determines if the contact supports the given media session type.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
918 *
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
919 * @param account The account the user is on.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
920 * @param who The name of the contact to check capabilities for.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
921 *
26190
d6e23439b77c Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26062
diff changeset
922 * @return The media caps the contact supports.
25709
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
923 */
26190
d6e23439b77c Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26062
diff changeset
924 PurpleMediaCaps purple_prpl_get_media_caps(PurpleAccount *account,
d6e23439b77c Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26062
diff changeset
925 const char *who);
25709
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
926
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
927 /**
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
928 * Initiates a media session with the given contact.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
929 *
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
930 * @param account The account the user is on.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
931 * @param who The name of the contact to start a session with.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
932 * @param type The type of media session to start.
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
933 *
26447
34eb898478b4 Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26434
diff changeset
934 * @return TRUE if the call succeeded else FALSE. (Doesn't imply the media session or stream will be successfully created)
25709
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
935 */
26447
34eb898478b4 Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26434
diff changeset
936 gboolean purple_prpl_initiate_media(PurpleAccount *account,
25709
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
937 const char *who,
25720
551a462b346a Changed PurpleMediaStreamType to PurpleMediaSessionType.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25719
diff changeset
938 PurpleMediaSessionType type);
25709
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25690
diff changeset
939
29528
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
940 /**
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
941 * Signals that the prpl received capabilities for the given contact.
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
942 *
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
943 * This function is intended to be used only by prpls.
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
944 *
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
945 * @param account The account the user is on.
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
946 * @param who The name of the contact for which capabilities have been received.
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
947 * @since 2.7.0
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
948 */
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
949 void purple_prpl_got_media_caps(PurpleAccount *account, const char *who);
4f14b03a9d50 Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents: 26985
diff changeset
950
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
951 /*@}*/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
952
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
953 /**************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
954 /** @name Protocol Plugin Subsystem API */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
955 /**************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
956 /*@{*/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
957
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
958 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
959 * Finds a protocol plugin structure of the specified type.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
960 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
961 * @param id The protocol plugin;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
962 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15524
diff changeset
963 PurplePlugin *purple_find_prpl(const char *id);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
964
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
965 /*@}*/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
966
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
967 #ifdef __cplusplus
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
968 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
969 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
970
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
971 #endif /* _PRPL_H_ */