view pidgin/plugins/cap/cap_statistics.h @ 26999:6b0e150f2276

Stop trying to be clever with XMPP keepalive pings. djabberd is responding like this (note no 'from' on the reply. No, I haven't yet filed a bug with them): C: <iq type='get' id='purplefc9e10a4' to='livejournal.com'><ping xmlns='urn:xmpp:ping'/></iq> S: <iq to='Adium user' type='error' id='purplefc9e10a4'><ping xmlns='urn:xmpp:ping'/><error type='cancel'><feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas' xml:lang='en'>This feature is not implemented yet in DJabberd.</text></error></iq> This fixes Adium#12124.
author Paul Aurich <paul@darkrain42.org>
date Wed, 20 May 2009 00:34:59 +0000
parents 44b4e8bd759b
children
line wrap: on
line source

/*
 * Contact Availability Prediction plugin for Purple
 *
 * Copyright (C) 2006 Geoffrey Foster.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02111-1301, USA.
 */

#ifndef _CAP_STATISTICS_H_
#define _CAP_STATISTICS_H_

#include "blist.h"
#include <gdk/gdk.h>
#include <glib.h>
#include <time.h>

/* Data Structures */
typedef struct _CapStatistics CapStatistics;
typedef struct _CapPrediction CapPrediction;

struct _CapStatistics {
	gdouble minute_stats[1440];
	CapPrediction *prediction;
	time_t last_seen;			/**< The time buddy was last seen online */
	time_t last_message;		/**< The time you last messaged them */
	const char *last_message_status_id; /**< The status id of the buddy when you last messaged them */
	const char *last_status_id;	/**< The last seen status id of the buddy */
	PurpleBuddy *buddy;			/**< The buddy that these statistics are associated with */
	guint timeout_source_id;
};

struct _CapPrediction {
	double probability;
	time_t generated_at;
};

#endif