# HG changeset patch # User Jeffrey Connelly # Date 1180673274 0 # Node ID c4bd017a825e61131efd0fbd857062a5ba43a608 # Parent 57bde8784308049ba5303e78e7cc6fb7a27bb07c# Parent 3ff22e68337f9bdd7f26875710b8576ce5c3e2e2 merge of '8bb110590d07631c51fb0be00d16deee9b1ec0d9' and '90f8de2e2449d8db7f55ac5abe26e264d9a76e12' diff -r 3ff22e68337f -r c4bd017a825e libpurple/protocols/myspace/message.h --- a/libpurple/protocols/myspace/message.h Fri Jun 01 04:09:41 2007 +0000 +++ b/libpurple/protocols/myspace/message.h Fri Jun 01 04:47:54 2007 +0000 @@ -24,8 +24,6 @@ #include -#include "session.h" - /* Types */ #define MsimMessage GList /* #define instead of typedef to avoid casting */ typedef struct _MsimMessageElement @@ -51,7 +49,10 @@ gchar *msim_msg_debug_string(MsimMessage *msg); gchar *msim_msg_pack(MsimMessage *msg); -gboolean msim_msg_send(MsimSession *session, MsimMessage *msg); +/* Defined in myspace.h */ +struct _MsimSession; + +gboolean msim_msg_send(struct _MsimSession *session, MsimMessage *msg); MsimMessage *msim_parse(gchar *raw); GHashTable *msim_parse_body(const gchar *body_str); diff -r 3ff22e68337f -r c4bd017a825e libpurple/protocols/myspace/myspace.h --- a/libpurple/protocols/myspace/myspace.h Fri Jun 01 04:09:41 2007 +0000 +++ b/libpurple/protocols/myspace/myspace.h Fri Jun 01 04:47:54 2007 +0000 @@ -49,7 +49,6 @@ /* MySpaceIM includes */ -#include "session.h" #include "message.h" /* Conditional compilation options */ @@ -95,6 +94,32 @@ /* Authentication algorithm for login2 */ #define MSIM_AUTH_ALGORITHM 196610 +/* Random number in every MsimSession, to ensure it is valid. */ +#define MSIM_SESSION_STRUCT_MAGIC 0xe4a6752b + +/* Everything needed to keep track of a session. */ +typedef struct _MsimSession +{ + guint magic; /**< MSIM_SESSION_STRUCT_MAGIC */ + PurpleAccount *account; + PurpleConnection *gc; + gchar *sesskey; /**< Session key text string from server */ + gchar *userid; /**< This user's numeric user ID */ + gint fd; /**< File descriptor to/from server */ + + GHashTable *user_lookup_cb; /**< Username -> userid lookup callback */ + GHashTable *user_lookup_cb_data; /**< Username -> userid lookup callback data */ + GHashTable *user_lookup_cache; /**< Cached information on users */ + + gchar *rxbuf; /**< Receive buffer */ + guint rxoff; /**< Receive buffer offset */ + guint next_rid; /**< Next request/response ID */ +} MsimSession; + +/* Check if an MsimSession is valid */ +#define MSIM_SESSION_VALID(s) (session != NULL && \ + session->magic == MSIM_SESSION_STRUCT_MAGIC) + /* Callback function pointer type for when a user's information is received, * initiated from a user lookup. */ typedef void (*MSIM_USER_LOOKUP_CB)(MsimSession *session, GHashTable *userinfo, diff -r 3ff22e68337f -r c4bd017a825e libpurple/protocols/myspace/session.h --- a/libpurple/protocols/myspace/session.h Fri Jun 01 04:09:41 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* MySpaceIM Protocol Plugin, session header file - * - * \author Jeff Connelly - * - * Copyright (C) 2007, Jeff Connelly - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef _MYSPACE_SESSION_H -#define _MYSPACE_SESSION_H - -#include - -#include "account.h" - -/* Random number in every MsimSession, to ensure it is valid. */ -#define MSIM_SESSION_STRUCT_MAGIC 0xe4a6752b - -/* Everything needed to keep track of a session. */ -typedef struct _MsimSession -{ - guint magic; /**< MSIM_SESSION_STRUCT_MAGIC */ - PurpleAccount *account; - PurpleConnection *gc; - gchar *sesskey; /**< Session key text string from server */ - gchar *userid; /**< This user's numeric user ID */ - gint fd; /**< File descriptor to/from server */ - - GHashTable *user_lookup_cb; /**< Username -> userid lookup callback */ - GHashTable *user_lookup_cb_data; /**< Username -> userid lookup callback data */ - GHashTable *user_lookup_cache; /**< Cached information on users */ - - gchar *rxbuf; /**< Receive buffer */ - guint rxoff; /**< Receive buffer offset */ - guint next_rid; /**< Next request/response ID */ -} MsimSession; - -/* Check if an MsimSession is valid */ -#define MSIM_SESSION_VALID(s) (session != NULL && \ - session->magic == MSIM_SESSION_STRUCT_MAGIC) - -#endif /* !_MYSPACE_SESSION_H */