Mon, 12 Dec 2005 18:59:29 +0000
[gaim-migrate @ 14778]
SF Patch #1372898 from charkins
"This patch updates the unseen conversation api in
gtkconv to ensure consistancy and avoid code
duplication. The ...first_unseen() function is renamed
and expanded to return a list of conversations that
match the specified criteria. A max_count parameter is
used to allow this to short circuit early (using 1
gives old behavior). An additional flag was added to
allow this function to only consider hidden
conversations (used by the buddy list). The blist is
currently inconsistant in which conversations it loops
over for showing the menu tray icon, creating the
tooltip and the unseen menu. This patch fixes that.
The ...find_unseen_list() now handles contact-aware
conversations correctly as well (based on sadrul's
patches in #1362579 which are obsoleted by this patch).
I also included the fix from #1362579 which increments
unseen_count only when state>=UNSEEN_TEXT."
committer: Richard Laager <rlaager@pidgin.im>
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
1 | /** |
|
11379
a5a66b0e8b6e
[gaim-migrate @ 13605]
Daniel Atallah <datallah@pidgin.im>
parents:
11374
diff
changeset
|
2 | * @file dnssrv.h |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
3 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
4 | * gaim |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
5 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
6 | * Copyright (C) 2005, Thomas Butter <butter@uni-mannheim.de> |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
7 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
11 | * (at your option) any later version. |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
12 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
16 | * GNU General Public License for more details. |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
17 | * |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
21 | */ |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
22 | |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
23 | #ifndef _GAIM_DNSSRV_H |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
24 | #define _GAIM_DNSSRV_H |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
25 | |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
26 | struct srv_response { |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
27 | char hostname[256]; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
28 | int port; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
29 | int weight; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
30 | int pref; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
31 | }; |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
32 | |
|
11382
4458ab177b10
[gaim-migrate @ 13609]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11379
diff
changeset
|
33 | typedef void (*SRVCallback)(struct srv_response *resp, int results, gpointer data); |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
34 | |
|
11374
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
35 | /** |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
36 | * Queries an SRV record. |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
37 | * |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
38 | * @param protocol Name of the protocol (e.g. "sip") |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
39 | * @param transport Name of the transport ("tcp" or "udp") |
|
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
40 | * @param domain Domainname to query (e.g. "blubb.com") |
|
11501
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11444
diff
changeset
|
41 | * @param cb A callback which will be called with the results |
|
a8fc92026134
[gaim-migrate @ 13746]
Richard Laager <rlaager@pidgin.im>
parents:
11444
diff
changeset
|
42 | * @param extradata Extra data to be passed to the callback |
|
11374
eb32bdcf2e38
[gaim-migrate @ 13600]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11373
diff
changeset
|
43 | */ |
|
11444
78ac61f1faeb
[gaim-migrate @ 13683]
Richard Laager <rlaager@pidgin.im>
parents:
11382
diff
changeset
|
44 | void gaim_srv_resolve(const char *protocol, const char *transport, const char *domain, SRVCallback cb, gpointer extradata); |
|
11373
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
45 | |
|
80fd6df6fbe0
[gaim-migrate @ 13598]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
46 | #endif /* _GAIM_DNSSRV_H */ |