[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    Re: KDE/kdenetwork/kopete/protocols/yahoo/libkyahoo
From:       Raphael Kubo da Costa <kubito () gmail ! com>
Date:       2010-01-20 13:32:45
Message-ID: 201001201132.45450.kubito () gmail ! com
[Download RAW message or body]

On Wednesday 20 January 2010 05:54:11 Michael Anthony Cole wrote:
> SVN commit 1077426 by michaelacole:
> 
> BUG 100504 Yahoo Animated Audibles added the service, because someone can
> send this as a message and it was being dropped, not even the text
> supplied with the audible was being displayed. added the service and the
> message handler
So apparently the bug has been fixed, but is still marked as UNCONFIRMED in 
Bugzilla.

Do you lack the privileges to change the bug status? Otherwise, you must 
remember to use the format "BUG: XXXXXX", which must be in its own line, so 
that it's properly parsed by the commit hook and the bug can be closed.

> 
>  M  +53 -2     messagereceivertask.cpp
>  M  +1 -0      messagereceivertask.h
>  M  +1 -0      yahootypes.h
>  M  +5 -0      ymsgprotocol.cpp
> 
> 
> ---
> trunk/KDE/kdenetwork/kopete/protocols/yahoo/libkyahoo/messagereceivertask.
> cpp #1077425:1077426 @@ -43,9 +43,20 @@
>  		return false;
> 
>  	if( t->service() == Yahoo::ServiceNotify )
> +	{
>  		parseNotify( t );
> +	}
>  	else
> -		parseMessage( t );
> +	{
> +		if( t->service() == Yahoo::ServiceAnimatedAudibleIcon )
> +		{
> +			parseAnimatedAudibleIcon( t );
> +		}
> +		else
> +		{
> +			parseMessage( t );
> +		}
> +	}
> 
>  	return true;
>  }
> @@ -60,7 +71,8 @@
>  	if ( t->service() == Yahoo::ServiceMessage ||
>  		t->service() == Yahoo::ServiceGameMsg ||
>  		t->service() == Yahoo::ServiceSysMessage ||
> -		t->service() == Yahoo::ServiceNotify )
> +		t->service() == Yahoo::ServiceNotify ||
> +		t->service() == Yahoo::ServiceAnimatedAudibleIcon )
>  		return true;
>  	else
>  		return false;
> @@ -112,6 +124,45 @@
>  	}
>  }
> 
> +void MessageReceiverTask::parseAnimatedAudibleIcon( YMSGTransfer *t )
> +{
> +	// added by michaelacole
> +	kDebug(YAHOO_RAW_DEBUG) ;
> +
> +	int cnt = t->paramCount( 5 );
> +	for( int i = 0; i < cnt; ++i )
> +	{
> +		QString to = t->nthParam( 5, i );
> +		QString from = t->nthParamSeparated( 1, i, 4 ).isEmpty() ? t-
>nthParam(
> 4, i ) : t->nthParamSeparated( 1, i, 4 ); +		QString msg =
> t->nthParamSeparated( 231, i, 4 );
> +		QString msg2 = t->nthParamSeparated( 230, i, 4 );
> +		QString utf8 = t->nthParamSeparated( 97, i, 4 );
> +		QString timestamp = t->nthParamSeparated( 15, i, 4 );
> +
> +		// The arrangement of the key->value pairs is different when there is
> only one message in the packet. +		// Separating by key "5" (sender)
> doesn't work in that case, because the "1" and "4" keys are sent before
> the "5" key +		if( cnt == 1 )
> +			from = t->firstParam( 1 ).isEmpty() ? t->firstParam( 4 ) :
> t->firstParam( 1 ); +
> +		if( msg.isEmpty() )
> +		{
> +			kDebug(YAHOO_RAW_DEBUG) << "Got a empty message. Dropped.";
> +			continue;
> +		}
> +
> +		if( utf8.startsWith( '1' ) )
> +		{
> +			msg = QString::fromUtf8( msg.toLatin1() );
> +		}
> +
> +		msg = "ANIMATED AUDIBLE SENT TO YOU WITH TEXT " + msg;
> +		emit gotIm( from, msg, timestamp.toLong(), 0);
> +		msg2 = "http://us.dl1.yimg.com//download.yahoo.com/dl/aud/aa/" + msg2 
+
> ".swf"; +		emit gotIm( from, msg2,timestamp.toLong(), 0);
> +
> +	}
> +}
> +
>  void MessageReceiverTask::parseNotify( YMSGTransfer *t )
>  {
>  	kDebug(YAHOO_RAW_DEBUG) ;
> ---
> trunk/KDE/kdenetwork/kopete/protocols/yahoo/libkyahoo/messagereceivertask.
> h #1077425:1077426 @@ -37,6 +37,7 @@
>  protected:
>  	virtual bool forMe( const Transfer *transfer ) const;
>  	void parseMessage( YMSGTransfer *transfer );
> +	void parseAnimatedAudibleIcon( YMSGTransfer *transfer );
>  	void parseNotify( YMSGTransfer *transfer );
>  signals:
>  	void gotIm(const QString&, const QString&, long, int);
> --- trunk/KDE/kdenetwork/kopete/protocols/yahoo/libkyahoo/yahootypes.h
> #1077425:1077426 @@ -95,6 +95,7 @@
>  		ServiceVisibility = 0xc5,	/* YMSG13, key 13: 2 = invisible, 1 = 
visible
> */ ServiceStatus = 0xc6,		/* YMSG13 */
>  		ServicePictureStatus = 0xc7,	/* YMSG13, key 213: 0 = none, 1 = 
avatar, 2
> = picture */ +		ServiceAnimatedAudibleIcon = 0xd0,	/* YMSG17 * items 230
> is a baseaddress, 231 is the text included,232 unknownitem  added by
> michaelacole*/ ServiceContactDetails = 0xd3,	/* YMSG13 */
>  		ServiceChatSession = 0xd4,
>  		ServiceAuthorization = 0xd6,	/* YMSG13 */
> --- trunk/KDE/kdenetwork/kopete/protocols/yahoo/libkyahoo/ymsgprotocol.cpp
> #1077425:1077426 @@ -298,6 +298,11 @@
>  			kDebug(YAHOO_RAW_DEBUG) << " Parsed packet service -  This means
> ServiceBuddyList " << servicenum; service = Yahoo::ServiceBuddyList;
>  		break;
> +		case (Yahoo::ServiceAnimatedAudibleIcon) :
> +			//added by michaelacole
> +			kDebug(YAHOO_RAW_DEBUG) << " Parsed packet service -  This means
> ServiceAnimatedAudibleIcon " << servicenum; +			service =
> Yahoo::ServiceAnimatedAudibleIcon;
> +		break;
>  		/*
>  		ServiceIdle, // 5 (placemarker)
>  		ServiceMailStat,
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic