pidgin/plugins/cap/cap_statistics.h

Tue, 07 May 2013 05:04:46 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 07 May 2013 05:04:46 -0400
changeset 33923
0fcc5635daba
parent 19859
71d37b57eff2
child 34706
02cb08146888
permissions
-rw-r--r--

Rewrite debug window filter in JS.

Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.

I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.

14328
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * Contact Availability Prediction plugin for Purple
14328
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
3 *
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
4 * Copyright (C) 2006 Geoffrey Foster.
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
5 *
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
9 * License, or (at your option) any later version.
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
10 *
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful, but
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
14 * General Public License for more details.
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
15 *
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15884
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15884
diff changeset
19 * 02111-1301, USA.
14328
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
20 */
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
21
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
22 #ifndef _CAP_STATISTICS_H_
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
23 #define _CAP_STATISTICS_H_
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
24
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
25 #include "blist.h"
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
26 #include <gdk/gdk.h>
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
27 #include <glib.h>
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
28 #include <time.h>
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
29
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
30 /* Data Structures */
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
31 typedef struct _CapStatistics CapStatistics;
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
32 typedef struct _CapPrediction CapPrediction;
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
33
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
34 struct _CapStatistics {
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
35 gdouble minute_stats[1440];
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
36 CapPrediction *prediction;
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
37 time_t last_seen; /**< The time buddy was last seen online */
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
38 time_t last_message; /**< The time you last messaged them */
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
39 const char *last_message_status_id; /**< The status id of the buddy when you last messaged them */
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
40 const char *last_status_id; /**< The last seen status id of the buddy */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
41 PurpleBuddy *buddy; /**< The buddy that these statistics are associated with */
14328
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
42 guint timeout_source_id;
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
43 };
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
44
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
45 struct _CapPrediction {
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
46 double probability;
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
47 time_t generated_at;
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
48 };
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
49
34f47ce417d4 [gaim-migrate @ 16948]
Geoff Foster <g-off_@users.sourceforge.net>
parents:
diff changeset
50 #endif

mercurial