libpurple/plugins/statenotify.c

Sat, 27 Aug 2016 18:16:01 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Sat, 27 Aug 2016 18:16:01 -0500
changeset 37959
e76677ed819c
parent 37148
50f361d39a1e
child 39959
e47fcffd061b
permissions
-rw-r--r--

connection: Add purple_connection_take_error()

This patch adds a purple_connection_take_error() function, which
is functionally equivalent to purple_connection_g_error(), except
that it takes ownership of the passed GError.

This is useful to simplify error handling so that the GError doesn't
have to be freed, or, in the future potentially copied, if it's no
longer needed where it's generated. It can also allow for GErrors
being generated without storing them in a variable. This would be
reasonably common if/when all PurpleConnection errors are passed
in via GError.

5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
1 #include "internal.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
2
34706
02cb08146888 Renamed blist.[ch] to buddylist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34632
diff changeset
3 #include "buddylist.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
4 #include "conversation.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
5 #include "debug.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6441
diff changeset
6 #include "signals.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9648
diff changeset
7 #include "version.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
8
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
9 #include "plugins.h"
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
10 #include "pluginpref.h"
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
11 #include "prefs.h"
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
12
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
13 #define STATENOTIFY_PLUGIN_ID "core-statenotify"
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
14
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
16 write_status(PurpleBuddy *buddy, const char *message)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 {
24531
76e72697f7d6 Hide the blistnode, buddy, contact, group, and chat structs
Gary Kramlich <grim@reaperworld.com>
parents: 22880
diff changeset
18 PurpleAccount *account = NULL;
34632
ebe6b2a60305 Changed all arguments and return types of Chat and IMs to PurpleChatConversation and PurpleIMConversation.
Ankit Vani <a@nevitus.org>
parents: 34628
diff changeset
19 PurpleIMConversation *im;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6441
diff changeset
20 const char *who;
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 char buf[256];
10167
3f4db9c54e04 [gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9943
diff changeset
22 char *escaped;
24531
76e72697f7d6 Hide the blistnode, buddy, contact, group, and chat structs
Gary Kramlich <grim@reaperworld.com>
parents: 22880
diff changeset
23 const gchar *buddy_name = NULL;
76e72697f7d6 Hide the blistnode, buddy, contact, group, and chat structs
Gary Kramlich <grim@reaperworld.com>
parents: 22880
diff changeset
24
76e72697f7d6 Hide the blistnode, buddy, contact, group, and chat structs
Gary Kramlich <grim@reaperworld.com>
parents: 22880
diff changeset
25 account = purple_buddy_get_account(buddy);
76e72697f7d6 Hide the blistnode, buddy, contact, group, and chat structs
Gary Kramlich <grim@reaperworld.com>
parents: 22880
diff changeset
26 buddy_name = purple_buddy_get_name(buddy);
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
34632
ebe6b2a60305 Changed all arguments and return types of Chat and IMs to PurpleChatConversation and PurpleIMConversation.
Ankit Vani <a@nevitus.org>
parents: 34628
diff changeset
28 im = purple_conversations_find_im_with_account(buddy_name, account);
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
34632
ebe6b2a60305 Changed all arguments and return types of Chat and IMs to PurpleChatConversation and PurpleIMConversation.
Ankit Vani <a@nevitus.org>
parents: 34628
diff changeset
30 if (im == NULL)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 return;
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
24761
fbb84e2d5eeb Tweak a comment.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24759
diff changeset
33 /* Prevent duplicate notifications for buddies in multiple groups */
34728
8efd73063ecf Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
34 if (buddy != purple_blist_find_buddy(account, buddy_name))
24759
9f88e2d42845 Prevent the Buddy State Notification plugin from printing duplicate
Florian Quèze <florian@instantbird.org>
parents: 24531
diff changeset
35 return;
9f88e2d42845 Prevent the Buddy State Notification plugin from printing duplicate
Florian Quèze <florian@instantbird.org>
parents: 24531
diff changeset
36
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
37 who = purple_buddy_get_alias(buddy);
10167
3f4db9c54e04 [gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9943
diff changeset
38 escaped = g_markup_escape_text(who, -1);
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39
10167
3f4db9c54e04 [gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9943
diff changeset
40 g_snprintf(buf, sizeof(buf), message, escaped);
3f4db9c54e04 [gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9943
diff changeset
41 g_free(escaped);
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42
36084
2172bd6dad3e Add purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35045
diff changeset
43 purple_conversation_write_system_message(PURPLE_CONVERSATION(im), buf,
2172bd6dad3e Add purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35045
diff changeset
44 PURPLE_MESSAGE_ACTIVE_ONLY | PURPLE_MESSAGE_NO_LINKIFY);
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
48 buddy_status_changed_cb(PurpleBuddy *buddy, PurpleStatus *old_status,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
49 PurpleStatus *status, void *data)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 {
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
51 gboolean available, old_available;
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
52
22880
e44c97dec833 Do not show an erroneous message when the 'now listening' song for a
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20288
diff changeset
53 if (!purple_status_is_exclusive(status) ||
e44c97dec833 Do not show an erroneous message when the 'now listening' song for a
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20288
diff changeset
54 !purple_status_is_exclusive(old_status))
e44c97dec833 Do not show an erroneous message when the 'now listening' song for a
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20288
diff changeset
55 return;
e44c97dec833 Do not show an erroneous message when the 'now listening' song for a
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20288
diff changeset
56
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
57 available = purple_status_is_available(status);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
58 old_available = purple_status_is_available(old_status);
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
59
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
60 if (purple_prefs_get_bool("/plugins/core/statenotify/notify_away")) {
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
61 if (available && !old_available)
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
62 write_status(buddy, _("%s is no longer away."));
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
63 else if (!available && old_available)
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
64 write_status(buddy, _("%s has gone away."));
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
65 }
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
69 buddy_idle_changed_cb(PurpleBuddy *buddy, gboolean old_idle, gboolean idle,
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
70 void *data)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 {
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
72 if (purple_prefs_get_bool("/plugins/core/statenotify/notify_idle")) {
25833
9cdd935e0aba In the state notify plugin, don't print out a status change if we get an update
Marcus Lundblad <malu@pidgin.im>
parents: 24761
diff changeset
73 if (idle && !old_idle) {
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
74 write_status(buddy, _("%s has become idle."));
25833
9cdd935e0aba In the state notify plugin, don't print out a status change if we get an update
Marcus Lundblad <malu@pidgin.im>
parents: 24761
diff changeset
75 } else if (!idle && old_idle) {
11935
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
76 write_status(buddy, _("%s is no longer idle."));
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
77 }
1d95c7294577 [gaim-migrate @ 14226]
Etan Reisner <deryni@pidgin.im>
parents: 11901
diff changeset
78 }
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
79 }
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
80
11901
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
81 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
82 buddy_signon_cb(PurpleBuddy *buddy, void *data)
11901
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
83 {
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
84 if (purple_prefs_get_bool("/plugins/core/statenotify/notify_signon"))
11901
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
85 write_status(buddy, _("%s has signed on."));
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
86 }
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
87
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
88 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
89 buddy_signoff_cb(PurpleBuddy *buddy, void *data)
11901
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
90 {
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
91 if (purple_prefs_get_bool("/plugins/core/statenotify/notify_signon"))
11901
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
92 write_status(buddy, _("%s has signed off."));
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
93 }
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
94
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
95 static PurplePluginPrefFrame *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
96 get_plugin_pref_frame(PurplePlugin *plugin)
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
97 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
98 PurplePluginPrefFrame *frame;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
99 PurplePluginPref *ppref;
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
100
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
101 frame = purple_plugin_pref_frame_new();
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
102
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
103 ppref = purple_plugin_pref_new_with_label(_("Notify When"));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
104 purple_plugin_pref_frame_add(frame, ppref);
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
105
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
106 ppref = purple_plugin_pref_new_with_name_and_label("/plugins/core/statenotify/notify_away", _("Buddy Goes _Away"));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
107 purple_plugin_pref_frame_add(frame, ppref);
10246
aa5bff72f94c [gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents: 10167
diff changeset
108
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
109 ppref = purple_plugin_pref_new_with_name_and_label("/plugins/core/statenotify/notify_idle", _("Buddy Goes _Idle"));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
110 purple_plugin_pref_frame_add(frame, ppref);
10246
aa5bff72f94c [gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents: 10167
diff changeset
111
16481
ba8653070600 Fix GTK Plugin prefs
Sean Egan <seanegan@pidgin.im>
parents: 16478
diff changeset
112 ppref = purple_plugin_pref_new_with_name_and_label("/plugins/core/statenotify/notify_signon", _("Buddy _Signs On/Off"));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
113 purple_plugin_pref_frame_add(frame, ppref);
11901
34394921fe76 [gaim-migrate @ 14192]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 11338
diff changeset
114
9583
02ddd25cc6e4 [gaim-migrate @ 10426]
Alan Ford
parents: 8993
diff changeset
115 return frame;
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
116 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
117
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
118 static PurplePluginInfo *
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
119 plugin_query(GError **error)
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
120 {
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
121 const gchar * const authors[] = {
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
122 "Christian Hammond <chipx86@gnupdate.org>",
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
123 NULL
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
124 };
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
125
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
126 return purple_plugin_info_new(
36934
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
127 "id", STATENOTIFY_PLUGIN_ID,
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
128 "name", N_("Buddy State Notification"),
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
129 "version", DISPLAY_VERSION,
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
130 "category", N_("Notification"),
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
131 "summary", N_("Notifies in a conversation window when a "
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
132 "buddy goes or returns from away or idle."),
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
133 "description", N_("Notifies in a conversation window when a "
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
134 "buddy goes or returns from away or idle."),
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
135 "authors", authors,
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
136 "website", PURPLE_WEBSITE,
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
137 "abi-version", PURPLE_ABI_VERSION,
e7268aeb3b89 Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents: 36929
diff changeset
138 "pref-frame-cb", get_plugin_pref_frame,
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
139 NULL
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
140 );
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
141 }
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
142
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143 static gboolean
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
144 plugin_load(PurplePlugin *plugin, GError **error)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
145 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
146 void *blist_handle = purple_blist_get_handle();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6441
diff changeset
147
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
148 purple_prefs_add_none("/plugins/core/statenotify");
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
149 purple_prefs_add_bool("/plugins/core/statenotify/notify_away", TRUE);
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
150 purple_prefs_add_bool("/plugins/core/statenotify/notify_idle", TRUE);
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
151 purple_prefs_add_bool("/plugins/core/statenotify/notify_signon", TRUE);
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
152
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
153 purple_signal_connect(blist_handle, "buddy-status-changed", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
154 PURPLE_CALLBACK(buddy_status_changed_cb), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
155 purple_signal_connect(blist_handle, "buddy-idle-changed", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
156 PURPLE_CALLBACK(buddy_idle_changed_cb), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
157 purple_signal_connect(blist_handle, "buddy-signed-on", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
158 PURPLE_CALLBACK(buddy_signon_cb), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
159 purple_signal_connect(blist_handle, "buddy-signed-off", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
160 PURPLE_CALLBACK(buddy_signoff_cb), NULL);
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
162 return TRUE;
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
164
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
165 static gboolean
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
166 plugin_unload(PurplePlugin *plugin, GError **error)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167 {
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
168 return TRUE;
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170
36747
0b84912ce764 Refactored rest of libpurple C plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
171 PURPLE_PLUGIN_INIT(statenotify, plugin_query, plugin_load, plugin_unload);

mercurial