annotate plugins/perl/common/Connection.xs @ 12468:6faefbebcd24

[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: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Mon, 12 Dec 2005 18:59:29 +0000
parents b284c703d398
children 239c2cd3b3a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 #include "module.h"
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
3 MODULE = Gaim::Connection PACKAGE = Gaim::GTK::Connection PREFIX = gaim_gtk_connections_
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 PROTOTYPES: ENABLE
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
6 Gaim::Connection::UiOps
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
7 gaim_gtk_connections_get_ui_ops()
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
8
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
9 MODULE = Gaim::Connection PACKAGE = Gaim::Connection PREFIX = gaim_connections_
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
10 PROTOTYPES: ENABLE
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 Gaim::Account
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 gaim_connection_get_account(gc)
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 Gaim::Connection gc
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 const char *
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
17 gaim_connection_get_password(gc)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
18 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
19
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
20 const char *
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 gaim_connection_get_display_name(gc)
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 Gaim::Connection gc
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
24 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
25 gaim_connection_notice(gc, text)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
26 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
27 const char *text
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
29 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
30 gaim_connection_error(gc, reason)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
31 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
32 const char *reason
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
34 void
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 gaim_connections_disconnect_all()
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
37 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
38 gaim_connections_get_all()
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
39 PREINIT:
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
40 GList *l;
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
41 PPCODE:
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
42 for (l = gaim_connections_get_all(); l != NULL; l = l->next) {
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
43 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry")));
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
44 }
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 void
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
48 gaim_connections_get_connecting()
6584
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 PREINIT:
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 GList *l;
6deef41364bd [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 PPCODE:
11118
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
52 for (l = gaim_connections_get_connecting(); l != NULL; l = l->next) {
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
53 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry")));
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
54 }
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
55
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
56 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
57 gaim_connections_set_ui_ops(ops)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
58 Gaim::Connection::UiOps ops
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
59
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
60 Gaim::Connection::UiOps
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
61 gaim_connections_get_ui_ops()
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
62
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
63 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
64 gaim_connections_init()
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
65
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
66 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
67 gaim_connections_uninit()
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
68
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
69 void *
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
70 gaim_connections_get_handle()
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
71
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
72 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
73 gaim_connection_destroy(gc)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
74 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
75
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
76 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
77 gaim_connection_set_state(gc, state)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
78 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
79 Gaim::ConnectionState state
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
80
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
81 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
82 gaim_connection_set_account(gc, account)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
83 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
84 Gaim::Account account
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
85
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
86 void
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
87 gaim_connection_set_display_name(gc, name)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
88 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
89 const char *name
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
90
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
91 Gaim::ConnectionState
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
92 gaim_connection_get_state(gc)
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
93 Gaim::Connection gc
134d0001983d [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents: 6584
diff changeset
94