src/notify.h

Wed, 16 Nov 2005 18:17:01 +0000

author
Casey Harkins <charkins@pidgin.im>
date
Wed, 16 Nov 2005 18:17:01 +0000
changeset 12116
17bf39d2678f
parent 11533
f58436975d44
child 12129
314cd0274e6a
permissions
-rw-r--r--

[gaim-migrate @ 14416]
" This patch implements a replacement for the queuing
system from 1.x. It also obsoletes a previous patch
[#1338873] I submitted to prioritize the unseen states
in gtk conversations.

The attached envelope.png is ripped from the
msgunread.png already included in gaim. It should be
dropped in the pixmaps directory (Makefile.am is
updated accordingly in this patch).

The two separate queuing preferences from 1.x, queuing
messages while away and queuing all new messages (from
docklet), are replaced with a single 3-way preference
for conversations. The new preference is "Hide new IM
conversations". This preference can be set to never,
away and always.

When a gtk conversation is created, it may be placed in
a hidden conversation window instead of being placed
normally. This decision is based upon the preference
and possibly the away state of the account the
conversation is being created for. This *will* effect
conversations the user explicitly requests to be
created, so in these cases the caller must be sure to
present the conversation to the user, using
gaim_gtkconv_present_conversation(). This is done
already in gtkdialogs.c which handles creating
conversations requested by the user from gaim proper
(menus, double-clicking on budy in blist, etc.).

The main advantage to not queuing messages is that the
conversations exist, the message is written to the
conversation (and logged if appropriate) and the unseen
state is set on the conversation. This means no
additional features are needed to track whether there
are queued messages or not, just use the unseen state
on conversations.

Since conversations may not be visible (messages
"queued"), gaim proper needs some notification that
there are messages waiting. I opted for a menutray icon
that shows up when an im conversation has an unseen
message. Clicking this icon will focus (and show if
hidden) the first conversation with an unseen message.
This is essentially the same behavior of the docklet in
cvs right now, except that the icon is only visible
when there is a conversation with an unread message.

The api that is added is flexible enough to allow
either the docklet or the new blist menutray icon to be
visible for conversations of any/all types and for
unseen messages >= any state. Currently they are set to
only IM conversations and only unseen states >= TEXT
(system messages and no log messages will not trigger
blinking the docklet or showing the blist tray icon),
but these could be made preferences relatively easily
in the future. Other plugins could probably benefit as
well: gaim_gtk_conversations_get_first_unseen().

There is probably some limit to comment size, so I'll
stop rambling now. If anyone has more
questions/comments, catch me in #gaim, here or on
gaim-devel."

committer: Luke Schierer <lschiere@pidgin.im>

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
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
32 #include "connection.h"
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
33
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 * Notification types.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 typedef enum
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 {
10439
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
39 GAIM_NOTIFY_MESSAGE = 0, /**< Message notification. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
40 GAIM_NOTIFY_EMAIL, /**< Single e-mail notification. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
41 GAIM_NOTIFY_EMAILS, /**< Multiple e-mail notification. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
42 GAIM_NOTIFY_FORMATTED, /**< Formatted text. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
43 GAIM_NOTIFY_SEARCHRESULTS, /**< Buddy search results. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
44 GAIM_NOTIFY_USERINFO, /**< Formatted userinfo text. */
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
45 GAIM_NOTIFY_URI /**< URI notification or display. */
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 } GaimNotifyType;
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 * Notification message types.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 typedef enum
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 {
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 GAIM_NOTIFY_MSG_ERROR = 0, /**< Error notification. */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 GAIM_NOTIFY_MSG_WARNING, /**< Warning notification. */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 GAIM_NOTIFY_MSG_INFO /**< Information notification. */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 } GaimNotifyMsgType;
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 /**
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
61 * The types of buttons
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
62 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
63 typedef enum
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
64 {
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
65 GAIM_NOTIFY_BUTTON_CONTINUE = 0,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
66 GAIM_NOTIFY_BUTTON_ADD_BUDDY
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
67
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
68 } GaimNotifySearchButtonType;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
69
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
70 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
71 * Search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
72 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
73 typedef struct
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
74 {
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
75 GList *columns; /**< List of the search column objects. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
76 GList *rows; /**< List of rows in the result. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
77 GList *buttons; /**< List of buttons to display. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
78
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
79 } GaimNotifySearchResults;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
80
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
81 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
82 * Single column of a search result.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
83 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
84 typedef struct
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 char *title; /**< Title of the column. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
87
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
88 } GaimNotifySearchColumn;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
89
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
90 typedef void (*GaimNotifySearchResultsCallback)(GaimConnection *, GList *);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
91
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
92
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
93 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
94 * Definition of a button.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
95 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
96 typedef struct
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
97 {
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
98 GaimNotifySearchButtonType type;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
99 GaimNotifySearchResultsCallback callback; /**< Function to be called when clicked. */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
100
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
101 } GaimNotifySearchButton;
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
102
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
103 /**
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 * Notification UI operations.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
106 typedef struct
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
107 {
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
108 void *(*notify_message)(GaimNotifyMsgType type, const char *title,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 const char *primary, const char *secondary,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110 GCallback cb, void *user_data);
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111 void *(*notify_email)(const char *subject, const char *from,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
112 const char *to, const char *url,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
113 GCallback cb, void *user_data);
5522
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
114 void *(*notify_emails)(size_t count, gboolean detailed,
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
115 const char **subjects, const char **froms,
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
116 const char **tos, const char **urls,
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
117 GCallback cb, void *user_data);
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
118 void *(*notify_formatted)(const char *title, const char *primary,
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
119 const char *secondary, const char *text,
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
120 GCallback cb, void *user_data);
10439
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
121 void *(*notify_searchresults)(GaimConnection *gc, const char *title,
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
122 const char *primary, const char *secondary,
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
123 GaimNotifySearchResults *results, GCallback cb,
10439
5868d8f55fb1 [gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents: 10240
diff changeset
124 void *user_data);
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
125 void (*notify_searchresults_new_rows)(GaimConnection *gc,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
126 GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
127 void *data, void *user_data);
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
128 void *(*notify_userinfo)(GaimConnection *gc, const char *who,
11533
f58436975d44 [gaim-migrate @ 13782]
Richard Laager <rlaager@pidgin.im>
parents: 11531
diff changeset
129 const char *text,
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
130 GCallback cb, void *user_data);
10240
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
131 void *(*notify_uri)(const char *uri);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132
5476
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
133 void (*close_notify)(GaimNotifyType type, void *ui_handle);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
135 } GaimNotifyUiOps;
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
137 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
138 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
139 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
140
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141 /**************************************************************************/
11359
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
142 /** Search results notification API */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
143 /**************************************************************************/
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
144 /*@{*/
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
145
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
146 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
147 * Displays results from a buddy search. This can be, for example,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
148 * 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
149 * option of adding buddies to your buddy list.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
150 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
151 * @param gc The GaimConnection handle associated with the information.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
152 * @param title The title of the message. If this is NULL, the title
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
153 * will be "Search Results."
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
154 * @param primary The main point of the message.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
155 * @param secondary The secondary information.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
156 * @param results The GaimNotifySearchResults instance.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
157 * @param cb The callback to call when the user closes
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
158 * the notification.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
159 * @param user_data The data to pass to the callback.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
160 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
161 * @return A UI-specific handle.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
162 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
163 void *gaim_notify_searchresults(GaimConnection *gc, const char *title,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
164 const char *primary, const char *secondary,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
165 GaimNotifySearchResults *results, GCallback cb,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
166 void *user_data);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
167
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
168 void gaim_notify_searchresults_free(GaimNotifySearchResults *results);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
169
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
170 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
171 * Replace old rows with the new. Reuse an existing window.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
172 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
173 * @param gc The GaimConnection structure.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
174 * @param results The GaimNotifySearchResults structure.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
175 * @param data Data returned by the gaim_notify_searchresults().
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
176 * @param user_data User defined data.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
177 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
178 void gaim_notify_searchresults_new_rows(GaimConnection *gc,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
179 GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
180 void *data, void *user_data);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
181
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
182 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
183 * Adds a button that will be displayed in the search results dialog.
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 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
186 * @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
187 * @param cb Function that will be called on the click event.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
188 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
189 void gaim_notify_searchresults_button_add(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
190 GaimNotifySearchButtonType type,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
191 GaimNotifySearchResultsCallback cb);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
192
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
193 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
194 * Returns a newly created search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
195 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
196 * @return The new search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
197 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
198 GaimNotifySearchResults *gaim_notify_searchresults_new();
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
199
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
200 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
201 * Returns a newly created search result column object.
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 * @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
204 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
205 * @return The new search column object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
206 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
207 GaimNotifySearchColumn *gaim_notify_searchresults_column_new(const char *title);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
208
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 * Adds a new column to the search result object.
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 * @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
213 * @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
214 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
215 void gaim_notify_searchresults_column_add(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
216 GaimNotifySearchColumn *column);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
217
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 * 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
220 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
221 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
222 * @param row The row of the results.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
223 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
224 void gaim_notify_searchresults_row_add(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
225 GList *row);
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 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
228 * Returns a number of the rows in the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
229 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
230 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
231 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
232 * @return Number of the result rows. Or -1 if an error occurrs.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
233 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
234 int gaim_notify_searchresults_get_rows_count(GaimNotifySearchResults *results);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
235
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
236 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
237 * Returns a number of the columns in the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
238 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
239 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
240 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
241 * @return Number of the columns. Or -1 if an error occurrs.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
242 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
243 int gaim_notify_searchresults_get_columns_count(GaimNotifySearchResults *results);
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
244
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
245 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
246 * Returns a row of the results from the search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
247 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
248 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
249 * @param row_id Index of the row to be returned.
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 Row of the results.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
252 */
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
253 GList *gaim_notify_searchresults_row_get(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
254 unsigned int row_id);
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 /**
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
257 * Returns a title of the search results object's column.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
258 *
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
259 * @param results The search results object.
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
260 * @param column_id Index of the column.
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 * @return Title of the column.
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 char *gaim_notify_searchresults_column_get_title(GaimNotifySearchResults *results,
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
265 unsigned int column_id);
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 /*@}*/
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
268
9630f62029f2 [gaim-migrate @ 13581]
Bartosz Oler <bartosz@pidgin.im>
parents: 10566
diff changeset
269 /**************************************************************************/
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 /** @name Notification API */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 /**************************************************************************/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 /*@{*/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
274 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
275 * Displays a notification message to the user.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
276 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
277 * @param handle The plugin or connection handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 * @param type The notification type.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279 * @param title The title of the message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280 * @param primary The main point of the message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281 * @param secondary The secondary information.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
282 * @param cb The callback to call when the user closes
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
283 * the notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284 * @param user_data The data to pass to the callback.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
286 * @return A UI-specific handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 */
6356
27990c4f9a9f [gaim-migrate @ 6855]
Christian Hammond <chipx86@chipx86.com>
parents: 5944
diff changeset
288 void *gaim_notify_message(void *handle, GaimNotifyMsgType type,
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 const char *title, const char *primary,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
290 const char *secondary, GCallback cb,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291 void *user_data);
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
292
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
293 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
294 * Displays a single e-mail notification to the user.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
295 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
296 * @param handle The plugin or connection handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
297 * @param subject The subject of the e-mail.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
298 * @param from The from address.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
299 * @param to The destination address.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
300 * @param url The URL where the message can be read.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
301 * @param cb The callback to call when the user closes
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
302 * the notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 * @param user_data The data to pass to the callback.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
304 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305 * @return A UI-specific handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
306 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
307 void *gaim_notify_email(void *handle, const char *subject,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
308 const char *from, const char *to,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
309 const char *url, GCallback cb,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 void *user_data);
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
311
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
313 * Displays a notification for multiple e-mails to the user.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
314 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
315 * @param handle The plugin or connection handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
316 * @param count The number of e-mails.
5522
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
317 * @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
318 * arrays.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
319 * @param subjects The array of subjects.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
320 * @param froms The array of from addresses.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
321 * @param tos The array of destination addresses.
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6467
diff changeset
322 * @param urls The URLs where the messages can be read.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
323 * @param cb The callback to call when the user closes
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
324 * the notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 * @param user_data The data to pass to the callback.
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 * @return A UI-specific handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328 */
5522
faa69c8f503d [gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents: 5497
diff changeset
329 void *gaim_notify_emails(void *handle, size_t count, gboolean detailed,
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
330 const char **subjects, const char **froms,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
331 const char **tos, const char **urls,
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 GCallback cb, void *user_data);
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334 /**
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
335 * Displays a notification with formatted text.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
336 *
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
337 * 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
338 * IMs may send.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
339 *
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
340 * @param handle The plugin or connection handle.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
341 * @param title The title of the message.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
342 * @param primary The main point of the message.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
343 * @param secondary The secondary information.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
344 * @param text The formatted text.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
345 * @param cb The callback to call when the user closes
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
346 * the notification.
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6467
diff changeset
347 * @param user_data The data to pass to the callback.
6381
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
348 *
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
349 * @return A UI-specific handle.
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
350 */
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
351 void *gaim_notify_formatted(void *handle, const char *title,
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
352 const char *primary, const char *secondary,
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
353 const char *text, GCallback cb, void *user_data);
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
354
53203c44c731 [gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents: 6356
diff changeset
355 /**
9800
1115830011b8 [gaim-migrate @ 10668]
Mark Doliner <markdoliner@pidgin.im>
parents: 9797
diff changeset
356 * Displays user information with formatted text, passing information giving
1115830011b8 [gaim-migrate @ 10668]
Mark Doliner <markdoliner@pidgin.im>
parents: 9797
diff changeset
357 * the connection and username from which the user information came.
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
358 *
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
359 * 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
360 * IMs may send.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
361 *
11533
f58436975d44 [gaim-migrate @ 13782]
Richard Laager <rlaager@pidgin.im>
parents: 11531
diff changeset
362 * @param gc The GaimConnection handle associated with the information.
f58436975d44 [gaim-migrate @ 13782]
Richard Laager <rlaager@pidgin.im>
parents: 11531
diff changeset
363 * @param who The username associated with the information.
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
364 * @param text The formatted text.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
365 * @param cb The callback to call when the user closes
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
366 * the notification.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
367 * @param user_data The data to pass to the callback.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
368 *
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
369 * @return A UI-specific handle.
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
370 */
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
371 void *gaim_notify_userinfo(GaimConnection *gc, const char *who,
11531
63c017cfd8d2 [gaim-migrate @ 13780]
Luke Schierer <lschiere@pidgin.im>
parents: 11501
diff changeset
372 const char *text, GCallback cb,
63c017cfd8d2 [gaim-migrate @ 13780]
Luke Schierer <lschiere@pidgin.im>
parents: 11501
diff changeset
373 void *user_data);
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
374
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 8046
diff changeset
375 /**
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
376 * Opens a URI or somehow presents it to the user.
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
377 *
10240
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
378 * @param handle The plugin or connection handle.
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
379 * @param uri The URI to display or go to.
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
380 *
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
381 * @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
382 * 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
383 * similar.
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
384 */
10240
09342bc554d9 [gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents: 10209
diff changeset
385 void *gaim_notify_uri(void *handle, const char *uri);
6465
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
386
bd201d637ff4 [gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents: 6381
diff changeset
387 /**
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388 * Closes a notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390 * 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
391 * core.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392 *
5476
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
393 * @param type The notification type.
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
394 * @param ui_handle The notification UI handle.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395 */
5476
6f863ea68018 [gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents: 5437
diff changeset
396 void gaim_notify_close(GaimNotifyType type, void *ui_handle);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
397
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
398 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399 * Closes all notifications registered with the specified handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
400 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
401 * @param handle The handle.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403 void gaim_notify_close_with_handle(void *handle);
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
405 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
406 * A wrapper for gaim_notify_message that displays an information message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 #define gaim_notify_info(handle, title, primary, secondary) \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
409 gaim_notify_message((handle), GAIM_NOTIFY_MSG_INFO, (title), \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 (primary), (secondary), NULL, NULL)
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413 * A wrapper for gaim_notify_message that displays a warning message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415 #define gaim_notify_warning(handle, title, primary, secondary) \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
416 gaim_notify_message((handle), GAIM_NOTIFY_MSG_WARNING, (title), \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
417 (primary), (secondary), NULL, NULL)
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
418
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
419 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420 * A wrapper for gaim_notify_message that displays an error message.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421 */
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
422 #define gaim_notify_error(handle, title, primary, secondary) \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423 gaim_notify_message((handle), GAIM_NOTIFY_MSG_ERROR, (title), \
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 (primary), (secondary), NULL, NULL)
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
425
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426 /*@}*/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
427
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428 /**************************************************************************/
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10443
diff changeset
429 /** @name UI Registration Functions */
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
430 /**************************************************************************/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
431 /*@{*/
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
432
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
433 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
434 * Sets the UI operations structure to be used when displaying a
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
435 * notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
436 *
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
437 * @param ops The UI operations structure.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
438 */
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
439 void gaim_notify_set_ui_ops(GaimNotifyUiOps *ops);
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
440
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
441 /**
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
442 * Returns the UI operations structure to be used when displaying a
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
443 * notification.
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
444 *
6467
754d318cac4a [gaim-migrate @ 6976]
Christian Hammond <chipx86@chipx86.com>
parents: 6465
diff changeset
445 * @return The UI operations structure.
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
446 */
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
447 GaimNotifyUiOps *gaim_notify_get_ui_ops(void);
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
448
5497
da3c08f3af25 [gaim-migrate @ 5893]
Mark Doliner <markdoliner@pidgin.im>
parents: 5476
diff changeset
449 /*@}*/
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
450
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
451 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
452 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
453 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5522
diff changeset
454
5437
4bd5c5d271e6 [gaim-migrate @ 5819]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455 #endif /* _GAIM_NOTIFY_H_ */

mercurial