libpurple/protocols/msn/session.h

branch
cpw.qulogic.msnp16
changeset 30933
e8fb33bb8635
parent 30918
3ac172d68b08
parent 30579
458621d24012
child 31076
dcc26c5e9d7e
--- a/libpurple/protocols/msn/session.h	Wed Jun 02 20:08:53 2010 +0000
+++ b/libpurple/protocols/msn/session.h	Sat Jul 31 23:42:35 2010 +0000
@@ -59,6 +59,8 @@
 
 #define MSN_LOGIN_STEPS MSN_LOGIN_STEP_END
 
+#define MSN_LOGIN_FQY_TIMEOUT 30
+
 #include "group.h"
 #include "httpconn.h"
 #include "nexus.h"
@@ -82,6 +84,7 @@
 	gboolean connected;
 	gboolean logged_in; /**< A temporal flag to ignore local buddy list adds. */
 	int      adl_fqy; /**< A count of ADL/FQY so status is only changed once. */
+	guint    login_timeout; /**< Timeout to force status change if ADL/FQY fail. */
 	gboolean destroying; /**< A flag that states if the session is being destroyed. */
 	gboolean http_method;
 
@@ -118,6 +121,8 @@
 	GHashTable *soap_table;
 	guint soap_cleanup_handle;
 	char *guid;
+
+	GSList *url_datas; /**< PurpleUtilFetchUrlData to be cancelled on exit */
 };
 
 /**
@@ -212,7 +217,16 @@
 						   const char *info);
 
 /**
- * Sets the current step in the login proccess.
+ * Starts a timeout to initiate finishing login. Sometimes the server ignores
+ * our FQY requests, so this forces ourselves online eventually.
+ *
+ * @param session The MSN session.
+ */
+void
+msn_session_activate_login_timeout(MsnSession *session);
+
+/**
+ * Sets the current step in the login process.
  *
  * @param session The MSN session.
  * @param step The current step.

mercurial