annotate gtk/plugins/cap/cap_statistics.h @ 15136:31603a03cc02

[gaim-migrate @ 17921] Etan had changed the account notify stuff so that the prpl decides if the person is a buddy or not; I totally wiped that out with my authorization stuff. This brings it back. Additionally, I added a googletalk flag to JabberStream which can determine at runtime if you're connected to Google Talk. All of the Google Talk extensions can be detected individually with disco, but this might be used for working with perfectly standard XMPP that's implemented in what might be considered a quirky way in Google Talk. For instance, Google Talk automatically adds buddies to your roster when you authorize them to add you. I was going to use this flag so that the Jabber prpl would never ask me to add a Google Talk buddy who's just been automatically added anyway. I decided to keep it, though, since I may still want to specify what group he's in. This opens the door for more Google Talk customization though >:) committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Fri, 08 Dec 2006 02:51:47 +0000
parents 63ef6342db05
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14266
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
1 /*
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
2 * Contact Availability Prediction plugin for Gaim
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
3 *
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
4 * Copyright (C) 2006 Geoffrey Foster.
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
5 *
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
9 * License, or (at your option) any later version.
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
10 *
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful, but
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
14 * General Public License for more details.
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
15 *
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
19 * 02111-1307, USA.
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
20 */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
21
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
22 #ifndef _CAP_STATISTICS_H_
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
23 #define _CAP_STATISTICS_H_
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
24
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
25 #include "blist.h"
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
26 #include <gdk/gdk.h>
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
27 #include <glib.h>
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
28 #include <time.h>
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
29
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
30 /* Data Structures */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
31 typedef struct _CapStatistics CapStatistics;
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
32 typedef struct _CapPrediction CapPrediction;
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
33
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
34 struct _CapStatistics {
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
35 gdouble minute_stats[1440];
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
36 CapPrediction *prediction;
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
37 time_t last_seen; /**< The time buddy was last seen online */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
38 time_t last_message; /**< The time you last messaged them */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
39 const char *last_message_status_id; /**< The status id of the buddy when you last messaged them */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
40 const char *last_status_id; /**< The last seen status id of the buddy */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
41 GaimBuddy *buddy; /**< The buddy that these statistics are associated with */
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
42 guint timeout_source_id;
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
43 };
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
44
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
45 struct _CapPrediction {
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
46 double probability;
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
47 time_t generated_at;
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
48 };
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
49
63ef6342db05 [gaim-migrate @ 16948]
Geoff Foster <g-off_>
parents:
diff changeset
50 #endif