plugins/statenotify.c

Sun, 03 Aug 2003 09:47:15 +0000

author
Robert McQueen <robot101@debian.org>
date
Sun, 03 Aug 2003 09:47:15 +0000
changeset 6360
c2bfe65b200c
parent 6063
8fbafa2e1846
child 6371
e92b66ee5518
permissions
-rw-r--r--

[gaim-migrate @ 6864]
Lots of Makefile.am and configure.ac fixes from Robot101. Doumo arigatou,
Mr. Roboto!

committer: Christian Hammond <chipx86@chipx86.com>

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
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
3 #include "blist.h"
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"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
6
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 static void
5587
22cb9fe4798a [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5267
diff changeset
8 write_status(GaimConnection *gc, char *who, const char *message)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
10 GaimConversation *conv;
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 struct buddy *b;
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 char buf[256];
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 conv = gaim_find_conversation_with_account(who, gc->account);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 if (conv == NULL)
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 return;
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 if ((b = gaim_find_buddy(gc->account, who)) != NULL)
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 who = gaim_get_buddy_alias(b);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 g_snprintf(buf, sizeof(buf), "%s %s", who, message);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 gaim_conversation_write(conv, NULL, buf, -1, WFLAG_SYSTEM, time(NULL));
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 static void
5587
22cb9fe4798a [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5267
diff changeset
28 buddy_away_cb(GaimConnection *gc, char *who, void *data)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 write_status(gc, who, "has gone away.");
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 static void
5587
22cb9fe4798a [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5267
diff changeset
34 buddy_unaway_cb(GaimConnection *gc, char *who, void *data)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 write_status(gc, who, "is no longer away.");
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 static void
5587
22cb9fe4798a [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5267
diff changeset
40 buddy_idle_cb(GaimConnection *gc, char *who, void *data)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 write_status(gc, who, "has become idle.");
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 static void
5587
22cb9fe4798a [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5267
diff changeset
46 buddy_unidle_cb(GaimConnection *gc, char *who, void *data)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 write_status(gc, who, "is no longer idle.");
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 static gboolean
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 plugin_load(GaimPlugin *plugin)
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 gaim_signal_connect(plugin, event_buddy_away, buddy_away_cb, NULL);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 gaim_signal_connect(plugin, event_buddy_back, buddy_unaway_cb, NULL);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 gaim_signal_connect(plugin, event_buddy_idle, buddy_idle_cb, NULL);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 gaim_signal_connect(plugin, event_buddy_unidle, buddy_unidle_cb, NULL);
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 return TRUE;
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 static GaimPluginInfo info =
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 2, /**< api_version */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 GAIM_PLUGIN_STANDARD, /**< type */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 NULL, /**< ui_requirement */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 0, /**< flags */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 NULL, /**< dependencies */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 GAIM_PRIORITY_DEFAULT, /**< priority */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 NULL, /**< id */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 N_("Buddy State Notification"), /**< name */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 VERSION, /**< version */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 /** summary */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 N_("Notifies in a conversation window when a buddy goes or returns from "
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 "away or idle."),
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 /** description */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 N_("Notifies in a conversation window when a buddy goes or returns from "
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 "away or idle."),
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 "Christian Hammond <chipx86@gnupdate.org>", /**< author */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 WEBSITE, /**< homepage */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 plugin_load, /**< load */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 NULL, /**< unload */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 NULL, /**< destroy */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 NULL, /**< ui_info */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 NULL /**< extra_info */
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 };
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 static void
5920
963bfdefee02 [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5873
diff changeset
92 init_plugin(GaimPlugin *plugin)
5267
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 {
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 }
14a104927560 [gaim-migrate @ 5639]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95
6063
8fbafa2e1846 [gaim-migrate @ 6513]
Nathan Walp <nwalp@pidgin.im>
parents: 5920
diff changeset
96 GAIM_INIT_PLUGIN(statenotify, init_plugin, info)

mercurial