libgaim/notify.h

Sun, 20 May 2007 06:19:49 +0000

author
William Ehlhardt <williamehlhardt@gmail.com>
date
Sun, 20 May 2007 06:19:49 +0000
branch
gaim
changeset 20470
77693555855f
parent 12647
src/notify.h@b00d9913117e
parent 15328
src/notify.h@113b0b520010
child 20471
1966704b3e42
permissions
-rw-r--r--

merge of 'b98e72d4089afb8a1879e5fe9627cfb132ee88de'
and 'b2836a24d81e7a1bd1d21b3aea8794b094391344'

5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file notify.h Notification API
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7035
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7035
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7035
diff changeset
9 * source distribution.
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
10 *
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 #ifndef _GAIM_NOTIFY_H_
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 #define _GAIM_NOTIFY_H_
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 #include <stdlib.h>
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 #include <glib-object.h>
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 #include <glib.h>
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
32 typedef struct _GaimNotifyUserInfoEntry GaimNotifyUserInfoEntry;
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
33 typedef struct _GaimNotifyUserInfo GaimNotifyUserInfo;
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
34
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
35 #include "connection.h"
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
36
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 /**
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
38 * Notification close callbacks.
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
39 */
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
40 typedef void (*GaimNotifyCloseCallback) (gpointer user_data);
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
41
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
42
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
43 /**
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 * Notification types.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 typedef enum
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 {
10439
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
48 GAIM_NOTIFY_MESSAGE = 0, /**< Message notification. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
49 GAIM_NOTIFY_EMAIL, /**< Single e-mail notification. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
50 GAIM_NOTIFY_EMAILS, /**< Multiple e-mail notification. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
51 GAIM_NOTIFY_FORMATTED, /**< Formatted text. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
52 GAIM_NOTIFY_SEARCHRESULTS, /**< Buddy search results. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
53 GAIM_NOTIFY_USERINFO, /**< Formatted userinfo text. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
54 GAIM_NOTIFY_URI /**< URI notification or display. */
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 } GaimNotifyType;
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
58
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 * Notification message types.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 typedef enum
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 {
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 GAIM_NOTIFY_MSG_ERROR = 0, /**< Error notification. */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 GAIM_NOTIFY_MSG_WARNING, /**< Warning notification. */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 GAIM_NOTIFY_MSG_INFO /**< Information notification. */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 } GaimNotifyMsgType;
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
70
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 /**
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
72 * The types of buttons
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
73 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
74 typedef enum
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
75 {
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
76 GAIM_NOTIFY_BUTTON_LABELED = 0, /**< special use, see _button_add_labeled */
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
77 GAIM_NOTIFY_BUTTON_CONTINUE = 1,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
78 GAIM_NOTIFY_BUTTON_ADD,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
79 GAIM_NOTIFY_BUTTON_INFO,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
80 GAIM_NOTIFY_BUTTON_IM,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
81 GAIM_NOTIFY_BUTTON_JOIN,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
82 GAIM_NOTIFY_BUTTON_INVITE
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
83 } GaimNotifySearchButtonType;
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
84
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
85
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
86 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
87 * Search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
88 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
89 typedef struct
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
90 {
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
91 GList *columns; /**< List of the search column objects. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
92 GList *rows; /**< List of rows in the result. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
93 GList *buttons; /**< List of buttons to display. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
94
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
95 } GaimNotifySearchResults;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
96
15211
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
97 /**
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
98 * Types of GaimNotifyUserInfoEntry objects
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
99 */
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
100 typedef enum
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
101 {
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
102 GAIM_NOTIFY_USER_INFO_ENTRY_PAIR = 0,
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
103 GAIM_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK,
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
104 GAIM_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER
bb75b7bc10a8 [gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents: 15205
diff changeset
105 } GaimNotifyUserInfoEntryType;
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
106
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
107 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
108 * Single column of a search result.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
109 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
110 typedef struct
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
111 {
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
112 char *title; /**< Title of the column. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
113
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
114 } GaimNotifySearchColumn;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
115
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
116
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
117 /**
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
118 * Callback for a button in a search result.
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
119 *
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
120 * @param c the GaimConnection passed to gaim_notify_searchresults
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
121 * @param row the contents of the selected row
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
122 * @param user_data User defined data.
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
123 */
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
124 typedef void (*GaimNotifySearchResultsCallback)(GaimConnection *c, GList *row,
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
125 gpointer user_data);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
126
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
127
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
128 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
129 * Definition of a button.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
130 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
131 typedef struct
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
132 {
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
133 GaimNotifySearchButtonType type;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
134 GaimNotifySearchResultsCallback callback; /**< Function to be called when clicked. */
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
135 char *label; /**< only for GAIM_NOTIFY_BUTTON_LABELED */
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
136 } GaimNotifySearchButton;
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
137
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
138
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
139 /**
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140 * Notification UI operations.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142 typedef struct
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143 {
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144 void *(*notify_message)(GaimNotifyMsgType type, const char *title,
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
145 const char *primary, const char *secondary);
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
146
12647
b00d9913117e [gaim-migrate @ 14985]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12625
diff changeset
147 void *(*notify_email)(GaimConnection *gc,
b00d9913117e [gaim-migrate @ 14985]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12625
diff changeset
148 const char *subject, const char *from,
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
149 const char *to, const char *url);
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
150
12647
b00d9913117e [gaim-migrate @ 14985]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12625
diff changeset
151 void *(*notify_emails)(GaimConnection *gc,
b00d9913117e [gaim-migrate @ 14985]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12625
diff changeset
152 size_t count, gboolean detailed,
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
153 const char **subjects, const char **froms,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
154 const char **tos, const char **urls);
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
155
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
156 void *(*notify_formatted)(const char *title, const char *primary,
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
157 const char *secondary, const char *text);
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
158
10439
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
159 void *(*notify_searchresults)(GaimConnection *gc, const char *title,
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
160 const char *primary, const char *secondary,
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
161 GaimNotifySearchResults *results, gpointer user_data);
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
162
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
163 void (*notify_searchresults_new_rows)(GaimConnection *gc,
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
164 GaimNotifySearchResults *results,
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
165 void *data);
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
166
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
167 void *(*notify_userinfo)(GaimConnection *gc, const char *who,
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
168 GaimNotifyUserInfo *user_info);
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
169
10240
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
170 void *(*notify_uri)(const char *uri);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171
5476
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
172 void (*close_notify)(GaimNotifyType type, void *ui_handle);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
174 } GaimNotifyUiOps;
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
176
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
177 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
178 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
179 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
180
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
181
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182 /**************************************************************************/
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
183 /** Search results notification API */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
184 /**************************************************************************/
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
185 /*@{*/
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
186
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
187 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
188 * Displays results from a buddy search. This can be, for example,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
189 * a window with a list of all found buddies, where you are given the
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
190 * option of adding buddies to your buddy list.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
191 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
192 * @param gc The GaimConnection handle associated with the information.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
193 * @param title The title of the message. If this is NULL, the title
12259
23c20f8ffbef [gaim-migrate @ 14561]
Richard Laager <rlaager@pidgin.im>
parents: 12257
diff changeset
194 * will be "Search Results."
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
195 * @param primary The main point of the message.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
196 * @param secondary The secondary information.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
197 * @param results The GaimNotifySearchResults instance.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
198 * @param cb The callback to call when the user closes
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
199 * the notification.
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
200 * @param user_data The data to pass to the close callback and any other
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
201 * callback associated with a button.
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
202 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
203 * @return A UI-specific handle.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
204 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
205 void *gaim_notify_searchresults(GaimConnection *gc, const char *title,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
206 const char *primary, const char *secondary,
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
207 GaimNotifySearchResults *results, GaimNotifyCloseCallback cb,
12220
2eecc6f28334 [gaim-migrate @ 14522]
Bartosz Oler <bartosz@pidgin.im>
parents: 12129
diff changeset
208 gpointer user_data);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
209
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
210 void gaim_notify_searchresults_free(GaimNotifySearchResults *results);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
211
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
212 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
213 * Replace old rows with the new. Reuse an existing window.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
214 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
215 * @param gc The GaimConnection structure.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
216 * @param results The GaimNotifySearchResults structure.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
217 * @param data Data returned by the gaim_notify_searchresults().
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
218 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
219 void gaim_notify_searchresults_new_rows(GaimConnection *gc,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
220 GaimNotifySearchResults *results,
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 12647
diff changeset
221 void *data);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
222
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
223
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
224 /**
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
225 * Adds a stock button that will be displayed in the search results dialog.
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
226 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
227 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
228 * @param type Type of the button. (TODO: Only one button of a given type can be displayed.)
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
229 * @param cb Function that will be called on the click event.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
230 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
231 void gaim_notify_searchresults_button_add(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
232 GaimNotifySearchButtonType type,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
233 GaimNotifySearchResultsCallback cb);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
234
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
235
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
236 /**
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
237 * Adds a plain labelled button that will be displayed in the search results dialog.
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
238 *
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
239 * @param results The search results object
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
240 * @param label The label to display
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
241 * @param cb Function that will be called on the click event
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
242 */
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
243 void gaim_notify_searchresults_button_add_labeled(GaimNotifySearchResults *results,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
244 const char *label,
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
245 GaimNotifySearchResultsCallback cb);
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
246
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12323
diff changeset
247
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
248 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
249 * Returns a newly created search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
250 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
251 * @return The new search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
252 */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 12259
diff changeset
253 GaimNotifySearchResults *gaim_notify_searchresults_new(void);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
254
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
255 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
256 * Returns a newly created search result column object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
257 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
258 * @param title Title of the column. NOTE: Title will get g_strdup()ed.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
259 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
260 * @return The new search column object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
261 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
262 GaimNotifySearchColumn *gaim_notify_searchresults_column_new(const char *title);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
263
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
264 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
265 * Adds a new column to the search result object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
266 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
267 * @param results The result object to which the column will be added.
11501
a8fc92026134 [gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents: 11359
diff changeset
268 * @param column The column that will be added to the result object.
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
269 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
270 void gaim_notify_searchresults_column_add(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
271 GaimNotifySearchColumn *column);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
272
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
273 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
274 * Adds a new row of the results to the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
275 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
276 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
277 * @param row The row of the results.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
278 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
279 void gaim_notify_searchresults_row_add(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
280 GList *row);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
281
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
282 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
283 * Returns a number of the rows in the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
284 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
285 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
286 *
12257
bc979ba39363 [gaim-migrate @ 14559]
Bartosz Oler <bartosz@pidgin.im>
parents: 12242
diff changeset
287 * @return Number of the result rows.
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
288 */
12257
bc979ba39363 [gaim-migrate @ 14559]
Bartosz Oler <bartosz@pidgin.im>
parents: 12242
diff changeset
289 guint gaim_notify_searchresults_get_rows_count(GaimNotifySearchResults *results);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
290
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
291 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
292 * Returns a number of the columns in the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
293 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
294 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
295 *
12257
bc979ba39363 [gaim-migrate @ 14559]
Bartosz Oler <bartosz@pidgin.im>
parents: 12242
diff changeset
296 * @return Number of the columns.
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
297 */
12257
bc979ba39363 [gaim-migrate @ 14559]
Bartosz Oler <bartosz@pidgin.im>
parents: 12242
diff changeset
298 guint gaim_notify_searchresults_get_columns_count(GaimNotifySearchResults *results);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
299
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
300 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
301 * Returns a row of the results from the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
302 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
303 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
304 * @param row_id Index of the row to be returned.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
305 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
306 * @return Row of the results.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
307 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
308 GList *gaim_notify_searchresults_row_get(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
309 unsigned int row_id);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
310
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
311 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
312 * Returns a title of the search results object's column.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
313 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
314 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
315 * @param column_id Index of the column.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
316 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
317 * @return Title of the column.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
318 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
319 char *gaim_notify_searchresults_column_get_title(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
320 unsigned int column_id);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
321
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
322 /*@}*/
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
323
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
324 /**************************************************************************/
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 /** @name Notification API */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
326 /**************************************************************************/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
327 /*@{*/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
329 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
330 * Displays a notification message to the user.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
331 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 * @param handle The plugin or connection handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333 * @param type The notification type.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334 * @param title The title of the message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
335 * @param primary The main point of the message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
336 * @param secondary The secondary information.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337 * @param cb The callback to call when the user closes
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
338 * the notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339 * @param user_data The data to pass to the callback.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
341 * @return A UI-specific handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
342 */
6356
27990c4f9a9f [gaim-migrate @ 6855]
Christian Hammond <chipx86@chipx86.com>
parents: 5944
diff changeset
343 void *gaim_notify_message(void *handle, GaimNotifyMsgType type,
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
344 const char *title, const char *primary,
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
345 const char *secondary, GaimNotifyCloseCallback cb,
12220
2eecc6f28334 [gaim-migrate @ 14522]
Bartosz Oler <bartosz@pidgin.im>
parents: 12129
diff changeset
346 gpointer user_data);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
348 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
349 * Displays a single e-mail notification to the user.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
350 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 * @param handle The plugin or connection handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
352 * @param subject The subject of the e-mail.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
353 * @param from The from address.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
354 * @param to The destination address.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355 * @param url The URL where the message can be read.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356 * @param cb The callback to call when the user closes
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
357 * the notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358 * @param user_data The data to pass to the callback.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
360 * @return A UI-specific handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
361 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
362 void *gaim_notify_email(void *handle, const char *subject,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
363 const char *from, const char *to,
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
364 const char *url, GaimNotifyCloseCallback cb,
12220
2eecc6f28334 [gaim-migrate @ 14522]
Bartosz Oler <bartosz@pidgin.im>
parents: 12129
diff changeset
365 gpointer user_data);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
366
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
367 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
368 * Displays a notification for multiple e-mails to the user.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
369 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
370 * @param handle The plugin or connection handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
371 * @param count The number of e-mails.
5522
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
372 * @param detailed @c TRUE if there is information for each e-mail in the
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
373 * arrays.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
374 * @param subjects The array of subjects.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375 * @param froms The array of from addresses.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 * @param tos The array of destination addresses.
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6467
diff changeset
377 * @param urls The URLs where the messages can be read.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
378 * @param cb The callback to call when the user closes
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379 * the notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380 * @param user_data The data to pass to the callback.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
381 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 * @return A UI-specific handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383 */
5522
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
384 void *gaim_notify_emails(void *handle, size_t count, gboolean detailed,
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
385 const char **subjects, const char **froms,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
386 const char **tos, const char **urls,
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
387 GaimNotifyCloseCallback cb, gpointer user_data);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389 /**
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
390 * Displays a notification with formatted text.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
391 *
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
392 * The text is essentially a stripped-down format of HTML, the same that
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
393 * IMs may send.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
394 *
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
395 * @param handle The plugin or connection handle.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
396 * @param title The title of the message.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
397 * @param primary The main point of the message.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
398 * @param secondary The secondary information.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
399 * @param text The formatted text.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
400 * @param cb The callback to call when the user closes
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
401 * the notification.
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6467
diff changeset
402 * @param user_data The data to pass to the callback.
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
403 *
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
404 * @return A UI-specific handle.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
405 */
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
406 void *gaim_notify_formatted(void *handle, const char *title,
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
407 const char *primary, const char *secondary,
12242
e7fc1748eb56 [gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents: 12220
diff changeset
408 const char *text, GaimNotifyCloseCallback cb, gpointer user_data);
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
409
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
410 /**
9800
1115830011b8 [gaim-migrate @ 10668]
Mark Doliner <markdoliner@pidgin.im>
parents: 9797
diff changeset
411 * Displays user information with formatted text, passing information giving
1115830011b8 [gaim-migrate @ 10668]
Mark Doliner <markdoliner@pidgin.im>
parents: 9797
diff changeset
412 * the connection and username from which the user information came.
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
413 *
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
414 * The text is essentially a stripped-down format of HTML, the same that
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
415 * IMs may send.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
416 *
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
417 * @param gc The GaimConnection handle associated with the information.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
418 * @param who The username associated with the information.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
419 * @param user_info The GaimNotifyUserInfo which contains the information
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
420 * @param cb The callback to call when the user closes
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
421 * the notification.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
422 * @param user_data The data to pass to the callback.
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
423 *
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
424 * @return A UI-specific handle.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
425 */
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
426 void *gaim_notify_userinfo(GaimConnection *gc, const char *who,
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
427 GaimNotifyUserInfo *user_info, GaimNotifyCloseCallback cb,
12220
2eecc6f28334 [gaim-migrate @ 14522]
Bartosz Oler <bartosz@pidgin.im>
parents: 12129
diff changeset
428 gpointer user_data);
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
429
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
430 /**
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
431 * Create a new GaimNotifyUserInfo which is suitable for passing to gaim_notify_userinfo()
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
432 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
433 * @return A new GaimNotifyUserInfo, which the caller must destroy when done
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
434 */
15215
3b4c0490b8b0 [gaim-migrate @ 17939]
Mark Doliner <markdoliner@pidgin.im>
parents: 15211
diff changeset
435 GaimNotifyUserInfo *gaim_notify_user_info_new(void);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
436
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
437 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
438 * Destroy a GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
439 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
440 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
441 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
442 void gaim_notify_user_info_destroy(GaimNotifyUserInfo *user_info);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
443
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
444 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
445 * Retrieve the array of GaimNotifyUserInfoEntry objects from a GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
446 *
15325
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
447 * This GList may be manipulated directly with normal GList functions such as g_list_insert(). Only
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
448 * GaimNotifyUserInfoEntry are allowed in the list. If a GaimNotifyUserInfoEntry item is added to the list,
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
449 * it should not be g_free()'d by the caller; GaimNotifyUserInfo will g_free it when destroyed.
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
450 *
15328
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
451 * To remove a GaimNotifyUserInfoEntry, use gaim_notify_user_info_remove_entry(). Do not use the GList directly.
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
452 *
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
453 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
454 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
455 * @result A GList of GaimNotifyUserInfoEntry objects
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
456 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
457 GList *gaim_notify_user_info_get_entries(GaimNotifyUserInfo *user_info);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
458
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
459 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
460 * Create a textual representation of a GaimNotifyUserInfo, separating entries with newline
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
461 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
462 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
463 * @param newline The separation character
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
464 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
465 char *gaim_notify_user_info_get_text_with_newline(GaimNotifyUserInfo *user_info, const char *newline);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
466
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
467 /**
15328
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
468 * Add a label/value pair to a GaimNotifyUserInfo object.
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
469 * GaimNotifyUserInfo keeps track of the order in which pairs are added.
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
470 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
471 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
472 * @param label A label, which for example might be displayed by a UI with a colon after it ("Status:"). Do not include a colon.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
473 * If NULL, value will be displayed without a label.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
474 * @param value The value, which might be displayed by a UI after the label.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
475 * If NULL, label will still be displayed; the UI should then treat label as independent
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
476 * and not include a colon if it would otherwise.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
477 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
478 void gaim_notify_user_info_add_pair(GaimNotifyUserInfo *user_info, const char *label, const char *value);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
479
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
480 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
481 * Prepend a label/value pair to a GaimNotifyUserInfo object
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
482 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
483 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
484 * @param label A label, which for example might be displayed by a UI with a colon after it ("Status:"). Do not include a colon.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
485 * If NULL, value will be displayed without a label.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
486 * @param value The value, which might be displayed by a UI after the label.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
487 * If NULL, label will still be displayed; the UI should then treat label as independent
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
488 * and not include a colon if it would otherwise.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
489 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
490 void gaim_notify_user_info_prepend_pair(GaimNotifyUserInfo *user_info, const char *label, const char *value);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
491
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
492 /**
15328
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
493 * Remove a GaimNotifyUserInfoEntry from a GaimNotifyUserInfo object
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
494 *
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
495 * @param user_info The GaimNotifyUserInfo
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
496 * @param user_info_entry The GaimNotifyUserInfoEntry
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
497 */
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
498 void gaim_notify_user_info_remove_entry(GaimNotifyUserInfo *user_info, GaimNotifyUserInfoEntry *user_info_entry);
113b0b520010 [gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents: 15325
diff changeset
499 /**
15325
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
500 * Create a new GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
501 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
502 * If added to a GaimNotifyUserInfo object, this should not be free()'d, as GaimNotifyUserInfo will do so
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
503 * when destroyed. gaim_notify_user_info_add_pair() and gaim_notify_user_info_prepend_pair() are convenience
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
504 * methods for creating entries and adding them to a GaimNotifyUserInfo.
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
505 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
506 * @param label A label, which for example might be displayed by a UI with a colon after it ("Status:"). Do not include a colon.
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
507 * If NULL, value will be displayed without a label.
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
508 * @param value The value, which might be displayed by a UI after the label.
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
509 * If NULL, label will still be displayed; the UI should then treat label as independent
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
510 * and not include a colon if it would otherwise.
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
511 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
512 * @result A new GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
513 */
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
514 GaimNotifyUserInfoEntry *gaim_notify_user_info_entry_new(const char *label, const char *value);
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
515
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
516 /**
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
517 * Add a section break. A UI might display this as a horizontal line.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
518 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
519 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
520 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
521 void gaim_notify_user_info_add_section_break(GaimNotifyUserInfo *user_info);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
522
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
523 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
524 * Add a section header. A UI might display this in a different font from other text.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
525 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
526 * @param user_info The GaimNotifyUserInfo
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
527 * @param label The name of the section
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
528 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
529 void gaim_notify_user_info_add_section_header(GaimNotifyUserInfo *user_info, const char *label);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
530
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
531 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
532 * Remove the last item which was added to a GaimNotifyUserInfo. This could be used to remove a section header which is not needed.
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
533 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
534 void gaim_notify_user_info_remove_last_item(GaimNotifyUserInfo *user_info);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
535
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
536 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
537 * Get the label for a GaimNotifyUserInfoEntry
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
538 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
539 * @param user_info_entry The GaimNotifyUserInfoEntry
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
540 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
541 * @result The label
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
542 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
543 gchar *gaim_notify_user_info_entry_get_label(GaimNotifyUserInfoEntry *user_info_entry);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
544
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
545 /**
15325
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
546 * Set the label for a GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
547 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
548 * @param user_info_entry The GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
549 * @param label The label
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
550 */
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
551 void gaim_notify_user_info_entry_set_label(GaimNotifyUserInfoEntry *user_info_entry, const char *label);
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
552
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
553 /**
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
554 * Get the value for a GaimNotifyUserInfoEntry
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
555 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
556 * @param user_info_entry The GaimNotifyUserInfoEntry
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
557 *
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
558 * @result The value
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
559 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
560 gchar *gaim_notify_user_info_entry_get_value(GaimNotifyUserInfoEntry *user_info_entry);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
561
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 14254
diff changeset
562 /**
15325
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
563 * Set the value for a GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
564 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
565 * @param user_info_entry The GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
566 * @param value The value
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
567 */
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
568 void gaim_notify_user_info_entry_set_value(GaimNotifyUserInfoEntry *user_info_entry, const char *value);
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
569
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
570
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
571 /**
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
572 * Get the type of a GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
573 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
574 * @param user_info_entry The GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
575 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
576 * @result The GaimNotifyUserInfoEntryType
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
577 */
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
578 GaimNotifyUserInfoEntryType gaim_notify_user_info_entry_get_type(GaimNotifyUserInfoEntry *user_info_entry);
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
579
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
580 /**
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
581 * Set the type of a GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
582 *
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
583 * @param user_info_entry The GaimNotifyUserInfoEntry
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
584 * @param The GaimNotifyUserInfoEntryType
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
585 */
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
586 void gaim_notify_user_info_entry_set_type(GaimNotifyUserInfoEntry *user_info_entry,
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
587 GaimNotifyUserInfoEntryType type);
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
588
d1dcb41d845b [gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents: 15215
diff changeset
589 /**
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
590 * Opens a URI or somehow presents it to the user.
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
591 *
10240
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
592 * @param handle The plugin or connection handle.
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
593 * @param uri The URI to display or go to.
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
594 *
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
595 * @return A UI-specific handle, if any. This may only be presented if
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
596 * the UI code displays a dialog instead of a webpage, or something
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
597 * similar.
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
598 */
10240
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
599 void *gaim_notify_uri(void *handle, const char *uri);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
600
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
601 /**
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
602 * Closes a notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604 * This should be used only by the UI operation functions and part of the
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
605 * core.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
606 *
5476
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
607 * @param type The notification type.
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
608 * @param ui_handle The notification UI handle.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
609 */
5476
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
610 void gaim_notify_close(GaimNotifyType type, void *ui_handle);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
611
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
612 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
613 * Closes all notifications registered with the specified handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
614 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
615 * @param handle The handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
616 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
617 void gaim_notify_close_with_handle(void *handle);
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
618
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
619 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
620 * A wrapper for gaim_notify_message that displays an information message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
621 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
622 #define gaim_notify_info(handle, title, primary, secondary) \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
623 gaim_notify_message((handle), GAIM_NOTIFY_MSG_INFO, (title), \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
624 (primary), (secondary), NULL, NULL)
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
626 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
627 * A wrapper for gaim_notify_message that displays a warning message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
628 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
629 #define gaim_notify_warning(handle, title, primary, secondary) \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
630 gaim_notify_message((handle), GAIM_NOTIFY_MSG_WARNING, (title), \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
631 (primary), (secondary), NULL, NULL)
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
632
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
633 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
634 * A wrapper for gaim_notify_message that displays an error message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
635 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
636 #define gaim_notify_error(handle, title, primary, secondary) \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
637 gaim_notify_message((handle), GAIM_NOTIFY_MSG_ERROR, (title), \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
638 (primary), (secondary), NULL, NULL)
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
639
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
640 /*@}*/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
641
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
642 /**************************************************************************/
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10443
diff changeset
643 /** @name UI Registration Functions */
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
644 /**************************************************************************/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
645 /*@{*/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
646
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
647 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
648 * Sets the UI operations structure to be used when displaying a
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
649 * notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
650 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
651 * @param ops The UI operations structure.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
652 */
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
653 void gaim_notify_set_ui_ops(GaimNotifyUiOps *ops);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
654
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
655 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
656 * Returns the UI operations structure to be used when displaying a
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
657 * notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
658 *
6467
754d318cac4a [gaim-migrate @ 6976]
Christian Hammond <chipx86@chipx86.com>
parents: 6465
diff changeset
659 * @return The UI operations structure.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
660 */
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
661 GaimNotifyUiOps *gaim_notify_get_ui_ops(void);
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
662
5497
da3c08f3af25 [gaim-migrate @ 5893]
Mark Doliner <markdoliner@pidgin.im>
parents: 5476
diff changeset
663 /*@}*/
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
664
12129
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
665 /**************************************************************************/
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
666 /** @name Notify Subsystem */
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
667 /**************************************************************************/
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
668 /*@{*/
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
669
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
670 /**
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
671 * Returns the notify subsystem handle.
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
672 *
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
673 * @return The notify subsystem handle.
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
674 */
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
675 void *gaim_notify_get_handle(void);
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
676
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
677 /**
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
678 * Initializes the notify subsystem.
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
679 */
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
680 void gaim_notify_init(void);
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
681
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
682 /**
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
683 * Uninitializes the notify subsystem.
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
684 */
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
685 void gaim_notify_uninit(void);
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
686
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
687 /*@}*/
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
688
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 11533
diff changeset
689
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
690 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
691 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
692 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
693
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
694 #endif /* _GAIM_NOTIFY_H_ */

mercurial