/pidgin/main: 8072411a68c1: Backported from Mxit protocol in 3.0...
Andrew Victor
andrew.victor at mxit.com
Sat Jul 28 18:48:58 EDT 2012
Changeset: 8072411a68c1828ecf42b0184ef21e833eb5b7b2
Author: Andrew Victor <andrew.victor at mxit.com>
Date: 2012-07-28 21:35 +0200
Branch: mxit-2.x.y
URL: http://hg.pidgin.im/pidgin/main/rev/8072411a68c1
Description:
Backported from Mxit protocol in 3.0.0-devel:
* Use libpurple accessor functions where available.
* Whitespace changes for coding-style consistency.
diffstat:
libpurple/protocols/mxit/actions.c | 30 +++++++++---------
libpurple/protocols/mxit/filexfer.c | 16 +++++----
libpurple/protocols/mxit/login.c | 27 ++++++++++++----
libpurple/protocols/mxit/multimx.c | 12 +++---
libpurple/protocols/mxit/mxit.c | 54 +++++++++++++++-----------------
libpurple/protocols/mxit/profile.c | 12 +++---
libpurple/protocols/mxit/protocol.c | 30 +++++++++---------
libpurple/protocols/mxit/roster.c | 46 ++++++++++++++--------------
libpurple/protocols/mxit/splashscreen.c | 2 +-
libpurple/protocols/mxit/voicevideo.c | 2 +-
10 files changed, 121 insertions(+), 110 deletions(-)
diffs (truncated from 794 to 300 lines):
diff --git a/libpurple/protocols/mxit/actions.c b/libpurple/protocols/mxit/actions.c
--- a/libpurple/protocols/mxit/actions.c
+++ b/libpurple/protocols/mxit/actions.c
@@ -43,7 +43,7 @@
*/
static void mxit_profile_cb( PurpleConnection* gc, PurpleRequestFields* fields )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
PurpleRequestField* field = NULL;
const char* name = NULL;
const char* bday = NULL;
@@ -159,7 +159,7 @@ out:
/* update where am i */
name = purple_request_fields_get_string( fields, "whereami" );
- if ( !name)
+ if ( !name )
profile->whereami[0] = '\0';
else
g_strlcpy( profile->whereami, name, sizeof( profile->whereami ) );
@@ -209,7 +209,7 @@ out:
static void mxit_profile_action( PurplePluginAction* action )
{
PurpleConnection* gc = (PurpleConnection*) action->context;
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
struct MXitProfile* profile = session->profile;
PurpleRequestFields* fields = NULL;
@@ -322,7 +322,7 @@ static void mxit_profile_action( PurpleP
*/
static void mxit_change_pin_cb( PurpleConnection* gc, PurpleRequestFields* fields )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
const char* pin = NULL;
const char* pin2 = NULL;
const char* err = NULL;
@@ -384,7 +384,7 @@ out:
static void mxit_change_pin_action( PurplePluginAction* action )
{
PurpleConnection* gc = (PurpleConnection*) action->context;
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
PurpleRequestFields* fields = NULL;
PurpleRequestFieldGroup* group = NULL;
@@ -393,16 +393,16 @@ static void mxit_change_pin_action( Purp
purple_debug_info( MXIT_PLUGIN_ID, "mxit_change_pin_action\n" );
fields = purple_request_fields_new();
- group = purple_request_field_group_new(NULL);
- purple_request_fields_add_group(fields, group);
+ group = purple_request_field_group_new( NULL );
+ purple_request_fields_add_group( fields, group );
/* pin */
- field = purple_request_field_string_new( "pin", _( "PIN" ), session->acc->password, FALSE );
+ field = purple_request_field_string_new( "pin", _( "PIN" ), purple_account_get_password( session->acc ), FALSE );
purple_request_field_string_set_masked( field, TRUE );
purple_request_field_group_add_field( group, field );
/* verify pin */
- field = purple_request_field_string_new( "pin2", _( "Verify PIN" ), session->acc->password, FALSE );
+ field = purple_request_field_string_new( "pin2", _( "Verify PIN" ), purple_account_get_password( session->acc ), FALSE );
purple_request_field_string_set_masked( field, TRUE );
purple_request_field_group_add_field( group, field );
@@ -420,7 +420,7 @@ static void mxit_change_pin_action( Purp
static void mxit_splash_action( PurplePluginAction* action )
{
PurpleConnection* gc = (PurpleConnection*) action->context;
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
if ( splash_current( session ) != NULL )
splash_display( session );
@@ -457,7 +457,7 @@ static void mxit_about_action( PurplePlu
static void mxit_suggested_friends_action( PurplePluginAction* action )
{
PurpleConnection* gc = (PurpleConnection*) action->context;
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
const char* profilelist[] = {
CP_PROFILE_BIRTHDATE, CP_PROFILE_GENDER, CP_PROFILE_FULLNAME, CP_PROFILE_FIRSTNAME,
CP_PROFILE_LASTNAME, CP_PROFILE_REGCOUNTRY, CP_PROFILE_STATUS, CP_PROFILE_AVATAR,
@@ -474,7 +474,7 @@ static void mxit_suggested_friends_actio
*/
static void mxit_user_search_cb( PurpleConnection *gc, const char *input )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
const char* profilelist[] = {
CP_PROFILE_BIRTHDATE, CP_PROFILE_GENDER, CP_PROFILE_FULLNAME, CP_PROFILE_FIRSTNAME,
CP_PROFILE_LASTNAME, CP_PROFILE_REGCOUNTRY, CP_PROFILE_STATUS, CP_PROFILE_AVATAR,
@@ -497,10 +497,10 @@ static void mxit_user_search_action( Pur
_( "Search for a MXit contact" ),
_( "Type search information" ),
NULL, FALSE, FALSE, NULL,
- _("_Search"), G_CALLBACK( mxit_user_search_cb ),
- _("_Cancel"), NULL,
+ _( "_Search" ), G_CALLBACK( mxit_user_search_cb ),
+ _( "_Cancel" ), NULL,
purple_connection_get_account( gc ), NULL, NULL,
- gc);
+ gc );
}
diff --git a/libpurple/protocols/mxit/filexfer.c b/libpurple/protocols/mxit/filexfer.c
--- a/libpurple/protocols/mxit/filexfer.c
+++ b/libpurple/protocols/mxit/filexfer.c
@@ -97,7 +97,7 @@ const char* file_mime_type( const char*
*/
static void mxit_xfer_free( PurpleXfer* xfer )
{
- struct mxitxfer* mx = (struct mxitxfer*) xfer->data;;
+ struct mxitxfer* mx = (struct mxitxfer*) xfer->data;;
if ( mx ) {
g_free( mx );
@@ -126,7 +126,7 @@ static void mxit_xfer_init( PurpleXfer*
if ( purple_xfer_get_size( xfer ) > CP_MAX_FILESIZE ) {
/* the file is too big */
- purple_xfer_error( xfer->type, xfer->account, xfer->who, _( "The file you are trying to send is too large!" ) );
+ purple_xfer_error( purple_xfer_get_type( xfer ), purple_xfer_get_account( xfer ), purple_xfer_get_remote_user( xfer ), _( "The file you are trying to send is too large!" ) );
purple_xfer_cancel_local( xfer );
return;
}
@@ -151,6 +151,7 @@ static void mxit_xfer_init( PurpleXfer*
*/
static void mxit_xfer_start( PurpleXfer* xfer )
{
+ goffset filesize;
unsigned char* buffer;
int size;
int wrote;
@@ -163,10 +164,11 @@ static void mxit_xfer_start( PurpleXfer*
* a buffer and copy the file data into memory and then we can send it to
* the contact. we will send the whole file with one go.
*/
- buffer = g_malloc( xfer->bytes_remaining );
- size = fread( buffer, xfer->bytes_remaining, 1, xfer->dest_fp );
+ filesize = purple_xfer_get_bytes_remaining( xfer );
+ buffer = g_malloc( filesize );
+ size = fread( buffer, filesize, 1, xfer->dest_fp );
- wrote = purple_xfer_write( xfer, buffer, xfer->bytes_remaining );
+ wrote = purple_xfer_write( xfer, buffer, filesize );
if ( wrote > 0 )
purple_xfer_set_bytes_sent( xfer, wrote );
@@ -295,7 +297,7 @@ gboolean mxit_xfer_enabled( PurpleConnec
*/
PurpleXfer* mxit_xfer_new( PurpleConnection* gc, const char* who )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
PurpleXfer* xfer = NULL;
struct mxitxfer* mx = NULL;
@@ -395,7 +397,7 @@ static PurpleXfer* find_mxit_xfer( struc
while ( item ) {
xfer = item->data;
- if ( xfer->account == session->acc ) {
+ if ( purple_xfer_get_account( xfer ) == session->acc ) {
/* transfer is associated with this MXit account */
struct mxitxfer* mx = xfer->data;
diff --git a/libpurple/protocols/mxit/login.c b/libpurple/protocols/mxit/login.c
--- a/libpurple/protocols/mxit/login.c
+++ b/libpurple/protocols/mxit/login.c
@@ -221,7 +221,7 @@ static void mxit_login_connect( struct M
*/
static void mxit_cb_register_ok( PurpleConnection *gc, PurpleRequestFields *fields )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
struct MXitProfile* profile = session->profile;
const char* str;
const char* pin;
@@ -303,7 +303,7 @@ static void mxit_cb_register_cancel( Pur
purple_debug_info( MXIT_PLUGIN_ID, "mxit_cb_register_cancel\n" );
/* disconnect */
- purple_account_disconnect( gc->account );
+ purple_account_disconnect( purple_connection_get_account( gc ) );
}
@@ -507,7 +507,7 @@ static void free_logindata( struct login
*/
static void mxit_cb_captcha_ok( PurpleConnection* gc, PurpleRequestFields* fields )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
PurpleUtilFetchUrlData* url_data;
PurpleRequestField* field;
const char* captcha_resp;
@@ -548,9 +548,22 @@ static void mxit_cb_captcha_ok( PurpleCo
state = purple_account_get_int( session->acc, MXIT_CONFIG_STATE, MXIT_STATE_LOGIN );
url = g_strdup_printf( "%s?type=getpid&sessionid=%s&login=%s&ver=%i.%i.%i&clientid=%s&cat=%s&chalresp=%s&cc=%s&loc=%s&path=%i&brand=%s&model=%s&h=%i&w=%i&ts=%li",
- session->logindata->wapserver, session->logindata->sessionid, purple_url_encode( session->acc->username ), PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, PURPLE_MICRO_VERSION, MXIT_CLIENT_ID, MXIT_CP_ARCH,
- captcha_resp, session->logindata->cc, session->logindata->locale, ( state == MXIT_STATE_REGISTER1 ) ? 0 : 1, MXIT_CP_PLATFORM, MXIT_CP_OS,
- MXIT_CAPTCHA_HEIGHT, MXIT_CAPTCHA_WIDTH, time( NULL ) );
+ session->logindata->wapserver,
+ session->logindata->sessionid,
+ purple_url_encode( purple_account_get_username( session->acc ) ),
+ PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, PURPLE_MICRO_VERSION,
+ MXIT_CLIENT_ID,
+ MXIT_CP_ARCH,
+ captcha_resp,
+ session->logindata->cc,
+ session->logindata->locale,
+ ( state == MXIT_STATE_REGISTER1 ) ? 0 : 1,
+ MXIT_CP_PLATFORM,
+ MXIT_CP_OS,
+ MXIT_CAPTCHA_HEIGHT,
+ MXIT_CAPTCHA_WIDTH,
+ time( NULL )
+ );
url_data = purple_util_fetch_url_request( url, TRUE, MXIT_HTTP_USERAGENT, TRUE, NULL, FALSE, mxit_cb_clientinfo2, session );
#ifdef DEBUG_PROTOCOL
@@ -571,7 +584,7 @@ static void mxit_cb_captcha_ok( PurpleCo
*/
static void mxit_cb_captcha_cancel( PurpleConnection* gc, PurpleRequestFields* fields )
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data( gc );
/* free up the login resources */
free_logindata( session->logindata );
diff --git a/libpurple/protocols/mxit/multimx.c b/libpurple/protocols/mxit/multimx.c
--- a/libpurple/protocols/mxit/multimx.c
+++ b/libpurple/protocols/mxit/multimx.c
@@ -307,7 +307,7 @@ void multimx_created(struct MXitSession*
multimx = find_room_by_username(session, contact->username);
if (multimx == NULL) {
multimx = room_create(session, contact->username, contact->alias, TRUE);
- }
+ }
else if (multimx->state == STATE_INVITED) {
/* After successfully accepting an invitation */
multimx->state = STATE_JOINED;
@@ -454,7 +454,7 @@ GList* mxit_chat_info(PurpleConnection *
*/
void mxit_chat_join(PurpleConnection *gc, GHashTable *components)
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data(gc);
const char* roomname = NULL;
struct multimx* multimx = NULL;
@@ -496,7 +496,7 @@ void mxit_chat_join(PurpleConnection *gc
*/
void mxit_chat_reject(PurpleConnection *gc, GHashTable* components)
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data(gc);
const char* roomname = NULL;
struct multimx* multimx = NULL;
@@ -539,7 +539,7 @@ char* mxit_chat_name(GHashTable *compone
*/
void mxit_chat_invite(PurpleConnection *gc, int id, const char *msg, const char *username)
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data(gc);
struct multimx* multimx = NULL;
PurpleBuddy* buddy;
PurpleConversation *convo;
@@ -585,7 +585,7 @@ void mxit_chat_invite(PurpleConnection *
*/
void mxit_chat_leave(PurpleConnection *gc, int id)
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data(gc);
struct multimx* multimx = NULL;
purple_debug_info(MXIT_PLUGIN_ID, "Groupchat %i leave\n", id);
@@ -616,7 +616,7 @@ void mxit_chat_leave(PurpleConnection *g
*/
int mxit_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags)
{
- struct MXitSession* session = (struct MXitSession*) gc->proto_data;
+ struct MXitSession* session = purple_connection_get_protocol_data(gc);
struct multimx* multimx = NULL;
const char* nickname;
diff --git a/libpurple/protocols/mxit/mxit.c b/libpurple/protocols/mxit/mxit.c
--- a/libpurple/protocols/mxit/mxit.c
+++ b/libpurple/protocols/mxit/mxit.c
@@ -58,7 +58,7 @@ static int not_link_ref_count = 0;
static void* mxit_link_click( const char* link64 )
{
More information about the Commits
mailing list