# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1282200699 -10800 # Node ID 33a5d2bbf6fce39861d4300896e5cacef8ffa4c9 # Parent 2d2c7d1515f734e512b74805a3ce299f26cf84f0 Revision: 201031 Kit: 201033 diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc inc/muscallmonitorobserver.h --- a/inc/muscallmonitorobserver.h Thu Jul 15 18:35:08 2010 +0300 +++ b/inc/muscallmonitorobserver.h Thu Aug 19 09:51:39 2010 +0300 @@ -40,6 +40,8 @@ virtual void ConferenceCallL() = 0; virtual void NoActiveCallL() = 0; + + virtual void ConferenceCallLTerminated() = 0; /** * diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc inc/mussesseioninformationapi.h --- a/inc/mussesseioninformationapi.h Thu Jul 15 18:35:08 2010 +0300 +++ b/inc/mussesseioninformationapi.h Thu Aug 19 09:51:39 2010 +0300 @@ -51,7 +51,8 @@ ENoCall, ECallConnected, ECallHold, - EConferenceCall + EConferenceCall, + EConferenceTerminated }; /** Contains the call direction */ diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/inc/musavaobserver.h --- a/mmsharing/inc/musavaobserver.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/inc/musavaobserver.h Thu Aug 19 09:51:39 2010 +0300 @@ -159,6 +159,8 @@ virtual void AvailabilityError( TAvailabilityName aName, TAvailabilityStatus aStatus ) = 0; + + virtual void AvailabilitiesAbleToShowIndicator() = 0; }; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavaavailability.h --- a/mmsharing/mmshavailability/inc/musavaavailability.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavaavailability.h Thu Aug 19 09:51:39 2010 +0300 @@ -147,7 +147,16 @@ } MUS_LOG( "mus: [MUSAVA] <- CMusAvaAvailability::SetState" ) } - + + /** + * Calculate the availabilited to decide to show the toolbar or not. + * + */ + void AvailabilitiesAbleToShowIndicator() + { + iObserver.AvailabilitiesAbleToShowIndicator(); + } + /** * Returns specific availability state. * diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavaavailabilityobserver.h --- a/mmsharing/mmshavailability/inc/musavaavailabilityobserver.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavaavailabilityobserver.h Thu Aug 19 09:51:39 2010 +0300 @@ -57,6 +57,8 @@ virtual MMusAvaObserver::TAvailabilityStatus AvailabilityPluginState() = 0; + + virtual void AvailabilitiesAbleToShowIndicator() = 0; }; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavacapabilityquerybase.h --- a/mmsharing/mmshavailability/inc/musavacapabilityquerybase.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavacapabilityquerybase.h Thu Aug 19 09:51:39 2010 +0300 @@ -44,7 +44,7 @@ const TInt KCapabilityCapabilitesReady = 1; const TInt KCapabilityCapabilitesNotFound = 2; const TInt KCapabilityCapabilitiesForbidden = 3; - +const TInt KMaxRemoteUriLength = 512; /** * Sent capability query (OPTIONS) @@ -113,6 +113,12 @@ */ HBufC8* ContentLC(); + /** + * Check if Recipient address is same as that in profile. + * + */ + TBool ValidateUri(); + public: // new functions @@ -214,10 +220,18 @@ CUri8* iRegisteredContact; CUri8* iOriginator; CSIPClientTransaction* iTrx; + TBuf8 iRemoteUri; //for unit testing CAPABILITY_UT_DEFINITIONS +private: // Friend classes + +#ifdef EUNIT_TEST + friend class UT_CMusAvaCapabilityQuery; + friend class UT_CMusAvaCapabilityQueryBase; +#endif + }; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavacontactavailability.h --- a/mmsharing/mmshavailability/inc/musavacontactavailability.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavacontactavailability.h Thu Aug 19 09:51:39 2010 +0300 @@ -131,6 +131,9 @@ * @return */ virtual void ConferenceCallL(); + + + virtual void ConferenceCallLTerminated(); private: diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavadefaultimp.h --- a/mmsharing/mmshavailability/inc/musavadefaultimp.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavadefaultimp.h Thu Aug 19 09:51:39 2010 +0300 @@ -189,6 +189,8 @@ virtual MMusAvaObserver::TAvailabilityStatus AvailabilityPluginState(); + virtual void AvailabilitiesAbleToShowIndicator(); + private: // data diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavanetworkavailability.h --- a/mmsharing/mmshavailability/inc/musavanetworkavailability.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavanetworkavailability.h Thu Aug 19 09:51:39 2010 +0300 @@ -21,6 +21,7 @@ #include "musavaavailability.h" #include "muscallmonitorobserver.h" +#include "musunittesting.h" #include #include @@ -45,6 +46,8 @@ class CMusAvaNetworkAvailability : public CMusAvaAvailability, public MMusCallMonitorObserver { + MUS_UNITTEST( UT_CMusAvaNetworkAvailability ) + public: /** * Two-phased constructor @@ -148,6 +151,15 @@ * @return */ virtual void ConferenceCallL(); + + + /** + * Call on conf Terminated + * + * @since S60 v3.2 + * @return + */ + virtual void ConferenceCallLTerminated(); private: // data @@ -165,6 +177,8 @@ * Reference to availability settings object. */ CMusAvaSettingsImp& iSettings; + + TBool iConfcall; }; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/inc/musavasettingsimp.h --- a/mmsharing/mmshavailability/inc/musavasettingsimp.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/inc/musavasettingsimp.h Thu Aug 19 09:51:39 2010 +0300 @@ -258,6 +258,13 @@ * @return The SIP profile id. */ CMusAvaSip& Sip(); + + void SetOptionSentNumber( const TDesC& aTelNumber ); + + const TDesC& OptionSentTelNumber() const; + + void ReleaseOptionSentNumber(); + @@ -290,6 +297,9 @@ * Owns. */ HBufC* iTelNumber; + + HBufC* iOptionSentTelNumber; + /** * Current Call Direction diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavacalleventmonitor.cpp --- a/mmsharing/mmshavailability/src/musavacalleventmonitor.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavacalleventmonitor.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -288,6 +288,11 @@ iObserver.ConferenceCallL(); break; } + case NMusSessionInformationApi::EConferenceTerminated: + { + iObserver.ConferenceCallLTerminated(); + break; + } default: { diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp --- a/mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -51,6 +51,13 @@ #include "musavasipheaderutil.h" #include "mussesseioninformationapi.h" +_LIT8( KMusSipPrefix, "sip:" ); +_LIT8( KMusTelPrefix, "tel:" ); +_LIT8( KMusPlusSign, "+" ); +_LIT8( KMusAtSign, "@" ); + +const TInt KMusMinDigitCountInTelNumber = 7; + // -------------------------------------------------------------------------- // C++ constructor // -------------------------------------------------------------------------- @@ -154,6 +161,7 @@ CleanupStack::PopAndDestroy(sipAddress); HBufC8* sipAddress8 = EscapeUtils::ConvertFromUnicodeToUtf8L( aSipAddress ); + iRemoteUri.Copy( sipAddress8->Des() ) ; CleanupStack::PushL( sipAddress8 ); iTerminal = &Capability().Exchange().TerminalL( sipAddress8->Des() ); CleanupStack::PopAndDestroy( sipAddress8 ) ; @@ -568,4 +576,107 @@ MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::OtherSDPHeadersL" ) } +// -------------------------------------------------------------------------- +// CMusAvaCapabilityQueryBase::ValidateUri +// -------------------------------------------------------------------------- +// +TBool CMusAvaCapabilityQueryBase::ValidateUri() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilityQueryBase::ValidateUri" ) + + TBool valid = ETrue; + + const TDesC8& originator = iOriginator->Uri().UriDes(); + MUS_LOG_TDESC8( "mus: [MUSAVA] originator uri: ", originator ) + TBuf8 sipUri; + TBuf8 telUri; + + if ( iRemoteUri.FindF( KMusSipPrefix ) != KErrNotFound ) + { + sipUri.Copy( iRemoteUri ); + MUS_LOG_TDESC8( "mus: [MUSAVA] sip uri: ", sipUri ) + } + else if ( iRemoteUri.FindF( KMusTelPrefix ) != KErrNotFound ) + { + telUri.Copy( iRemoteUri ); + MUS_LOG_TDESC8( "mus: [MUSAVA] tel uri: ", telUri ) + } + + // Tel Uri case + if ( telUri.Length() > 0 ) + { + telUri.Trim(); + + // Remove prefix and plus sign from remote uri if there is + TPtrC8 telUriWithoutPrefix = + telUri.Right( telUri.Length() - KMusTelPrefix().Length() ); + MUS_LOG_TDESC8( "mus: [MUSAVA] telUriWithoutPrefix: ", telUriWithoutPrefix ) + + TPtrC8 numberPartOfTelUri = + telUriWithoutPrefix.Find( KMusPlusSign ) == 0 ? + telUriWithoutPrefix.Right( telUriWithoutPrefix.Length() - 1 ) : + telUriWithoutPrefix; + MUS_LOG_TDESC8( "mus: [MUSAVA] numberPartOfTelUri: ", numberPartOfTelUri ) + + // Remove prefix and domain part from uri in profile + TPtrC8 originatorWithoutPrefix = + originator.Right( originator.Length() - KMusSipPrefix().Length() ); + MUS_LOG_TDESC8( "mus: [MUSAVA] originatorWithoutPrefix: ", originatorWithoutPrefix ) + + TPtrC8 usernameOfOriginator = + originatorWithoutPrefix.Find( KMusPlusSign ) == 0 ? + originatorWithoutPrefix.Right( originatorWithoutPrefix.Length() - 1 ) : + originatorWithoutPrefix; + + TInt posOfAtSign = originatorWithoutPrefix.Find( KMusAtSign ); + + if ( posOfAtSign >= KMusMinDigitCountInTelNumber ) + { + usernameOfOriginator.Set( + originatorWithoutPrefix.Mid( (originatorWithoutPrefix.Find( KMusAtSign ) + - KMusMinDigitCountInTelNumber), KMusMinDigitCountInTelNumber ) ); + MUS_LOG_TDESC8( "mus: [MUSAVA] usernameOfOriginator: ", usernameOfOriginator ) + } + + else + { + usernameOfOriginator.Set( originatorWithoutPrefix.Left( posOfAtSign ) ); + MUS_LOG_TDESC8( "mus: [MUSAVA] usernameOfOriginator: ", usernameOfOriginator ) + } + + if ( numberPartOfTelUri.Length() >= KMusMinDigitCountInTelNumber ) + { + numberPartOfTelUri.Set( numberPartOfTelUri.Right( KMusMinDigitCountInTelNumber ) ); + MUS_LOG_TDESC8( "mus: [MUSAVA] numberPartOfTelUri: ", numberPartOfTelUri ) + } + + + if ( numberPartOfTelUri == usernameOfOriginator ) + { + MUS_LOG( "mus: Recipient address is evaluated to be same as in profile.\ + We do not send OPTIONS") + valid = EFalse; + MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::ValidateUri" ) + return valid; + } + } + + // SIP Uri case + if ( sipUri.Length() > 0 ) + { + if ( !originator.Compare( sipUri ) ) + { + MUS_LOG( "mus: Recipient address is evaluated to be same as in profile.\ + We do not send OPTIONS") + valid = EFalse; + MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::ValidateUri" ) + return valid; + } + } + + MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::ValidateUri" ) + return valid; + } + + diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp --- a/mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -30,6 +30,7 @@ #include #include +#include "mussettings.h" #include "muslogger.h" #include "musavacapabilityexchange.h" #include "musavacapabilityquery.h" @@ -164,12 +165,25 @@ { MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::IncomingRequest" ) TInt retval = KErrNone; + MusSettingsKeys::TOperatorVariant variantValue = MusSettingsKeys::EStandard; + TRAPD( error, variantValue = + MultimediaSharingSettings::OperatorVariantSettingL() ); + if( error ) + { + MUS_LOG("CMusAvaCapabilitySipAgent::IncomingRequest\ + Get OperatorVariantSettingL worng"); + } + if ( aTransaction->Type() == SIPStrings::StringF( SipStrConsts::EOptions ) ) { - // Answer 200OK only when CS call remain at Availability States + // Answer 200OK when CS call remain at Availability States + //or at EMusAvaOptionNotAvailable State in operatorspecific mode if ( MMusAvaObserver::EMusAvaStatusNotExecuted <= - iAvailabilityObserver.AvailabilityPluginState() ) + iAvailabilityObserver.AvailabilityPluginState() + ||( ( iAvailabilityObserver.AvailabilityPluginState() == + MMusAvaObserver::EMusAvaOptionNotAvailable ) + && ( variantValue == MusSettingsKeys::EOperatorSpecific ))) { retval = iCapabilityExchange.QueryObserver().CapabilityQueryAnswered() ? diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavacontactavailability.cpp --- a/mmsharing/mmshavailability/src/musavacontactavailability.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavacontactavailability.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -264,6 +264,11 @@ { } + +void CMusAvaContactAvailability::ConferenceCallLTerminated () + { + } + // ------------------------------------------------------------------------- // // ------------------------------------------------------------------------- diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavadefaultimp.cpp --- a/mmsharing/mmshavailability/src/musavadefaultimp.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavadefaultimp.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -368,6 +368,11 @@ } +void CMusAvaDefaultImp::AvailabilitiesAbleToShowIndicator() + { + iObserver->AvailabilitiesAbleToShowIndicator(); + } + // ----------------------------------------------------------------------------- // Availability error. // ----------------------------------------------------------------------------- diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavadefaultoptionhandler.cpp --- a/mmsharing/mmshavailability/src/musavadefaultoptionhandler.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavadefaultoptionhandler.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -419,6 +419,9 @@ LocalHostL( aTransaction,localHost,hostType); CSdpOriginField* originField = CreateOriginFieldL(localHost,hostType); sdpDocument->SetOriginField(originField); + //session name + _LIT8(KSessionName, "-"); + sdpDocument->SetSessionNameL(KSessionName); // Connection field CSdpConnectionField* connectionField = CSdpConnectionField::NewL( netType, hostType, localHost ); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavanetworkavailability.cpp --- a/mmsharing/mmshavailability/src/musavanetworkavailability.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavanetworkavailability.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -74,7 +74,8 @@ MMusAvaAvailabilityObserver& aObserver, CMusAvaSettingsImp& aSettings ) :CMusAvaAvailability( aObserver ), - iSettings( aSettings ) + iSettings( aSettings ), + iConfcall( EFalse ) { } @@ -151,12 +152,27 @@ { MUS_LOG( "mus: [MUSAVA] \ -> CMusAvaNetworkAvailability::CallConnectedL()" ) - // try to resolve to contact information of the remote host - - iSettings.SetTelNumberL( aTelNumber ); - iSettings.SetCallDirection( iPhoneStatus->CallDirectionL() ); - iSettings.SetCallPrivacy( iPhoneStatus->CallPrivacyL() ); - SetState( MMusAvaObserver::EMusAvaStatusAvailable ); + +// try to resolve to contact information of the remote host + iSettings.SetTelNumberL( aTelNumber ); + iSettings.SetCallDirection( iPhoneStatus->CallDirectionL() ); + iSettings.SetCallPrivacy( iPhoneStatus->CallPrivacyL() ); + + //isn't the phone sent option successfully + if ( ( aTelNumber != iSettings.OptionSentTelNumber() + || iSettings.OptionSentTelNumber() == KNullDesC() ) + && iConfcall ) + { + MUS_LOG("CMusAvaNetworkAvailability::CallConnectedL EMusAvaStatusInProgress"); + iSettings.ReleaseOptionSentNumber(); + SetState( MMusAvaObserver::EMusAvaStatusInProgress ); + } + else + { + SetState( MMusAvaObserver::EMusAvaStatusAvailable ); + MUS_LOG("CMusAvaNetworkAvailability::CallConnectedL EMusAvaStatusAvailable"); + + } MUS_LOG( "mus: [MUSAVA] \ <- CMusAvaNetworkAvailability::CallConnectedL()" ) @@ -173,6 +189,7 @@ MUS_LOG( "mus: [MUSAVA] \ -> CMusAvaNetworkAvailability::ConferenceCallL()" ) //Report line status + iConfcall = ETrue; SetState( MMusAvaObserver::EMusAvaStatusConferenceCall ); MUS_LOG( "mus: [MUSAVA] \ <- CMusAvaNetworkAvailability::ConferenceCallL()" ) @@ -212,3 +229,20 @@ MUS_LOG( "mus: [MUSAVA] <- CMusAvaNetworkAvailability::NoActiveCallL()" ) } + +// ------------------------------------------------------------------------- +//This function is called when conference call terminted +// +// ------------------------------------------------------------------------- +// +void CMusAvaNetworkAvailability::ConferenceCallLTerminated() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaNetworkAvailability::ConferenceCallLTerminated()" ) + if ( iConfcall ) + { + iConfcall = EFalse; + } + AvailabilitiesAbleToShowIndicator(); + + MUS_LOG( "mus: [MUSAVA] <- CMusAvaNetworkAvailability::ConferenceCallLTerminated()" ) + } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavanetworkmodestatus.cpp --- a/mmsharing/mmshavailability/src/musavanetworkmodestatus.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavanetworkmodestatus.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -54,8 +54,11 @@ iObserver.Reset(); iObserver.Close(); iPhone.Close(); - iTelServer.UnloadPhoneModule( KMmTsyModuleName ); - iTelServer.Close(); + if( iTelServer.Handle() ) + { + iTelServer.UnloadPhoneModule( KMmTsyModuleName ); + iTelServer.Close(); + } } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavanetworkregistrationstatus.cpp --- a/mmsharing/mmshavailability/src/musavanetworkregistrationstatus.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavanetworkregistrationstatus.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -51,8 +51,11 @@ iObserver.Reset(); iObserver.Close(); iPhone.Close(); - iTelServer.UnloadPhoneModule( KMmTsyModuleName ); - iTelServer.Close(); + if( iTelServer.Handle() ) + { + iTelServer.UnloadPhoneModule( KMmTsyModuleName ); + iTelServer.Close(); + } } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavaoptionhandler.cpp --- a/mmsharing/mmshavailability/src/musavaoptionhandler.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavaoptionhandler.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -341,6 +341,8 @@ { // tell the upper layer that // query was succesfull. VS is available + //record the number + iSettings.SetOptionSentNumber( iSettings.TelNumber() ); SetState( MMusAvaObserver::EMusAvaStatusAvailable ); } else if ( aSentQuery.Result() == KCapabilityCapabilitiesForbidden ) diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavaregisteravailability.cpp --- a/mmsharing/mmshavailability/src/musavaregisteravailability.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavaregisteravailability.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -5,7 +5,7 @@ * under the terms of "Eclipse Public License v1.0" * which accompanies this distribution, and is available * at the URL "http://www.eclipse.org/legal/epl-v10.html". -* Version : %version: 42.1.4.1.3 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: be1sipx1#42.1.4.1.4 % << Don't touch! Updated by Synergy at check-out. * * Initial Contributors: * Nokia Corporation - initial contribution. @@ -120,7 +120,11 @@ { MUS_LOG( "mus: [MUSAVA] -> CMusAvaRegisterAvailability::DoExecuteL " ) SetState( MMusAvaObserver::EMusAvaStatusInProgress ); - RegisterL(); + TRAPD( err, RegisterL() ); + if( err != KErrNone ) + { + SetState( MMusAvaObserver::EMusAvaStatusNotRegistered ); + } // TBD: SetState( MMusAvaObserver::EMusAvaNameRegistration ); MUS_LOG( "mus: [MUSAVA] <- CMusAvaRegisterAvailability::DoExecuteL " ) diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavasettingsimp.cpp --- a/mmsharing/mmshavailability/src/musavasettingsimp.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavasettingsimp.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -56,6 +56,9 @@ delete iContactName; iContactName = NULL; + + delete iOptionSentTelNumber; + iOptionSentTelNumber = NULL ; delete iSipAddressProposal; iSipAddressProposal = NULL ; @@ -102,6 +105,8 @@ { MUS_LOG( "mus: [MUSAVA] -> CMusAvaSettingsImp::ConstructL()" ) iTelNumber = HBufC::NewL( 0 ); + + iOptionSentTelNumber = HBufC::NewL( 0 ); iContactName = HBufC::NewL( 0 ); @@ -118,7 +123,8 @@ iAudioCodecs = new( ELeave ) CDesCArrayFlat( 1 ); MUS_LOG( "mus: [MUSAVA] <- CMusAvaSettingsImp::ConstructL()" ) - } + } + // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- @@ -127,6 +133,7 @@ { return iManualActivation; } + // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- @@ -142,6 +149,51 @@ // // ----------------------------------------------------------------------------- // +void CMusAvaSettingsImp::SetOptionSentNumber( const TDesC& aTelNumber ) + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSettingsImp::SetOptionSentNumber() " ) + MUS_LOG_TDESC( "mus: [MUSAVA] aTelNumber = ", aTelNumber ) + delete iOptionSentTelNumber; + iOptionSentTelNumber = NULL ; + TRAPD ( error , iOptionSentTelNumber = aTelNumber.AllocL() ); + if ( error ) + { + MUS_LOG1("CMusAvaSettingsImp::SetOptionSentNumber() leave code: %d ", error); + } + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSettingsImp::SetOptionSentNumber() " ) + } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +const TDesC& CMusAvaSettingsImp::OptionSentTelNumber() const + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSettingsImp::OptionSentTelNumber() " ) + return *iOptionSentTelNumber; + } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void CMusAvaSettingsImp::ReleaseOptionSentNumber () + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSettingsImp::ReleaseOptionSentNumber() " ) + delete iOptionSentTelNumber; + iOptionSentTelNumber = NULL; + TRAPD ( err , iOptionSentTelNumber = HBufC::NewL( 0 ) ); + if ( err ) + { + MUS_LOG1("CMusAvaSettingsImp::ReleaseOptionSentNumber() leave code: %d ", err); + } + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSettingsImp::ReleaseOptionSentNumber() " ) + } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// const TDesC& CMusAvaSettingsImp::ContactName() const { MUS_LOG( "mus: [MUSAVA] -> CMusAvaSettingsImp::ContactName()" ) diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/src/musavaterminal.cpp --- a/mmsharing/mmshavailability/src/musavaterminal.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/src/musavaterminal.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -189,7 +189,15 @@ ResetAndDestroyQuery(); - aQuery->ExecuteL(); + if( aQuery->ValidateUri() ) + { + aQuery->ExecuteL(); + } + + else + { + User::Leave( KErrNotSupported ); + } iQuery = aQuery; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaavailabilityobserverimp.h --- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaavailabilityobserverimp.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaavailabilityobserverimp.h Thu Aug 19 09:51:39 2010 +0300 @@ -118,6 +118,9 @@ virtual MMusAvaObserver::TAvailabilityStatus AvailabilityPluginState(); + + + virtual void AvailabilitiesAbleToShowIndicator(); /** diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaobserverimp.h --- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaobserverimp.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaobserverimp.h Thu Aug 19 09:51:39 2010 +0300 @@ -108,6 +108,8 @@ virtual void AvailabilityError( MMusAvaObserver::TAvailabilityName aName, MMusAvaObserver::TAvailabilityStatus aStatus ); + + virtual void AvailabilitiesAbleToShowIndicator(); public: diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/CMusAvaAvailabilityObserverImp.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/CMusAvaAvailabilityObserverImp.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/CMusAvaAvailabilityObserverImp.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -113,3 +113,8 @@ && MMusAvaObserver::EMusAvaStatusAvailable == iStatus ); } +void CMusAvaAvailabilityObserverImp::AvailabilitiesAbleToShowIndicator() + { + //nothing to do + } + diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/musavaobserverimp.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/musavaobserverimp.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/musavaobserverimp.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -93,4 +93,8 @@ } + void CMusAvaObserverImp::AvailabilitiesAbleToShowIndicator() + { + //nothing to do + } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaCapabilityQuery.h --- a/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaCapabilityQuery.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaCapabilityQuery.h Thu Aug 19 09:51:39 2010 +0300 @@ -82,6 +82,8 @@ void UT_CMusAvaCapabilityQuery_ExecuteLL(); + void UT_CMusAvaCapabilityQuery_ValidateUriL(); + void UT_CMusAvaCapabilityQuery_CanceledL(); void UT_CMusAvaCapabilityQuery_CompletedLL(); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaSettingsImp.h --- a/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaSettingsImp.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaSettingsImp.h Thu Aug 19 09:51:39 2010 +0300 @@ -111,6 +111,11 @@ void UT_CMusAvaSettingsImp_CopyDescArrayLL(); + void UT_CMusAvaSettingsImp_SetOptionSentNumber(); + + const UT_CMusAvaSettingsImp_OptionSentTelNumber(); + + void UT_CMusAvaSettingsImp_ReleaseOptionSentNumber(); EUNIT_DECLARE_TEST_TABLE; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -392,6 +392,62 @@ CleanupStack::PopAndDestroy( capabQueryObserver ); } + +void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ValidateUriL() + { + if( iQuery->iOriginator ) + { + delete iQuery->iOriginator; + } + + //SIP Uri case, identical + CSIPAddress* iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:username111@domain.com") ); + CleanupStack::PushL( iOriginatorSipAddress ); + + iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() ); + iQuery->iRemoteUri.Copy( _L8("sip:username111@domain.com") ); + + EUNIT_ASSERT( iQuery->ValidateUri() == EFalse ); + + CleanupStack::PopAndDestroy(iOriginatorSipAddress); + + delete iQuery->iOriginator; + + //SIP Uri case, not identical + iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:username111@domain.com") ); + CleanupStack::PushL( iOriginatorSipAddress ); + + iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() ); + iQuery->iRemoteUri.Copy( _L8("sip:username222@domain.com") ); + + EUNIT_ASSERT( iQuery->ValidateUri() == ETrue ); + CleanupStack::PopAndDestroy(iOriginatorSipAddress); + + delete iQuery->iOriginator; + + //TEL Uri, identical + iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:18586037801@domain.com") ); + CleanupStack::PushL( iOriginatorSipAddress ); + + iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() ); + iQuery->iRemoteUri.Copy( _L8("tel:8586037801") ); + + EUNIT_ASSERT( iQuery->ValidateUri() == EFalse ); + CleanupStack::PopAndDestroy(iOriginatorSipAddress); + + delete iQuery->iOriginator; + + //TEL Uri, not identical + iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:18586037801@domain.com") ); + CleanupStack::PushL( iOriginatorSipAddress ); + + iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() ); + iQuery->iRemoteUri.Copy( _L8("tel:9876543210") ); + + EUNIT_ASSERT( iQuery->ValidateUri() == ETrue ); + CleanupStack::PopAndDestroy(iOriginatorSipAddress); + } + void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CanceledL( ) { @@ -1164,7 +1220,14 @@ "ExecuteL", "FUNCTIONALITY", SetupL,UT_CMusAvaCapabilityQuery_ExecuteLL, Teardown) - + +EUNIT_TEST( + "ValidateUri - test ", + "CMusAvaCapabilityQuery", + "ValidateUri", + "FUNCTIONALITY", + SetupL,UT_CMusAvaCapabilityQuery_ValidateUriL, Teardown) + EUNIT_TEST( "Canceled - test ", "CMusAvaCapabilityQuery", diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -32,6 +32,7 @@ #include "mussesseioninformationapi.h" _LIT( KTelNumber, "12345" ); +_LIT( KAnotherTelNumber, "54321" ); // CONSTRUCTION UT_CMusAvaNetworkAvailability* UT_CMusAvaNetworkAvailability::NewL() @@ -176,9 +177,20 @@ NMusSessionInformationApi::KMUSPrivacy, 0 )); + iNetworkAvailability->iConfcall = ETrue; + iNetworkAvailability->iSettings.SetOptionSentNumber( KTelNumber ); iNetworkAvailability->CallConnectedL( KTelNumber ); EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), MMusAvaObserver::EMusAvaStatusAvailable ); + + + iNetworkAvailability->iSettings.SetOptionSentNumber( KAnotherTelNumber ); + iNetworkAvailability->CallConnectedL( KTelNumber ); + EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), + MMusAvaObserver::EMusAvaStatusInProgress ); + EUNIT_ASSERT( iNetworkAvailability->iSettings.OptionSentTelNumber().Length() == 0 ); + + EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber ); } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSettingsImp.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSettingsImp.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSettingsImp.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -197,6 +197,28 @@ EUNIT_ASSERT( iSettingsImp->iTelNumber->Compare( KNumber ) == 0 ); } + +void UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_SetOptionSentNumber() + { + _LIT( KNumber , "123456789" ); + iSettingsImp->SetOptionSentNumber( KNumber ); + EUNIT_ASSERT( iSettingsImp->iOptionSentTelNumber->Compare( KNumber ) == 0 ); + } + +const UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_OptionSentTelNumber() + { + EUNIT_ASSERT( iSettingsImp->OptionSentTelNumber().Length() == 0 ); + } + +void UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_ReleaseOptionSentNumber() + { + _LIT( KNumber , "123456789" ); + iSettingsImp->SetOptionSentNumber( KNumber ); + EUNIT_ASSERT( iSettingsImp->iOptionSentTelNumber->Compare( KNumber ) == 0 ); + iSettingsImp->ReleaseOptionSentNumber(); + EUNIT_ASSERT( iSettingsImp->iOptionSentTelNumber->Length() == 0 ) + } + void UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_SetSipAddressProposalLL( ) { _LIT( KNumber , "123456789" ); @@ -514,6 +536,28 @@ "Sip", "FUNCTIONALITY", SetupL, UT_CMusAvaSettingsImp_CopyDescArrayLL, Teardown) + +EUNIT_TEST( + "SetOptionSentNumber - test ", + "CMusAvaSettingsImp", + "SetOptionSentNumber", + "FUNCTIONALITY", + SetupL, UT_CMusAvaSettingsImp_SetOptionSentNumber, Teardown) + +EUNIT_TEST( + "OptionSentTelNumber - test ", + "CMusAvaSettingsImp", + "OptionSentTelNumber", + "FUNCTIONALITY", + SetupL, UT_CMusAvaSettingsImp_OptionSentTelNumber, Teardown) + +EUNIT_TEST( + "ReleaseOptionSentNumber - test ", + "CMusAvaSettingsImp", + "ReleaseOptionSentNumber", + "FUNCTIONALITY", + SetupL, UT_CMusAvaSettingsImp_ReleaseOptionSentNumber, Teardown) + EUNIT_END_TEST_TABLE diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -40,6 +40,7 @@ #include "musavasharedobject.h" #include "mussettings.h" +_LIT8( KCapabilityTestOriginatorSIPAddressUri8, "sip:user@domain.com"); // CONSTRUCTION UT_CMusAvaTerminal* UT_CMusAvaTerminal::NewL() @@ -218,7 +219,7 @@ if ( !iProfile->iArray ) { iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 ); - iProfile->iArray->AppendL( _L8("sip:user@domain.com") ); + iProfile->iArray->AppendL( KCapabilityTestOriginatorSIPAddressUri8 ); } EUNIT_ASSERT( iExchange->Terminals().Count() == 0 ); @@ -257,6 +258,8 @@ EUNIT_ASSERT( terminal.iQueries == 1 ); EUNIT_ASSERT( terminal.iQuery == query ); + + CMusAvaCapabilityQuery* tmpQuery = query; query = CMusAvaCapabilityQuery::NewL( *iCapability, *iSIPConnection, *iProfile, @@ -264,12 +267,22 @@ CleanupStack::PushL( query ); EUNIT_ASSERT( iExchange->Terminals().Count() == 1 ); EUNIT_ASSERT( terminal.iQueries == 2 ); - + + //Second query cannot be executed EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ), KErrAlreadyExists ) EUNIT_ASSERT( terminal.iQuery != query ); + + + //Uri identical case + terminal.iQuery = NULL; + query->iRemoteUri.Copy( KCapabilityTestOriginatorSIPAddressUri8 ); + EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ), + KErrNotSupported ) + CleanupStack::PopAndDestroy( query ); + delete tmpQuery; } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/bwins/musengineu.def --- a/mmsharing/mmshengine/bwins/musengineu.def Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/bwins/musengineu.def Thu Aug 19 09:51:39 2010 +0300 @@ -31,44 +31,45 @@ ?SetVolumeL@CMusEngSession@@UAEXH@Z @ 30 NONAME ; void CMusEngSession::SetVolumeL(int) ?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 31 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void) ?CancelTranscodeL@CMusEngClipSession@@QAEXXZ @ 32 NONAME ; void CMusEngClipSession::CancelTranscodeL(void) - ?PauseL@CMusEngClipSession@@UAEXXZ @ 33 NONAME ; void CMusEngClipSession::PauseL(void) - ?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 34 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void) - ?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 35 NONAME ; void CMusEngClipSession::FastForwardL(int) - ?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 36 NONAME ; void CMusEngLiveSession::SetZoomL(int) - ?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 37 NONAME ; void CMusEngSession::SetRectL(class TRect const &) - ?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 38 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int) - ?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 39 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void) - ?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 40 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void) - ?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 41 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &) - ?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 42 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation) - ?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 43 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const - ?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 44 NONAME ; int CMusEngMceSession::ContainsAudioL(void) - ?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 45 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &) - ?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 46 NONAME ; void CMusEngMceSession::VolumeUpL(void) - ?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 47 NONAME ; int CMusEngClipSession::IsPlayingL(void) - ?PlayL@CMusEngClipSession@@UAEXXZ @ 48 NONAME ; void CMusEngClipSession::PlayL(void) - ?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 49 NONAME ; void CMusEngLiveSession::ZoomInL(void) - ?PauseL@CMusEngLiveSession@@UAEXXZ @ 50 NONAME ; void CMusEngLiveSession::PauseL(void) - ?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 51 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const - ?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 52 NONAME ; void CMusEngMceSession::SetVolumeL(int) - ?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 53 NONAME ; class TRect CMusEngSession::Rect(void) const - ?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 54 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void) - ?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 55 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const - ?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 56 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &) - ?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 57 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const - ?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 58 NONAME ; void CMusEngMceSession::VolumeDownL(void) - ?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 59 NONAME ; void CMusEngLiveSession::ZoomOutL(void) - ?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 60 NONAME ; int CMusEngMceSession::ConnectionActive(void) const - ?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 61 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void) - ?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 62 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const - ?AudioOutputIsBT@CMusEngSession@@QBEHXZ @ 63 NONAME ; int CMusEngSession::AudioOutputIsBT(void) const - ?MuteMicL@CMusEngSession@@QAEXH@Z @ 64 NONAME ; void CMusEngSession::MuteMicL(int) - ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 65 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int) - ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 66 NONAME ; void CMusEngMceSession::EnableDisplayL(int) - ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 67 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const - ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 68 NONAME ; void CMusEngLiveSession::RecordL(int) - ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 69 NONAME ; int CMusEngLiveSession::IsPlayingL(void) - ?TerminateL@CMusEngMceSession@@QAEXXZ @ 70 NONAME ; void CMusEngMceSession::TerminateL(void) - ?PlayL@CMusEngLiveSession@@UAEXXZ @ 71 NONAME ; void CMusEngLiveSession::PlayL(void) - ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 72 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &) + ?IsAudioRoutingHeadset@CMusEngSession@@QBEHXZ @ 33 NONAME ; int CMusEngSession::IsAudioRoutingHeadset(void) const + ?PauseL@CMusEngClipSession@@UAEXXZ @ 34 NONAME ; void CMusEngClipSession::PauseL(void) + ?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 35 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void) + ?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 36 NONAME ; void CMusEngClipSession::FastForwardL(int) + ?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 37 NONAME ; void CMusEngLiveSession::SetZoomL(int) + ?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 38 NONAME ; void CMusEngSession::SetRectL(class TRect const &) + ?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 39 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int) + ?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 40 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void) + ?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 41 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void) + ?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 42 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &) + ?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 43 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation) + ?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 44 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const + ?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 45 NONAME ; int CMusEngMceSession::ContainsAudioL(void) + ?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 46 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &) + ?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 47 NONAME ; void CMusEngMceSession::VolumeUpL(void) + ?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 48 NONAME ; int CMusEngClipSession::IsPlayingL(void) + ?PlayL@CMusEngClipSession@@UAEXXZ @ 49 NONAME ; void CMusEngClipSession::PlayL(void) + ?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 50 NONAME ; void CMusEngLiveSession::ZoomInL(void) + ?PauseL@CMusEngLiveSession@@UAEXXZ @ 51 NONAME ; void CMusEngLiveSession::PauseL(void) + ?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 52 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const + ?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 53 NONAME ; void CMusEngMceSession::SetVolumeL(int) + ?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 54 NONAME ; class TRect CMusEngSession::Rect(void) const + ?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 55 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void) + ?IsAudioRoutingLoudSpeaker@CMusEngSession@@QBEHXZ @ 56 NONAME ; int CMusEngSession::IsAudioRoutingLoudSpeaker(void) const + ?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 57 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const + ?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 58 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &) + ?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 59 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const + ?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 60 NONAME ; void CMusEngMceSession::VolumeDownL(void) + ?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 61 NONAME ; void CMusEngLiveSession::ZoomOutL(void) + ?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 62 NONAME ; int CMusEngMceSession::ConnectionActive(void) const + ?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 63 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void) + ?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 64 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const + ?MuteMicL@CMusEngSession@@QAEXH@Z @ 65 NONAME ; void CMusEngSession::MuteMicL(int) + ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 66 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int) + ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 67 NONAME ; void CMusEngMceSession::EnableDisplayL(int) + ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 68 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const + ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 69 NONAME ; void CMusEngLiveSession::RecordL(int) + ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 70 NONAME ; int CMusEngLiveSession::IsPlayingL(void) + ?TerminateL@CMusEngMceSession@@QAEXXZ @ 71 NONAME ; void CMusEngMceSession::TerminateL(void) + ?PlayL@CMusEngLiveSession@@UAEXXZ @ 72 NONAME ; void CMusEngLiveSession::PlayL(void) + ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 73 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &) diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/eabi/musengineu.def --- a/mmsharing/mmshengine/eabi/musengineu.def Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/eabi/musengineu.def Thu Aug 19 09:51:39 2010 +0300 @@ -58,8 +58,8 @@ _ZN20CMusEngMceOutSession7InviteLERK7TDesC16 @ 57 NONAME _ZN21CMusEngReceiveSession17AcceptInvitationLERKi @ 58 NONAME _ZN21CMusEngReceiveSession4NewLERK5TRectR22MMusEngSessionObserverR29MMusEngReceiveSessionObserver @ 59 NONAME - _ZNK14CMusEngSession15AudioOutputIsBTEv @ 60 NONAME - _ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 61 NONAME + _ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 60 NONAME + _ZNK14CMusEngSession21IsAudioRoutingHeadsetEv @ 61 NONAME _ZNK14CMusEngSession24AudioRoutingCanBeChangedEv @ 62 NONAME _ZNK14CMusEngSession4RectEv @ 63 NONAME _ZNK14CMusEngSession7VolumeLEv @ 64 NONAME @@ -90,4 +90,5 @@ _ZTV21CMusEngTelephoneUtils @ 89 NONAME _ZTV21CMusSipProfileHandler @ 90 NONAME _ZTV27CMusEngSessionDurationTimer @ 91 NONAME + _ZNK14CMusEngSession25IsAudioRoutingLoudSpeakerEv @ 92 NONAME diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/inc/musengsession.h --- a/mmsharing/mmshengine/inc/musengsession.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/inc/musengsession.h Thu Aug 19 09:51:39 2010 +0300 @@ -83,13 +83,20 @@ IMPORT_C TBool AudioRoutingCanBeChanged() const; /** - * Checks if audio output is BT + * Checks if audio routing is headset * - * @return ETrue if audio routing is BT + * @return ETrue if audio routing is headset */ - IMPORT_C TBool AudioOutputIsBT() const; + IMPORT_C TBool IsAudioRoutingHeadset() const; /** + * Checks if audio routing is LoudSpeaker + * + * @return ETrue if audio routing is LoudSpeaker and + * currentMode != iAudioOutputAtStartup + */ + IMPORT_C TBool IsAudioRoutingLoudSpeaker() const; + /** * Activates/deactivates loadspeaker * * @param TBool Enable or disable loudspeaker diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/inc/musengtelephoneutils.h --- a/mmsharing/mmshengine/inc/musengtelephoneutils.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/inc/musengtelephoneutils.h Thu Aug 19 09:51:39 2010 +0300 @@ -70,11 +70,19 @@ TBool AudioRoutingCanBeChanged() const; /** - * Checks if audio output is BT + * Checks if audio routing is headset * - * @return ETrue if audio routing is BT + * @return ETrue if audio routing is headset */ - TBool AudioOutputIsBT() const; + TBool IsAudioRoutingHeadset() const; + + /** + * Checks if audio routing is LoudSpeaker + * + * @return ETrue if audio routing is LoudSpeaker and + * currentMode != iAudioOutputAtStartup + */ + TBool IsAudioRoutingLoudSpeaker() const; /** * Changes the audio routing between loudspeaker and handset. diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/src/musengsession.cpp --- a/mmsharing/mmshengine/src/musengsession.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/src/musengsession.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -75,11 +75,19 @@ // // ----------------------------------------------------------------------------- // -EXPORT_C TBool CMusEngSession::AudioOutputIsBT() const +EXPORT_C TBool CMusEngSession::IsAudioRoutingHeadset() const { - return iTelephoneUtils->AudioOutputIsBT(); + return iTelephoneUtils->IsAudioRoutingHeadset(); } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CMusEngSession::IsAudioRoutingLoudSpeaker() const + { + return iTelephoneUtils->IsAudioRoutingLoudSpeaker(); + } // ----------------------------------------------------------------------------- // diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/src/musengtelephoneutils.cpp --- a/mmsharing/mmshengine/src/musengtelephoneutils.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/src/musengtelephoneutils.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -97,8 +97,7 @@ { MUS_LOG( "mus: [ENGINE] -> CMusEngTelephoneUtils::AudioRoutingCanBeChanged" ) - TBool retValue = ( iTelephonyAudioRouting->Output() != - CTelephonyAudioRouting::EWiredAudioAccessory && + TBool retValue = ( iTelephonyAudioRouting->Output() != CTelephonyAudioRouting::ETTY ); @@ -113,19 +112,48 @@ // // ----------------------------------------------------------------------------- // -TBool CMusEngTelephoneUtils::AudioOutputIsBT() const +TBool CMusEngTelephoneUtils::IsAudioRoutingHeadset() const { - MUS_LOG( "mus: [ENGINE] -> CMusEngTelephoneUtils::AudioOutputIsBT" ) + MUS_LOG( "mus: [ENGINE] -> CMusEngTelephoneUtils::IsAudioRoutingHeadset" ) TBool retValue = ( iTelephonyAudioRouting->Output() == - CTelephonyAudioRouting::EBTAudioAccessory ); + CTelephonyAudioRouting::EBTAudioAccessory || + iTelephonyAudioRouting->Output() == + CTelephonyAudioRouting::EWiredAudioAccessory ); - MUS_LOG1( "mus: [ENGINE] <- CMusEngTelephoneUtils::AudioOutputIsBT: %d", + MUS_LOG1( "mus: [ENGINE] <- CMusEngTelephoneUtils::IsAudioRoutingHeadset: %d", retValue ) return retValue; } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +TBool CMusEngTelephoneUtils::IsAudioRoutingLoudSpeaker() const + { + MUS_LOG( "mus: [ENGINE] -> CMusEngTelephoneUtils::IsAudioRoutingLoudSpeaker" ) + TBool retValue = EFalse; + + CTelephonyAudioRouting::TAudioOutput currentMode = + iTelephonyAudioRouting->Output(); + MUS_LOG1( "mus: [ENGINE] iAudioOutputAtStartup: %d", iAudioOutputAtStartup ); + MUS_LOG1( "mus: [ENGINE] currentMode: %d", currentMode ); + + if( currentMode != iAudioOutputAtStartup && + currentMode == CTelephonyAudioRouting::ELoudspeaker ) + { + + retValue = ETrue; + + } + + MUS_LOG1( "mus: [ENGINE] <- CMusEngTelephoneUtils::IsAudioRoutingLoudSpeaker: %d", + retValue ) + + return retValue; + } // ----------------------------------------------------------------------------- // @@ -141,7 +169,9 @@ if ( iTelephonyAudioRouting->Output() == CTelephonyAudioRouting::EHandset || iTelephonyAudioRouting->Output() == - CTelephonyAudioRouting::EBTAudioAccessory ) + CTelephonyAudioRouting::EBTAudioAccessory|| + iTelephonyAudioRouting->Output() == + CTelephonyAudioRouting::EWiredAudioAccessory ) { // Disable note shown by audiorouting api as it causes // application going to background for a while. Instead, display diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF --- a/mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF Thu Aug 19 09:51:39 2010 +0300 @@ -1,15 +1,15 @@ EXPORTS - ??1CRepository@@UAE@XZ @ 1 NONAME ; CRepository::~CRepository(void) - ?StartTransaction@CRepository@@QAEHW4TTransactionMode@1@@Z @ 2 NONAME ; int CRepository::StartTransaction(enum CRepository::TTransactionMode) - ?SetAudioRoutingObserver@CMusEngSession@@QAEXPAVMMusEngAudioRoutingObserver@@@Z @ 3 NONAME ; void CMusEngSession::SetAudioRoutingObserver(class MMusEngAudioRoutingObserver *) - ?DigitalZoomFactorL@CMceCameraSource@@QAEHXZ @ 4 NONAME ; int CMceCameraSource::DigitalZoomFactorL(void) - ?NewL@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 5 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewL(class MCenRepNotifyHandlerCallback &, class CRepository &) - ?SetClipL@CMusEngClipSession@@QAEXABVTDesC16@@@Z @ 6 NONAME ; void CMusEngClipSession::SetClipL(class TDesC16 const &) - ?GetCameraInfo@CMceCameraSource@@QBEXAAVTCameraInfo@@@Z @ 7 NONAME ; void CMceCameraSource::GetCameraInfo(class TCameraInfo &) const - ?NewLC@CRepository@@SAPAV1@VTUid@@@Z @ 8 NONAME ; class CRepository * CRepository::NewLC(class TUid) - ?IsMicMutedL@CMusEngSession@@QAEHXZ @ 9 NONAME ; int CMusEngSession::IsMicMutedL(void) - ?FastRewindL@CMusEngClipSession@@QAEXH@Z @ 10 NONAME ; void CMusEngClipSession::FastRewindL(int) - ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 11 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void) + ??1CRepository@@UAE@XZ @ 2 NONAME ; CRepository::~CRepository(void) + ?StartTransaction@CRepository@@QAEHW4TTransactionMode@1@@Z @ 3 NONAME ; int CRepository::StartTransaction(enum CRepository::TTransactionMode) + ?SetAudioRoutingObserver@CMusEngSession@@QAEXPAVMMusEngAudioRoutingObserver@@@Z @ 4 NONAME ; void CMusEngSession::SetAudioRoutingObserver(class MMusEngAudioRoutingObserver *) + ?DigitalZoomFactorL@CMceCameraSource@@QAEHXZ @ 5 NONAME ; int CMceCameraSource::DigitalZoomFactorL(void) + ?NewL@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 6 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewL(class MCenRepNotifyHandlerCallback &, class CRepository &) + ?SetClipL@CMusEngClipSession@@QAEXABVTDesC16@@@Z @ 7 NONAME ; void CMusEngClipSession::SetClipL(class TDesC16 const &) + ?GetCameraInfo@CMceCameraSource@@QBEXAAVTCameraInfo@@@Z @ 8 NONAME ; void CMceCameraSource::GetCameraInfo(class TCameraInfo &) const + ?NewLC@CRepository@@SAPAV1@VTUid@@@Z @ 9 NONAME ; class CRepository * CRepository::NewLC(class TUid) + ?IsMicMutedL@CMusEngSession@@QAEHXZ @ 10 NONAME ; int CMusEngSession::IsMicMutedL(void) + ?FastRewindL@CMusEngClipSession@@QAEXH@Z @ 11 NONAME ; void CMusEngClipSession::FastRewindL(int) ?Create@CRepository@@QAEHKH@Z @ 12 NONAME ; int CRepository::Create(unsigned long, int) ?UriType@TMusEngUriParser@@QAE?AW4TMusEngUriType@1@XZ @ 13 NONAME ; enum TMusEngUriParser::TMusEngUriType TMusEngUriParser::UriType(void) ?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTSIPProfileTypeInfo@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 14 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TSIPProfileTypeInfo const &, class RPointerArray &) @@ -32,130 +32,131 @@ ?DisableL@CMceCameraSource@@UAEXXZ @ 31 NONAME ; void CMceCameraSource::DisableL(void) ?IsProtectedFile@DRMCommon@@QAEHABVTDesC16@@AAH@Z @ 32 NONAME ; int DRMCommon::IsProtectedFile(class TDesC16 const &, int &) ?CancelTranscodeL@CMusEngClipSession@@QAEXXZ @ 33 NONAME ; void CMusEngClipSession::CancelTranscodeL(void) - ?Disable@CSIPProfileRegistry@@QAEHAAVCSIPProfile@@@Z @ 34 NONAME ; int CSIPProfileRegistry::Disable(class CSIPProfile &) - ?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 35 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void) - ?Delete@CRepository@@QAEHKKAAK@Z @ 36 NONAME ; int CRepository::Delete(unsigned long, unsigned long, unsigned long &) - ?CommitTransaction@CRepository@@QAEHAAK@Z @ 37 NONAME ; int CRepository::CommitTransaction(unsigned long &) - ?SetExposureL@CMceCameraSource@@QAEXW4TExposure@CCamera@@@Z @ 38 NONAME ; void CMceCameraSource::SetExposureL(enum CCamera::TExposure) - ?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 39 NONAME ; void CMusEngClipSession::FastForwardL(int) - ?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 40 NONAME ; void CMusEngLiveSession::SetZoomL(int) - ?Set@CRepository@@QAEHKABVTDesC8@@@Z @ 41 NONAME ; int CRepository::Set(unsigned long, class TDesC8 const &) - ?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 42 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int) - ?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 43 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &) - ?GetParameter@CSIPProfile@@QBEHKAAPBVTDesC8@@@Z @ 44 NONAME ; int CSIPProfile::GetParameter(unsigned long, class TDesC8 const * &) const - ?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 45 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const - ?StartListeningL@CCenRepNotifyHandler@@QAEXXZ @ 46 NONAME ; void CCenRepNotifyHandler::StartListeningL(void) - ?NewL@CSIPProfileRegistry@@SAPAV1@AAVCSIP@@AAVMSIPProfileRegistryObserver@@@Z @ 47 NONAME ; class CSIPProfileRegistry * CSIPProfileRegistry::NewL(class CSIP &, class MSIPProfileRegistryObserver &) - ?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 48 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &) - ?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 49 NONAME ; int CMusEngMceSession::ContainsAudioL(void) - ?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 50 NONAME ; void CMusEngMceSession::VolumeUpL(void) - ?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 51 NONAME ; int CMusEngClipSession::IsPlayingL(void) - ?Get@CRepository@@QAEHKAAH@Z @ 52 NONAME ; int CRepository::Get(unsigned long, int &) - ?SupportedSecurityMechanismsL@CSIP@@QBEPAVCDesC8Array@@XZ @ 53 NONAME ; class CDesC8Array * CSIP::SupportedSecurityMechanismsL(void) const - ?PlayL@CMusEngClipSession@@UAEXXZ @ 54 NONAME ; void CMusEngClipSession::PlayL(void) - ?PauseL@CMusEngLiveSession@@UAEXXZ @ 55 NONAME ; void CMusEngLiveSession::PauseL(void) - ?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 56 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const - ?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 57 NONAME ; class TRect CMusEngSession::Rect(void) const - ?Disconnect@DRMCommon@@QAEHXZ @ 58 NONAME ; int DRMCommon::Disconnect(void) - ?FindL@CRepository@@QAEHKKAAV?$RArray@K@@@Z @ 59 NONAME ; int CRepository::FindL(unsigned long, unsigned long, class RArray &) - ?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 60 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const - ?NewLC@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 61 NONAME ; class CMceCameraSource * CMceCameraSource::NewLC(class CMceManager &) - ?ProfilesL@CSIPProfileRegistryBase@@QAEXAAV?$RPointerArray@VCSIPProfile@@@@@Z @ 62 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class RPointerArray &) - ?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 63 NONAME ; void CMusEngLiveSession::ZoomOutL(void) - ?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 64 NONAME ; int CMusEngMceSession::ConnectionActive(void) const - ?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 65 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const - ?AudioOutputIsBT@CMusEngSession@@QBEHXZ @ 66 NONAME ; int CMusEngSession::AudioOutputIsBT(void) const - ?GetParameter@CSIPProfile@@QBEHKAAH@Z @ 67 NONAME ; int CSIPProfile::GetParameter(unsigned long, int &) const - ?SetWhiteBalanceL@CMceCameraSource@@QAEXW4TWhiteBalance@CCamera@@@Z @ 68 NONAME ; void CMceCameraSource::SetWhiteBalanceL(enum CCamera::TWhiteBalance) - ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 69 NONAME ; void CMusEngLiveSession::RecordL(int) - ??1CCenRepNotifyHandler@@UAE@XZ @ 70 NONAME ; CCenRepNotifyHandler::~CCenRepNotifyHandler(void) - ?FindEqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 71 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC8 const &, class RArray &) - ?ZoomFactorL@CMceCameraSource@@QAEHXZ @ 72 NONAME ; int CMceCameraSource::ZoomFactorL(void) - ?TerminateL@CMusEngMceSession@@QAEXXZ @ 73 NONAME ; void CMusEngMceSession::TerminateL(void) - ?SetZoomFactorL@CMceCameraSource@@QAEXH@Z @ 74 NONAME ; void CMceCameraSource::SetZoomFactorL(int) - ?SIP@CSIPProfileRegistry@@QBEAAVCSIP@@XZ @ 75 NONAME ; class CSIP & CSIPProfileRegistry::SIP(void) const - ??1CMceMediaSource@@UAE@XZ @ 76 NONAME ; CMceMediaSource::~CMceMediaSource(void) - ?ParseUriL@TMusEngUriParser@@QAEXXZ @ 77 NONAME ; void TMusEngUriParser::ParseUriL(void) - ?ProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@K@Z @ 78 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::ProfileL(unsigned long) - ?EnableLoudspeakerL@CMusEngSession@@QAEXHH@Z @ 79 NONAME ; void CMusEngSession::EnableLoudspeakerL(int, int) - ?CancelInviteL@CMusEngMceOutSession@@QAEXXZ @ 80 NONAME ; void CMusEngMceOutSession::CancelInviteL(void) - ?VolumeL@CMusEngSession@@QBEHXZ @ 81 NONAME ; int CMusEngSession::VolumeL(void) const - ?StopListening@CCenRepNotifyHandler@@QAEXXZ @ 82 NONAME ; void CCenRepNotifyHandler::StopListening(void) - ??1CSIPProfileRegistryBase@@UAE@XZ @ 83 NONAME ; CSIPProfileRegistryBase::~CSIPProfileRegistryBase(void) - ?ZoomDefaultL@CMusEngLiveSession@@QAEXXZ @ 84 NONAME ; void CMusEngLiveSession::ZoomDefaultL(void) - ?GetUri16L@TMusEngUriParser@@QAEPAVHBufC16@@H@Z @ 85 NONAME ; class HBufC16 * TMusEngUriParser::GetUri16L(int) - ?NewL@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 86 NONAME ; class CSIP * CSIP::NewL(class TUid const &, class MSIPObserver &) - ??1CMceCameraSource@@UAE@XZ @ 87 NONAME ; CMceCameraSource::~CMceCameraSource(void) - ?EnableL@CMceCameraSource@@UAEXXZ @ 88 NONAME ; void CMceCameraSource::EnableL(void) - ?VolumeUpL@CMusEngSession@@UAEXXZ @ 89 NONAME ; void CMusEngSession::VolumeUpL(void) - ?GetParameter@CSIPProfile@@QBEHKAAPBVMDesC8Array@@@Z @ 90 NONAME ; int CSIPProfile::GetParameter(unsigned long, class MDesC8Array const * &) const - ?NewL@CRepository@@SAPAV1@VTUid@@@Z @ 91 NONAME ; class CRepository * CRepository::NewL(class TUid) - ?SetVolumeChangeObserver@CMusEngSession@@QAEXPAVMMusEngVolumeChangeObserver@@@Z @ 92 NONAME ; void CMusEngSession::SetVolumeChangeObserver(class MMusEngVolumeChangeObserver *) - ?GetParameter@CSIPProfile@@QBEHKAAK@Z @ 93 NONAME ; int CSIPProfile::GetParameter(unsigned long, unsigned long &) const - ?IsMutedL@CMusEngMceSession@@QAEHXZ @ 94 NONAME ; int CMusEngMceSession::IsMutedL(void) - ??1CSIP@@UAE@XZ @ 95 NONAME ; CSIP::~CSIP(void) - ?Set@CRepository@@QAEHKH@Z @ 96 NONAME ; int CRepository::Set(unsigned long, int) - ?AcceptInvitationL@CMusEngReceiveSession@@QAEXABH@Z @ 97 NONAME ; void CMusEngReceiveSession::AcceptInvitationL(int const &) - ?CurrentZoomL@CMusEngLiveSession@@QBEHXZ @ 98 NONAME ; int CMusEngLiveSession::CurrentZoomL(void) const - ?DisallowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 99 NONAME ; void CSipProfileAlrController::DisallowMigrationL(unsigned long, unsigned long) - ?MinBrightnessL@CMusEngLiveSession@@QBEHXZ @ 100 NONAME ; int CMusEngLiveSession::MinBrightnessL(void) const - ??1CSIPProfile@@UAE@XZ @ 101 NONAME ; CSIPProfile::~CSIPProfile(void) - ?NewL@CMusEngLiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 102 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int) - ?UnmuteL@CMusEngMceSession@@UAEXXZ @ 103 NONAME ; void CMusEngMceSession::UnmuteL(void) - ?Connect@DRMCommon@@QAEHXZ @ 104 NONAME ; int DRMCommon::Connect(void) - ?NewL@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 105 NONAME ; class CMceCameraSource * CMceCameraSource::NewL(class CMceManager &) - ?MinZoomL@CMusEngLiveSession@@QBEHXZ @ 106 NONAME ; int CMusEngLiveSession::MinZoomL(void) const - ?Set@CRepository@@QAEHKABVTDesC16@@@Z @ 107 NONAME ; int CRepository::Set(unsigned long, class TDesC16 const &) - ?VolumeDownL@CMusEngSession@@UAEXXZ @ 108 NONAME ; void CMusEngSession::VolumeDownL(void) - ?ExposureL@CMceCameraSource@@QAE?AW4TExposure@CCamera@@XZ @ 109 NONAME ; enum CCamera::TExposure CMceCameraSource::ExposureL(void) - ?MuteL@CMusEngMceSession@@UAEXXZ @ 110 NONAME ; void CMusEngMceSession::MuteL(void) - ?NewLC@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 111 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewLC(class MCenRepNotifyHandlerCallback &, class CRepository &) - ?SetVolumeL@CMusEngSession@@UAEXH@Z @ 112 NONAME ; void CMusEngSession::SetVolumeL(int) - ?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 113 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void) - ?LastRegistrationError@CSIPProfileRegistryBase@@QBEHABVCSIPProfile@@@Z @ 114 NONAME ; int CSIPProfileRegistryBase::LastRegistrationError(class CSIPProfile const &) const - ?SetCameraIndexL@CMceCameraSource@@QAEXH@Z @ 115 NONAME ; void CMceCameraSource::SetCameraIndexL(int) - ?PauseL@CMusEngClipSession@@UAEXXZ @ 116 NONAME ; void CMusEngClipSession::PauseL(void) - ?Connection@CSIP@@QBEPAVCSIPConnection@@K@Z @ 117 NONAME ; class CSIPConnection * CSIP::Connection(unsigned long) const - ?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 118 NONAME ; void CMusEngSession::SetRectL(class TRect const &) - ?Create@CRepository@@QAEHKABVTDesC8@@@Z @ 119 NONAME ; int CRepository::Create(unsigned long, class TDesC8 const &) - ?RefreshIapAvailabilityL@CSipProfileAlrController@@QAEXK@Z @ 120 NONAME ; void CSipProfileAlrController::RefreshIapAvailabilityL(unsigned long) - ?DefaultProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@XZ @ 121 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::DefaultProfileL(void) - ?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 122 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void) - ?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 123 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void) - ?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTDesC8@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 124 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TDesC8 const &, class RPointerArray &) - ??1CSIPProfileRegistry@@UAE@XZ @ 125 NONAME ; CSIPProfileRegistry::~CSIPProfileRegistry(void) - ?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 126 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation) - ?Get@CRepository@@QAEHKAAVTDes8@@@Z @ 127 NONAME ; int CRepository::Get(unsigned long, class TDes8 &) - ?ConstructL@DRMCommon@@IAEXXZ @ 128 NONAME ; void DRMCommon::ConstructL(void) - ?ContrastL@CMceCameraSource@@QAEHXZ @ 129 NONAME ; int CMceCameraSource::ContrastL(void) - ?NegotiatedSecurityMechanismL@CSIP@@QAEPAVHBufC8@@ABVTDesC8@@@Z @ 130 NONAME ; class HBufC8 * CSIP::NegotiatedSecurityMechanismL(class TDesC8 const &) - ?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 131 NONAME ; void CMusEngLiveSession::ZoomInL(void) - ?NewL@CSipProfileAlrController@@SAPAV1@AAVCSIPProfileRegistryBase@@AAVMSipProfileAlrObserver@@@Z @ 132 NONAME ; class CSipProfileAlrController * CSipProfileAlrController::NewL(class CSIPProfileRegistryBase &, class MSipProfileAlrObserver &) - ?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 133 NONAME ; void CMusEngMceSession::SetVolumeL(int) - ?Stop@CActiveScheduler@@SAXXZ @ 134 NONAME ; void CActiveScheduler::Stop(void) - ?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 135 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void) - ?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 136 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &) - ?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 137 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const - ?IsSigCompSupportedL@CSIP@@QBEHXZ @ 138 NONAME ; int CSIP::IsSigCompSupportedL(void) const - ?NewLC@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 139 NONAME ; class CSIP * CSIP::NewLC(class TUid const &, class MSIPObserver &) - ?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 140 NONAME ; void CMusEngMceSession::VolumeDownL(void) - ?AllowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 141 NONAME ; void CSipProfileAlrController::AllowMigrationL(unsigned long, unsigned long) - ?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 142 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void) - ?SetContrastL@CMceCameraSource@@QAEXH@Z @ 143 NONAME ; void CMceCameraSource::SetContrastL(int) - ?WhiteBalanceL@CMceCameraSource@@QAE?AW4TWhiteBalance@CCamera@@XZ @ 144 NONAME ; enum CCamera::TWhiteBalance CMceCameraSource::WhiteBalanceL(void) - ??1DRMCommon@@UAE@XZ @ 145 NONAME ; DRMCommon::~DRMCommon(void) - ?MuteMicL@CMusEngSession@@QAEXH@Z @ 146 NONAME ; void CMusEngSession::MuteMicL(int) - ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 147 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int) - ?HandleNotifyGeneric@MCenRepNotifyHandlerCallback@@UAEXK@Z @ 148 NONAME ; void MCenRepNotifyHandlerCallback::HandleNotifyGeneric(unsigned long) - ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 149 NONAME ; void CMusEngMceSession::EnableDisplayL(int) - ??0DRMCommon@@IAE@XZ @ 150 NONAME ; DRMCommon::DRMCommon(void) - ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 151 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const - ?SupportedProfileTypesL@CSIPProfileRegistryBase@@QAEXAAV?$RArray@VTSIPProfileTypeInfo@@@@@Z @ 152 NONAME ; void CSIPProfileRegistryBase::SupportedProfileTypesL(class RArray &) - ?Start@CActiveScheduler@@SAXXZ @ 153 NONAME ; void CActiveScheduler::Start(void) - ?SetBrightnessL@CMceCameraSource@@QAEXH@Z @ 154 NONAME ; void CMceCameraSource::SetBrightnessL(int) - ?SetDigitalZoomFactorL@CMceCameraSource@@QAEXH@Z @ 155 NONAME ; void CMceCameraSource::SetDigitalZoomFactorL(int) - ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 156 NONAME ; int CMusEngLiveSession::IsPlayingL(void) - ?IsEnabled@CMceMediaSource@@QBEHXZ @ 157 NONAME ; int CMceMediaSource::IsEnabled(void) const - ?PlayL@CMusEngLiveSession@@UAEXXZ @ 158 NONAME ; void CMusEngLiveSession::PlayL(void) - ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 159 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &) + ?IsAudioRoutingHeadset@CMusEngSession@@QBEHXZ @ 34 NONAME ; int CMusEngSession::IsAudioRoutingHeadset(void) const + ?Disable@CSIPProfileRegistry@@QAEHAAVCSIPProfile@@@Z @ 35 NONAME ; int CSIPProfileRegistry::Disable(class CSIPProfile &) + ?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 36 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void) + ?Delete@CRepository@@QAEHKKAAK@Z @ 37 NONAME ; int CRepository::Delete(unsigned long, unsigned long, unsigned long &) + ?CommitTransaction@CRepository@@QAEHAAK@Z @ 38 NONAME ; int CRepository::CommitTransaction(unsigned long &) + ?SetExposureL@CMceCameraSource@@QAEXW4TExposure@CCamera@@@Z @ 39 NONAME ; void CMceCameraSource::SetExposureL(enum CCamera::TExposure) + ?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 40 NONAME ; void CMusEngClipSession::FastForwardL(int) + ?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 41 NONAME ; void CMusEngLiveSession::SetZoomL(int) + ?Set@CRepository@@QAEHKABVTDesC8@@@Z @ 42 NONAME ; int CRepository::Set(unsigned long, class TDesC8 const &) + ?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 43 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int) + ?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 44 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &) + ?GetParameter@CSIPProfile@@QBEHKAAPBVTDesC8@@@Z @ 45 NONAME ; int CSIPProfile::GetParameter(unsigned long, class TDesC8 const * &) const + ?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 46 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const + ?StartListeningL@CCenRepNotifyHandler@@QAEXXZ @ 47 NONAME ; void CCenRepNotifyHandler::StartListeningL(void) + ?NewL@CSIPProfileRegistry@@SAPAV1@AAVCSIP@@AAVMSIPProfileRegistryObserver@@@Z @ 48 NONAME ; class CSIPProfileRegistry * CSIPProfileRegistry::NewL(class CSIP &, class MSIPProfileRegistryObserver &) + ?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 49 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &) + ?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 50 NONAME ; int CMusEngMceSession::ContainsAudioL(void) + ?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 51 NONAME ; void CMusEngMceSession::VolumeUpL(void) + ?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 52 NONAME ; int CMusEngClipSession::IsPlayingL(void) + ?Get@CRepository@@QAEHKAAH@Z @ 53 NONAME ; int CRepository::Get(unsigned long, int &) + ?SupportedSecurityMechanismsL@CSIP@@QBEPAVCDesC8Array@@XZ @ 54 NONAME ; class CDesC8Array * CSIP::SupportedSecurityMechanismsL(void) const + ?PlayL@CMusEngClipSession@@UAEXXZ @ 55 NONAME ; void CMusEngClipSession::PlayL(void) + ?PauseL@CMusEngLiveSession@@UAEXXZ @ 56 NONAME ; void CMusEngLiveSession::PauseL(void) + ?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 57 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const + ?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 58 NONAME ; class TRect CMusEngSession::Rect(void) const + ?Disconnect@DRMCommon@@QAEHXZ @ 59 NONAME ; int DRMCommon::Disconnect(void) + ?FindL@CRepository@@QAEHKKAAV?$RArray@K@@@Z @ 60 NONAME ; int CRepository::FindL(unsigned long, unsigned long, class RArray &) + ?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 61 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const + ?IsAudioRoutingLoudSpeaker@CMusEngSession@@QBEHXZ @ 62 NONAME ; int CMusEngSession::IsAudioRoutingLoudSpeaker(void) const + ?NewLC@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 63 NONAME ; class CMceCameraSource * CMceCameraSource::NewLC(class CMceManager &) + ?ProfilesL@CSIPProfileRegistryBase@@QAEXAAV?$RPointerArray@VCSIPProfile@@@@@Z @ 64 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class RPointerArray &) + ?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 65 NONAME ; void CMusEngLiveSession::ZoomOutL(void) + ?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 66 NONAME ; int CMusEngMceSession::ConnectionActive(void) const + ?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 67 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const + ?GetParameter@CSIPProfile@@QBEHKAAH@Z @ 68 NONAME ; int CSIPProfile::GetParameter(unsigned long, int &) const + ?SetWhiteBalanceL@CMceCameraSource@@QAEXW4TWhiteBalance@CCamera@@@Z @ 69 NONAME ; void CMceCameraSource::SetWhiteBalanceL(enum CCamera::TWhiteBalance) + ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 70 NONAME ; void CMusEngLiveSession::RecordL(int) + ??1CCenRepNotifyHandler@@UAE@XZ @ 71 NONAME ; CCenRepNotifyHandler::~CCenRepNotifyHandler(void) + ?FindEqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 72 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC8 const &, class RArray &) + ?ZoomFactorL@CMceCameraSource@@QAEHXZ @ 73 NONAME ; int CMceCameraSource::ZoomFactorL(void) + ?TerminateL@CMusEngMceSession@@QAEXXZ @ 74 NONAME ; void CMusEngMceSession::TerminateL(void) + ?SetZoomFactorL@CMceCameraSource@@QAEXH@Z @ 75 NONAME ; void CMceCameraSource::SetZoomFactorL(int) + ?SIP@CSIPProfileRegistry@@QBEAAVCSIP@@XZ @ 76 NONAME ; class CSIP & CSIPProfileRegistry::SIP(void) const + ??1CMceMediaSource@@UAE@XZ @ 77 NONAME ; CMceMediaSource::~CMceMediaSource(void) + ?ParseUriL@TMusEngUriParser@@QAEXXZ @ 78 NONAME ; void TMusEngUriParser::ParseUriL(void) + ?ProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@K@Z @ 79 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::ProfileL(unsigned long) + ?EnableLoudspeakerL@CMusEngSession@@QAEXHH@Z @ 80 NONAME ; void CMusEngSession::EnableLoudspeakerL(int, int) + ?CancelInviteL@CMusEngMceOutSession@@QAEXXZ @ 81 NONAME ; void CMusEngMceOutSession::CancelInviteL(void) + ?VolumeL@CMusEngSession@@QBEHXZ @ 82 NONAME ; int CMusEngSession::VolumeL(void) const + ?StopListening@CCenRepNotifyHandler@@QAEXXZ @ 83 NONAME ; void CCenRepNotifyHandler::StopListening(void) + ??1CSIPProfileRegistryBase@@UAE@XZ @ 84 NONAME ; CSIPProfileRegistryBase::~CSIPProfileRegistryBase(void) + ?ZoomDefaultL@CMusEngLiveSession@@QAEXXZ @ 85 NONAME ; void CMusEngLiveSession::ZoomDefaultL(void) + ?GetUri16L@TMusEngUriParser@@QAEPAVHBufC16@@H@Z @ 86 NONAME ; class HBufC16 * TMusEngUriParser::GetUri16L(int) + ?NewL@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 87 NONAME ; class CSIP * CSIP::NewL(class TUid const &, class MSIPObserver &) + ??1CMceCameraSource@@UAE@XZ @ 88 NONAME ; CMceCameraSource::~CMceCameraSource(void) + ?EnableL@CMceCameraSource@@UAEXXZ @ 89 NONAME ; void CMceCameraSource::EnableL(void) + ?VolumeUpL@CMusEngSession@@UAEXXZ @ 90 NONAME ; void CMusEngSession::VolumeUpL(void) + ?GetParameter@CSIPProfile@@QBEHKAAPBVMDesC8Array@@@Z @ 91 NONAME ; int CSIPProfile::GetParameter(unsigned long, class MDesC8Array const * &) const + ?NewL@CRepository@@SAPAV1@VTUid@@@Z @ 92 NONAME ; class CRepository * CRepository::NewL(class TUid) + ?SetVolumeChangeObserver@CMusEngSession@@QAEXPAVMMusEngVolumeChangeObserver@@@Z @ 93 NONAME ; void CMusEngSession::SetVolumeChangeObserver(class MMusEngVolumeChangeObserver *) + ?GetParameter@CSIPProfile@@QBEHKAAK@Z @ 94 NONAME ; int CSIPProfile::GetParameter(unsigned long, unsigned long &) const + ?IsMutedL@CMusEngMceSession@@QAEHXZ @ 95 NONAME ; int CMusEngMceSession::IsMutedL(void) + ??1CSIP@@UAE@XZ @ 96 NONAME ; CSIP::~CSIP(void) + ?Set@CRepository@@QAEHKH@Z @ 97 NONAME ; int CRepository::Set(unsigned long, int) + ?AcceptInvitationL@CMusEngReceiveSession@@QAEXABH@Z @ 98 NONAME ; void CMusEngReceiveSession::AcceptInvitationL(int const &) + ?CurrentZoomL@CMusEngLiveSession@@QBEHXZ @ 99 NONAME ; int CMusEngLiveSession::CurrentZoomL(void) const + ?DisallowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 100 NONAME ; void CSipProfileAlrController::DisallowMigrationL(unsigned long, unsigned long) + ?MinBrightnessL@CMusEngLiveSession@@QBEHXZ @ 101 NONAME ; int CMusEngLiveSession::MinBrightnessL(void) const + ??1CSIPProfile@@UAE@XZ @ 102 NONAME ; CSIPProfile::~CSIPProfile(void) + ?NewL@CMusEngLiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 103 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int) + ?UnmuteL@CMusEngMceSession@@UAEXXZ @ 104 NONAME ; void CMusEngMceSession::UnmuteL(void) + ?Connect@DRMCommon@@QAEHXZ @ 105 NONAME ; int DRMCommon::Connect(void) + ?NewL@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 106 NONAME ; class CMceCameraSource * CMceCameraSource::NewL(class CMceManager &) + ?MinZoomL@CMusEngLiveSession@@QBEHXZ @ 107 NONAME ; int CMusEngLiveSession::MinZoomL(void) const + ?Set@CRepository@@QAEHKABVTDesC16@@@Z @ 108 NONAME ; int CRepository::Set(unsigned long, class TDesC16 const &) + ?VolumeDownL@CMusEngSession@@UAEXXZ @ 109 NONAME ; void CMusEngSession::VolumeDownL(void) + ?ExposureL@CMceCameraSource@@QAE?AW4TExposure@CCamera@@XZ @ 110 NONAME ; enum CCamera::TExposure CMceCameraSource::ExposureL(void) + ?MuteL@CMusEngMceSession@@UAEXXZ @ 111 NONAME ; void CMusEngMceSession::MuteL(void) + ?NewLC@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 112 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewLC(class MCenRepNotifyHandlerCallback &, class CRepository &) + ?SetVolumeL@CMusEngSession@@UAEXH@Z @ 113 NONAME ; void CMusEngSession::SetVolumeL(int) + ?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 114 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void) + ?LastRegistrationError@CSIPProfileRegistryBase@@QBEHABVCSIPProfile@@@Z @ 115 NONAME ; int CSIPProfileRegistryBase::LastRegistrationError(class CSIPProfile const &) const + ?SetCameraIndexL@CMceCameraSource@@QAEXH@Z @ 116 NONAME ; void CMceCameraSource::SetCameraIndexL(int) + ?PauseL@CMusEngClipSession@@UAEXXZ @ 117 NONAME ; void CMusEngClipSession::PauseL(void) + ?Connection@CSIP@@QBEPAVCSIPConnection@@K@Z @ 118 NONAME ; class CSIPConnection * CSIP::Connection(unsigned long) const + ?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 119 NONAME ; void CMusEngSession::SetRectL(class TRect const &) + ?Create@CRepository@@QAEHKABVTDesC8@@@Z @ 120 NONAME ; int CRepository::Create(unsigned long, class TDesC8 const &) + ?RefreshIapAvailabilityL@CSipProfileAlrController@@QAEXK@Z @ 121 NONAME ; void CSipProfileAlrController::RefreshIapAvailabilityL(unsigned long) + ?DefaultProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@XZ @ 122 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::DefaultProfileL(void) + ?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 123 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void) + ?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 124 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void) + ?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTDesC8@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 125 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TDesC8 const &, class RPointerArray &) + ??1CSIPProfileRegistry@@UAE@XZ @ 126 NONAME ; CSIPProfileRegistry::~CSIPProfileRegistry(void) + ?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 127 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation) + ?Get@CRepository@@QAEHKAAVTDes8@@@Z @ 128 NONAME ; int CRepository::Get(unsigned long, class TDes8 &) + ?ConstructL@DRMCommon@@IAEXXZ @ 129 NONAME ; void DRMCommon::ConstructL(void) + ?ContrastL@CMceCameraSource@@QAEHXZ @ 130 NONAME ; int CMceCameraSource::ContrastL(void) + ?NegotiatedSecurityMechanismL@CSIP@@QAEPAVHBufC8@@ABVTDesC8@@@Z @ 131 NONAME ; class HBufC8 * CSIP::NegotiatedSecurityMechanismL(class TDesC8 const &) + ?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 132 NONAME ; void CMusEngLiveSession::ZoomInL(void) + ?NewL@CSipProfileAlrController@@SAPAV1@AAVCSIPProfileRegistryBase@@AAVMSipProfileAlrObserver@@@Z @ 133 NONAME ; class CSipProfileAlrController * CSipProfileAlrController::NewL(class CSIPProfileRegistryBase &, class MSipProfileAlrObserver &) + ?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 134 NONAME ; void CMusEngMceSession::SetVolumeL(int) + ?Stop@CActiveScheduler@@SAXXZ @ 135 NONAME ; void CActiveScheduler::Stop(void) + ?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 136 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void) + ?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 137 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &) + ?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 138 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const + ?IsSigCompSupportedL@CSIP@@QBEHXZ @ 139 NONAME ; int CSIP::IsSigCompSupportedL(void) const + ?NewLC@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 140 NONAME ; class CSIP * CSIP::NewLC(class TUid const &, class MSIPObserver &) + ?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 141 NONAME ; void CMusEngMceSession::VolumeDownL(void) + ?AllowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 142 NONAME ; void CSipProfileAlrController::AllowMigrationL(unsigned long, unsigned long) + ?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 143 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void) + ?SetContrastL@CMceCameraSource@@QAEXH@Z @ 144 NONAME ; void CMceCameraSource::SetContrastL(int) + ?WhiteBalanceL@CMceCameraSource@@QAE?AW4TWhiteBalance@CCamera@@XZ @ 145 NONAME ; enum CCamera::TWhiteBalance CMceCameraSource::WhiteBalanceL(void) + ??1DRMCommon@@UAE@XZ @ 146 NONAME ; DRMCommon::~DRMCommon(void) + ?MuteMicL@CMusEngSession@@QAEXH@Z @ 147 NONAME ; void CMusEngSession::MuteMicL(int) + ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 148 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int) + ?HandleNotifyGeneric@MCenRepNotifyHandlerCallback@@UAEXK@Z @ 149 NONAME ; void MCenRepNotifyHandlerCallback::HandleNotifyGeneric(unsigned long) + ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 150 NONAME ; void CMusEngMceSession::EnableDisplayL(int) + ??0DRMCommon@@IAE@XZ @ 151 NONAME ; DRMCommon::DRMCommon(void) + ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 152 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const + ?SupportedProfileTypesL@CSIPProfileRegistryBase@@QAEXAAV?$RArray@VTSIPProfileTypeInfo@@@@@Z @ 153 NONAME ; void CSIPProfileRegistryBase::SupportedProfileTypesL(class RArray &) + ?Start@CActiveScheduler@@SAXXZ @ 154 NONAME ; void CActiveScheduler::Start(void) + ?SetBrightnessL@CMceCameraSource@@QAEXH@Z @ 155 NONAME ; void CMceCameraSource::SetBrightnessL(int) + ?SetDigitalZoomFactorL@CMceCameraSource@@QAEXH@Z @ 156 NONAME ; void CMceCameraSource::SetDigitalZoomFactorL(int) + ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 157 NONAME ; int CMusEngLiveSession::IsPlayingL(void) + ?IsEnabled@CMceMediaSource@@QBEHXZ @ 158 NONAME ; int CMceMediaSource::IsEnabled(void) const + ?PlayL@CMusEngLiveSession@@UAEXXZ @ 159 NONAME ; void CMusEngLiveSession::PlayL(void) + ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 160 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &) diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/tsrc/ut_engine/eabi/ut_musengineu.def --- a/mmsharing/mmshengine/tsrc/ut_engine/eabi/ut_musengineu.def Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/tsrc/ut_engine/eabi/ut_musengineu.def Thu Aug 19 09:51:39 2010 +0300 @@ -148,76 +148,77 @@ _ZNK11CSIPProfile12GetParameterEmRi @ 147 NONAME _ZNK11CSIPProfile12GetParameterEmRm @ 148 NONAME _ZNK11CSIPProfile4TypeEv @ 149 NONAME - _ZNK14CMusEngSession15AudioOutputIsBTEv @ 150 NONAME - _ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 151 NONAME + _ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 150 NONAME + _ZNK14CMusEngSession21IsAudioRoutingHeadsetEv @ 151 NONAME _ZNK14CMusEngSession24AudioRoutingCanBeChangedEv @ 152 NONAME - _ZNK14CMusEngSession4RectEv @ 153 NONAME - _ZNK14CMusEngSession7VolumeLEv @ 154 NONAME - _ZNK15CMceMediaSource4TypeEv @ 155 NONAME - _ZNK15CMceMediaSource9IsEnabledEv @ 156 NONAME - _ZNK16CMceCameraSource13GetCameraInfoER11TCameraInfo @ 157 NONAME - _ZNK16CMceCameraSource16CamerasAvailableEv @ 158 NONAME - _ZNK17CMusEngMceSession14GetSessionTimeEv @ 159 NONAME - _ZNK17CMusEngMceSession16ConnectionActiveEv @ 160 NONAME - _ZNK18CMusEngLiveSession12CurrentZoomLEv @ 161 NONAME - _ZNK18CMusEngLiveSession14MaxBrightnessLEv @ 162 NONAME - _ZNK18CMusEngLiveSession14MinBrightnessLEv @ 163 NONAME - _ZNK18CMusEngLiveSession14SetBrightnessLEi @ 164 NONAME - _ZNK18CMusEngLiveSession18CurrentBrightnessLEv @ 165 NONAME - _ZNK18CMusEngLiveSession8MaxZoomLEv @ 166 NONAME - _ZNK18CMusEngLiveSession8MinZoomLEv @ 167 NONAME - _ZNK19CSIPProfileRegistry3SIPEv @ 168 NONAME - _ZNK19CSIPProfileRegistry9IsEnabledERK11CSIPProfile @ 169 NONAME - _ZNK23CSIPProfileRegistryBase21LastRegistrationErrorERK11CSIPProfile @ 170 NONAME - _ZNK4CSIP10ConnectionEm @ 171 NONAME - _ZNK4CSIP19IsSigCompSupportedLEv @ 172 NONAME - _ZNK4CSIP28SupportedSecurityMechanismsLEv @ 173 NONAME - _ZTI11CRepository @ 174 NONAME - _ZTI11CSIPProfile @ 175 NONAME - _ZTI14CMusEngSession @ 176 NONAME - _ZTI15CMceMediaSource @ 177 NONAME - _ZTI16CMceCameraSource @ 178 NONAME - _ZTI17CMusEngMceSession @ 179 NONAME - _ZTI18CMusEngClipSession @ 180 NONAME - _ZTI18CMusEngLiveSession @ 181 NONAME - _ZTI19CMusEngObserverStub @ 182 NONAME - _ZTI19CSIPProfileRegistry @ 183 NONAME - _ZTI20CCenRepNotifyHandler @ 184 NONAME - _ZTI20CMusEngMceOutSession @ 185 NONAME - _ZTI21CMusEngReceiveSession @ 186 NONAME - _ZTI21CMusEngTelephoneUtils @ 187 NONAME - _ZTI21CMusSipProfileHandler @ 188 NONAME - _ZTI22CSIPProfileBehaviorTls @ 189 NONAME - _ZTI22CTelephonyAudioRouting @ 190 NONAME - _ZTI23CSIPProfileRegistryBase @ 191 NONAME - _ZTI24CSipProfileAlrController @ 192 NONAME - _ZTI27CMusEngSessionDurationTimer @ 193 NONAME - _ZTI28MCenRepNotifyHandlerCallback @ 194 NONAME - _ZTI4CSIP @ 195 NONAME - _ZTI9DRMCommon @ 196 NONAME - _ZTV11CRepository @ 197 NONAME - _ZTV11CSIPProfile @ 198 NONAME - _ZTV14CMusEngSession @ 199 NONAME - _ZTV15CMceMediaSource @ 200 NONAME - _ZTV16CMceCameraSource @ 201 NONAME - _ZTV17CMusEngMceSession @ 202 NONAME - _ZTV18CMusEngClipSession @ 203 NONAME - _ZTV18CMusEngLiveSession @ 204 NONAME - _ZTV19CMusEngObserverStub @ 205 NONAME - _ZTV19CSIPProfileRegistry @ 206 NONAME - _ZTV20CCenRepNotifyHandler @ 207 NONAME - _ZTV20CMusEngMceOutSession @ 208 NONAME - _ZTV21CMusEngReceiveSession @ 209 NONAME - _ZTV21CMusEngTelephoneUtils @ 210 NONAME - _ZTV21CMusSipProfileHandler @ 211 NONAME - _ZTV22CSIPProfileBehaviorTls @ 212 NONAME - _ZTV22CTelephonyAudioRouting @ 213 NONAME - _ZTV23CSIPProfileRegistryBase @ 214 NONAME - _ZTV24CSipProfileAlrController @ 215 NONAME - _ZTV27CMusEngSessionDurationTimer @ 216 NONAME - _ZTV28MCenRepNotifyHandlerCallback @ 217 NONAME - _ZTV4CSIP @ 218 NONAME - _ZTV9DRMCommon @ 219 NONAME - _ZThn4_N11CSIPProfileD0Ev @ 220 NONAME - _ZThn4_N11CSIPProfileD1Ev @ 221 NONAME + _ZNK14CMusEngSession25IsAudioRoutingLoudSpeakerEv @ 153 NONAME + _ZNK14CMusEngSession4RectEv @ 154 NONAME + _ZNK14CMusEngSession7VolumeLEv @ 155 NONAME + _ZNK15CMceMediaSource4TypeEv @ 156 NONAME + _ZNK15CMceMediaSource9IsEnabledEv @ 157 NONAME + _ZNK16CMceCameraSource13GetCameraInfoER11TCameraInfo @ 158 NONAME + _ZNK16CMceCameraSource16CamerasAvailableEv @ 159 NONAME + _ZNK17CMusEngMceSession14GetSessionTimeEv @ 160 NONAME + _ZNK17CMusEngMceSession16ConnectionActiveEv @ 161 NONAME + _ZNK18CMusEngLiveSession12CurrentZoomLEv @ 162 NONAME + _ZNK18CMusEngLiveSession14MaxBrightnessLEv @ 163 NONAME + _ZNK18CMusEngLiveSession14MinBrightnessLEv @ 164 NONAME + _ZNK18CMusEngLiveSession14SetBrightnessLEi @ 165 NONAME + _ZNK18CMusEngLiveSession18CurrentBrightnessLEv @ 166 NONAME + _ZNK18CMusEngLiveSession8MaxZoomLEv @ 167 NONAME + _ZNK18CMusEngLiveSession8MinZoomLEv @ 168 NONAME + _ZNK19CSIPProfileRegistry3SIPEv @ 169 NONAME + _ZNK19CSIPProfileRegistry9IsEnabledERK11CSIPProfile @ 170 NONAME + _ZNK23CSIPProfileRegistryBase21LastRegistrationErrorERK11CSIPProfile @ 171 NONAME + _ZNK4CSIP10ConnectionEm @ 172 NONAME + _ZNK4CSIP19IsSigCompSupportedLEv @ 173 NONAME + _ZNK4CSIP28SupportedSecurityMechanismsLEv @ 174 NONAME + _ZTI11CRepository @ 175 NONAME + _ZTI11CSIPProfile @ 176 NONAME + _ZTI14CMusEngSession @ 177 NONAME + _ZTI15CMceMediaSource @ 178 NONAME + _ZTI16CMceCameraSource @ 179 NONAME + _ZTI17CMusEngMceSession @ 180 NONAME + _ZTI18CMusEngClipSession @ 181 NONAME + _ZTI18CMusEngLiveSession @ 182 NONAME + _ZTI19CMusEngObserverStub @ 183 NONAME + _ZTI19CSIPProfileRegistry @ 184 NONAME + _ZTI20CCenRepNotifyHandler @ 185 NONAME + _ZTI20CMusEngMceOutSession @ 186 NONAME + _ZTI21CMusEngReceiveSession @ 187 NONAME + _ZTI21CMusEngTelephoneUtils @ 188 NONAME + _ZTI21CMusSipProfileHandler @ 189 NONAME + _ZTI22CSIPProfileBehaviorTls @ 190 NONAME + _ZTI22CTelephonyAudioRouting @ 191 NONAME + _ZTI23CSIPProfileRegistryBase @ 192 NONAME + _ZTI24CSipProfileAlrController @ 193 NONAME + _ZTI27CMusEngSessionDurationTimer @ 194 NONAME + _ZTI28MCenRepNotifyHandlerCallback @ 195 NONAME + _ZTI4CSIP @ 196 NONAME + _ZTI9DRMCommon @ 197 NONAME + _ZTV11CRepository @ 198 NONAME + _ZTV11CSIPProfile @ 199 NONAME + _ZTV14CMusEngSession @ 200 NONAME + _ZTV15CMceMediaSource @ 201 NONAME + _ZTV16CMceCameraSource @ 202 NONAME + _ZTV17CMusEngMceSession @ 203 NONAME + _ZTV18CMusEngClipSession @ 204 NONAME + _ZTV18CMusEngLiveSession @ 205 NONAME + _ZTV19CMusEngObserverStub @ 206 NONAME + _ZTV19CSIPProfileRegistry @ 207 NONAME + _ZTV20CCenRepNotifyHandler @ 208 NONAME + _ZTV20CMusEngMceOutSession @ 209 NONAME + _ZTV21CMusEngReceiveSession @ 210 NONAME + _ZTV21CMusEngTelephoneUtils @ 211 NONAME + _ZTV21CMusSipProfileHandler @ 212 NONAME + _ZTV22CSIPProfileBehaviorTls @ 213 NONAME + _ZTV22CTelephonyAudioRouting @ 214 NONAME + _ZTV23CSIPProfileRegistryBase @ 215 NONAME + _ZTV24CSipProfileAlrController @ 216 NONAME + _ZTV27CMusEngSessionDurationTimer @ 217 NONAME + _ZTV28MCenRepNotifyHandlerCallback @ 218 NONAME + _ZTV4CSIP @ 219 NONAME + _ZTV9DRMCommon @ 220 NONAME + _ZThn4_N11CSIPProfileD0Ev @ 221 NONAME + _ZThn4_N11CSIPProfileD1Ev @ 222 NONAME diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h --- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h Thu Aug 19 09:51:39 2010 +0300 @@ -68,7 +68,8 @@ void UT_RectL(); void UT_SetRectLL(); void UT_AudioRoutingCanBeChangedL(); - void UT_AudioOutputIsBTL(); + void UT_IsAudioRoutingHeadsetL(); + void UT_IsAudioRoutingLoudSpeakerL(); void UT_EnableLoudspeakerLL(); void UT_IsLoudSpeakerEnabledL(); void UT_VolumeLL(); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h --- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h Thu Aug 19 09:51:39 2010 +0300 @@ -63,7 +63,8 @@ void UT_NewLL(); void UT_AudioRoutingCanBeChangedL(); - void UT_AudioOutputIsBTL(); + void UT_IsAudioRoutingHeadsetL(); + void UT_IsAudioRoutingLoudSpeakerL(); void UT_LoudspeakerLL(); void UT_IsLoudSpeakerEnabledL(); void UT_GetVolumeLL(); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp --- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -209,38 +209,64 @@ // // ----------------------------------------------------------------------------- // -void UT_CMusEngSession::UT_AudioOutputIsBTL() +void UT_CMusEngSession::UT_IsAudioRoutingHeadsetL() { iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::EBTAudioAccessory; - EUNIT_ASSERT( iLiveSession->AudioOutputIsBT() ); + EUNIT_ASSERT( iLiveSession->IsAudioRoutingHeadset() ); iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ENotActive; - EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT()); + EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset()); iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ENone; - EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT()); + EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset()); iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::EHandset; - EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT()); + EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset()); iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ELoudspeaker; - EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT()); + EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset()); iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::EWiredAudioAccessory; - EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT()); + EUNIT_ASSERT( iLiveSession->IsAudioRoutingHeadset()); iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ETTY; - EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT()); + EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset()); } +void UT_CMusEngSession::UT_IsAudioRoutingLoudSpeakerL() + { + iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::ELoudspeaker; + EUNIT_ASSERT( !iLiveSession->IsAudioRoutingLoudSpeaker()); + + iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::EHandset; + EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() ); + + iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::EBTAudioAccessory; + EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() ); + + iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::EWiredAudioAccessory; + EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() ); + } // ----------------------------------------------------------------------------- // @@ -522,13 +548,20 @@ SetupL, UT_AudioRoutingCanBeChangedL, Teardown) EUNIT_TEST( - "AudioOutputIsBT - test ", + "IsAudioRoutingHeadsetL - test ", "CMusEngSession", - "AudioOutputIsBT", + "IsAudioRoutingHeadsetL", "FUNCTIONALITY", - SetupL, UT_AudioOutputIsBTL, Teardown) + SetupL, UT_IsAudioRoutingHeadsetL, Teardown) EUNIT_TEST( + "IsAudioRoutingLoudSpeakerL - test ", + "CMusEngSession", + "IsAudioRoutingLoudSpeakerL", + "FUNCTIONALITY", + SetupL, UT_IsAudioRoutingLoudSpeakerL, Teardown) + +EUNIT_TEST( "EnableLoudspeakerL - test ", "CMusEngSession", "EnableLoudspeakerL", diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp --- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -168,39 +168,64 @@ // // ----------------------------------------------------------------------------- // -void UT_CMusEngTelephoneUtils::UT_AudioOutputIsBTL() +void UT_CMusEngTelephoneUtils::UT_IsAudioRoutingHeadsetL() { iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::EBTAudioAccessory; - EUNIT_ASSERT( iTelephoneUtils->AudioOutputIsBT()); + EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingHeadset()); iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ENotActive; - EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() ); + EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ENone; - EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() ); + EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::EHandset; - EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() ); + EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ELoudspeaker; - EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() ); + EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::EWiredAudioAccessory; - EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() ); + EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingHeadset() ); iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = CTelephonyAudioRouting::ETTY; - EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() ); + EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() ); } - +void UT_CMusEngTelephoneUtils::UT_IsAudioRoutingLoudSpeakerL() + { + iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::ELoudspeaker; + EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingLoudSpeaker()); + + iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::EHandset; + EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() ); + + iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::EBTAudioAccessory; + EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() ); + + iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput = + CTelephonyAudioRouting::ELoudspeaker; + iTelephoneUtils->iAudioOutputAtStartup = + CTelephonyAudioRouting::EWiredAudioAccessory; + EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() ); + } // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- @@ -618,11 +643,18 @@ SetupL, UT_AudioRoutingCanBeChangedL, Teardown) EUNIT_TEST( - "AudioOutputIsBT - test ", + "IsAudioRoutingHeadset - test ", "CMusEngTelephoneUtils", - "AudioOutputIsBT", + "IsAudioRoutingHeadset", "FUNCTIONALITY", - SetupL, UT_AudioOutputIsBTL, Teardown) + SetupL, UT_IsAudioRoutingHeadsetL, Teardown) + +EUNIT_TEST( + "IsAudioRoutingLoudSpeaker - test ", + "CMusEngTelephoneUtils", + "IsAudioRoutingLoudSpeaker", + "FUNCTIONALITY", + SetupL, UT_IsAudioRoutingLoudSpeakerL, Teardown) EUNIT_TEST( "LoudspeakerL - test ", diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshmanagercli/inc/musmanagerclientsession.h --- a/mmsharing/mmshmanagercli/inc/musmanagerclientsession.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshmanagercli/inc/musmanagerclientsession.h Thu Aug 19 09:51:39 2010 +0300 @@ -81,6 +81,8 @@ private: // data TVersion Version() const; + + TRequestStatus iSessionCreationStatus; }; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshmanagercli/src/musmanagerclientsession.cpp --- a/mmsharing/mmshmanagercli/src/musmanagerclientsession.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshmanagercli/src/musmanagerclientsession.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -31,8 +31,10 @@ */ #define ASYNCHRONOUS_MESSAGE_SLOTS 255 +const TInt KMusServerSessionCreationWaitTimeoutInMicrosecs = 10000000; // 10 secs + // ======== LOCAL FUNCTIONS ======== - + // --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- @@ -40,21 +42,49 @@ RMusManagerClientSession::RMusManagerClientSession() : RSessionBase () { - } + // --------------------------------------------------------------------------- -// +// Use timeout mechanism for session creation as otherwise it can block +// so long that WServ terminates the process. There's no way to cancel +// session creation other than destuction of client session. Therefore, in case +// of timeout, leave and let creation finish silently or get canceled when +// user of client session object deletes us. // --------------------------------------------------------------------------- // void RMusManagerClientSession::ConnectL() { - MUS_LOG( "mus: [MUSCLI] -> RMusManagerClientSession::ConnectL()" ); - TRequestStatus s; + MUS_LOG( "mus: [MUSCLI] -> RMusManagerClientSession::ConnectL(), with timeout" ); + + if ( iSessionCreationStatus.Int() == KRequestPending ) + { + // Previous creation still pending + User::Leave( KErrNotReady ); + } + + RTimer timer; + CleanupClosePushL( timer ); + User::LeaveIfError( timer.CreateLocal() ); + User::LeaveIfError( CreateSession( KMusManagerServerName(), Version(), - ASYNCHRONOUS_MESSAGE_SLOTS, &s ) ); - - User::WaitForRequest( s ); + ASYNCHRONOUS_MESSAGE_SLOTS, &iSessionCreationStatus) ); + TRequestStatus timeoutStatus; + timer.After( timeoutStatus, KMusServerSessionCreationWaitTimeoutInMicrosecs ); + User::WaitForRequest( iSessionCreationStatus, timeoutStatus ); + if ( timeoutStatus.Int() != KRequestPending ) + { + MUS_LOG( "mus: [MUSCLI] RMusManagerClientSession::ConnectL, timeout" ); + User::Leave( KErrTimedOut ); + } + else + { + MUS_LOG( "mus: [MUSCLI] RMusManagerClientSession::ConnectL, no timeout" ); + timer.Cancel(); + User::WaitForRequest( timeoutStatus ); + } + CleanupStack::PopAndDestroy( &timer ); + MUS_LOG( "mus: [MUSCLI] <- RMusManagerClientSession::ConnectL()" ); } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshmanagercli/src/musmanagerserverstarter.cpp --- a/mmsharing/mmshmanagercli/src/musmanagerserverstarter.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshmanagercli/src/musmanagerserverstarter.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -21,6 +21,8 @@ #include "musmanageripccommon.h" #include "muslogger.h" +const TInt KMusServerClosingWaitTimeoutInMicrosecs = 10000000; // 10 secs + // ---------------------------------------------------------------------------- // MusManagerServerStarter::Start // ---------------------------------------------------------------------------- @@ -84,12 +86,18 @@ RSemaphore closingSemaphore; if ( closingSemaphore.OpenGlobal( KMusManagerServerClosingSemaphoreName ) == KErrNone ) { - MUS_LOG( "mus: [MUSCLI] Server is currently closing, wait" ); + MUS_LOG( "mus: [MUSCLI] CreateServerProcess, wait for server closing" ); // Don't wait forever if server is somehow horribly jammed - const TInt KMusServerClosingWaitTimeoutInMicrosecs = 20000000; // 20 secs - closingSemaphore.Wait(KMusServerClosingWaitTimeoutInMicrosecs); + + TInt waitErr = closingSemaphore.Wait( KMusServerClosingWaitTimeoutInMicrosecs ); + MUS_LOG1( "mus: [MUSCLI] CreateServerProcess, waitErr( %d )", + waitErr ); + closingSemaphore.Close(); + if ( waitErr != KErrNone ) + { + return waitErr; + } } - closingSemaphore.Close(); const TUidType serverUid( KNullUid, KNullUid, KServerUid3 ); RProcess server; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshmanagersrv/inc/musavailabilitypluginmanager.h --- a/mmsharing/mmshmanagersrv/inc/musavailabilitypluginmanager.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshmanagersrv/inc/musavailabilitypluginmanager.h Thu Aug 19 09:51:39 2010 +0300 @@ -151,6 +151,8 @@ virtual void AvailabilityError( TAvailabilityName aName, TAvailabilityStatus aStatus ); + virtual void AvailabilitiesAbleToShowIndicator(); + public: //from MMusAvaSettingsObserver diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp --- a/mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -306,6 +306,21 @@ AvailabilityChanged()" ) } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// + void CMusAvailabilityPluginManager::AvailabilitiesAbleToShowIndicator() + { + TInt err = 0; + TRAP( err, IndicateAvailabilityL() ); + if ( err ) + { + // Not sure about what to do. Very rare situation. + MUS_LOG1( "mus: [MUSSRV] AvailabilitiesAbleToShowIndicator() leave code: %d",err ) + } + } // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- @@ -747,8 +762,8 @@ { MUS_LOG( "mus: [MUSSRV] Create indicator" ) iIndicator = CMusIndicatorApi::NewL( *this ); - iIndicator->IndicateAvailabilityL(); } + iIndicator->IndicateAvailabilityL(); iApplicationManager.SetIndicatorStatusL( ETrue ); } else diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/data/musui.rss --- a/mmsharing/mmshui/data/musui.rss Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/data/musui.rss Thu Aug 19 09:51:39 2010 +0300 @@ -969,6 +969,17 @@ }; }; }, + + //****************************************************************** // + TBAR_CTRL + { + type = EAknCtButton; + id = EMusuiCmdToolbarBlank; + control = AVKON_BUTTON + { + flags = KAknButtonSizeFitText; + }; + }, // ****************************************************************** // @@ -1604,6 +1615,12 @@ buf = qtn_hf_conf_activate; } +RESOURCE TBUF r_mus_note_hf_deactivated + { + // "Handsfree deactivated" + buf = qtn_hf_conf_earpiece; + } + RESOURCE SLIDER r_mus_slider_vertical { layout=EAknSliderLayoutVertical; diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/inc/musui.hrh --- a/mmsharing/mmshui/inc/musui.hrh Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/inc/musui.hrh Thu Aug 19 09:51:39 2010 +0300 @@ -71,6 +71,7 @@ EMusuiCmdToolbarBrightness, EMusuiCmdToolbarMute, EMusuiCmdToolbarUnmute, + EMusuiCmdToolbarBlank, EMusuiCmdToolbarSpeakerOff, EMusuiCmdToolbarSpeakerOn, EMusuiCmdToolbarGallery, diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/inc/musuieventcontroller.h --- a/mmsharing/mmshui/inc/musuieventcontroller.h Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/inc/musuieventcontroller.h Thu Aug 19 09:51:39 2010 +0300 @@ -316,6 +316,10 @@ */ TBool IsDisplayEnabledL(); + /** + * + */ + TBool IsAudioRoutingLoudSpeaker(); protected: // New functions @@ -424,7 +428,12 @@ */ TMusUiShutdownState iShutdownState; + /** + * Flag indicating whether show "loudspeaker deactived" + */ + TBool iShowDialog; + private: /** diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuiappui.cpp --- a/mmsharing/mmshui/src/musuiappui.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuiappui.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -52,7 +52,8 @@ void CMusUiAppUi::ConstructL() { MUS_LOG( "mus: [MUSUI ] -> CMusUiAppUi::ConstructL" ); - BaseConstructL( EAknEnableSkin | EAppOrientationAutomatic | EAknEnableMSK ); + BaseConstructL( EAknEnableSkin | EAppOrientationAutomatic | EAknEnableMSK + | EAknSingleClickCompatible ); iResourceHandler = CMusUiResourceHandler::NewL( *this ); MultimediaSharing::TMusUseCase usecase = MusUiStartController::ReadUseCaseL(); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuiclipsharingcontroller.cpp --- a/mmsharing/mmshui/src/musuiclipsharingcontroller.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuiclipsharingcontroller.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -115,7 +115,7 @@ iSession->SetAudioRoutingObserver( this ); iSession->SetVolumeChangeObserver( this ); - if ( iSession->AudioRoutingCanBeChanged() && !iSession->AudioOutputIsBT() ) + if ( iSession->AudioRoutingCanBeChanged() && !iSession->IsAudioRoutingHeadset() ) { iSession->EnableLoudspeakerL( ELoudspeakerEnabled, ETrue ); } @@ -232,7 +232,6 @@ MUS_LOG( "mus: [MUSUI ] -> CMusUiClipSharingController::DeleteEngineSession" ); CMusUiSendController::DeleteEngineSession(); - // Cancel transcoding if ( iSession && iTranscodingGoing ) { @@ -243,10 +242,12 @@ R_MUS_VIEW_NOTE_UNABLE_TO_CONVERT ); iSession->CancelTranscodeL() ); } - + if ( iSession && iSession->IsAudioRoutingLoudSpeaker() ) + { + iShowDialog = ETrue; + } delete iSession; - iSession = NULL; - + iSession = NULL; MUS_LOG( "mus: [MUSUI ] <- CMusUiClipSharingController::DeleteEngineSession" ); } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuiclipsharingview.cpp --- a/mmsharing/mmshui/src/musuiclipsharingview.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuiclipsharingview.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -29,6 +29,7 @@ #include "muslogger.h" // debug logging #include #include +#include "musuidialogutil.h" #include #include @@ -304,7 +305,8 @@ !AknLayoutUtils::PenEnabled() ) { aToolbar->SetFocusedItemL( EMusuiCmdToolbarPause ); - } + } + Toolbar()->RemoveItem( EMusuiCmdToolbarBlank ); } // Last generic base class functionality @@ -329,6 +331,11 @@ } else { + if ( SendController() && SendController()->IsAudioRoutingLoudSpeaker() ) + { + MusUiDialogUtil::ShowGlobalInformationDialogL( + R_MUS_NOTE_HF_DEACTIVATED ); + } MusAppUi()->HandleExit(); } MUS_LOG( "mus: [MUSUI ] <- CMusUiClipSharingView::RunFetchDialogL" ); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuieventcontroller.cpp --- a/mmsharing/mmshui/src/musuieventcontroller.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuieventcontroller.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -173,7 +173,9 @@ : iEventObserver( aEventObserver ), iSharingObserver( aSharingObserver ), iForeground( ETrue ), - iActiveCall( ETrue ) + iShowDialog( EFalse ), + iActiveCall( ETrue ) + { } @@ -545,7 +547,6 @@ void CMusUiEventController::HandleExitL( TBool aTerminateCall ) { MUS_LOG( "mus: [MUSUI ] -> CMusUiEventController::HandleExitL" ); - if ( iShutdownState == EMusUiShutdownNotDefined ) { iShutdownState = EMusUiShutdownStarted; @@ -575,7 +576,11 @@ // This must be done before showing the end note, because showing of // note may cause the session to continue for extra few seconds. DeleteEngineSession(); - + if ( iShowDialog ) + { + MusUiDialogUtil::ShowGlobalInformationDialogL( + R_MUS_NOTE_HF_DEACTIVATED ); + } // Sharing Ended note MusUiDialogUtil::ShowGlobalInformationDialogL( R_MUS_LIVE_SHARING_VIEW_NOTE_SHARING_ENDED ); @@ -753,6 +758,21 @@ return ret; } +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +TBool CMusUiEventController::IsAudioRoutingLoudSpeaker() + { + MUS_LOG( "mus: [MUSUI ] -> CMusUiEventController::IsAudioRoutingLoudSpeaker" ); + TBool ret = EFalse; + if ( EngineSession() ) + { + ret = EngineSession()->IsAudioRoutingLoudSpeaker(); + } + MUS_LOG1( "mus: [MUSUI ] <- CMusUiEventController::IsAudioRoutingLoudSpeaker, %d", ret ); + return ret; + } // ----------------------------------------------------------------------------- // diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuilivesharingcontroller.cpp --- a/mmsharing/mmshui/src/musuilivesharingcontroller.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuilivesharingcontroller.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -115,7 +115,7 @@ iSession->SetAudioRoutingObserver( this ); iSession->SetVolumeChangeObserver( this ); - if ( iSession->AudioRoutingCanBeChanged() && !iSession->AudioOutputIsBT() ) + if ( iSession->AudioRoutingCanBeChanged() && !iSession->IsAudioRoutingHeadset() ) { iSession->EnableLoudspeakerL( ELoudspeakerEnabled, ETrue ); } @@ -185,7 +185,10 @@ void CMusUiLiveSharingController::DeleteEngineSession() { CMusUiSendController::DeleteEngineSession(); - + if ( iSession && iSession->IsAudioRoutingLoudSpeaker() ) + { + iShowDialog = ETrue; + } delete iSession; iSession = NULL; } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuilivesharingview.cpp --- a/mmsharing/mmshui/src/musuilivesharingview.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuilivesharingview.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -408,7 +408,8 @@ !AknLayoutUtils::PenEnabled() ) { aToolbar->SetFocusedItemL( EMusuiCmdToolbarPauseLive ); - } + } + Toolbar()->RemoveItem( EMusuiCmdToolbarBlank ); } // Last generic base class functionality diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuireceivecontroller.cpp --- a/mmsharing/mmshui/src/musuireceivecontroller.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuireceivecontroller.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -12,7 +12,7 @@ * Contributors: * * Description: Application's UI class. -* Version : %version: be1sipx1#75.1.14 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: be1sipx1#75.1.17 % << Don't touch! Updated by Synergy at check-out. * */ @@ -268,7 +268,7 @@ HandleError( errorPrivacyStatus ); } - if ( privacyStatus == 1 ) + if ( privacyStatus == 1 && !iOperatorSpecificFunctionality ) { MUS_LOG( "mus: [MUSUI ] Call is from private number" ) iOriginator = KPrivateNumber().AllocL(); @@ -287,7 +287,7 @@ // Display the query dialog: - if ( privacyStatus == 1 ) + if ( privacyStatus == 1 && !iOperatorSpecificFunctionality ) { iReceiveObserver.ShowInvitationQueryL( *iOriginator ); } @@ -428,6 +428,10 @@ void CMusUiReceiveController::DeleteEngineSession() { MUS_LOG( "mus: [MUSUI ] -> CMusUiReceiveController::DeleteEngineSession" ); + if ( iSession && iSession->IsAudioRoutingLoudSpeaker() ) + { + iShowDialog = ETrue; + } delete iSession; iSession = NULL; MUS_LOG( "mus: [MUSUI ] <- CMusUiReceiveController::DeleteEngineSession" ); @@ -673,7 +677,7 @@ // Enable loud speaker already before answering but disable it immediately // if accepting fails for some reason - if ( iSession->AudioRoutingCanBeChanged() && !iSession->AudioOutputIsBT() ) + if ( iSession->AudioRoutingCanBeChanged() && !iSession->IsAudioRoutingHeadset() ) { iSession->EnableLoudspeakerL( ELoudspeakerEnabled, ETrue ); } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuireceiveview.cpp --- a/mmsharing/mmshui/src/musuireceiveview.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuireceiveview.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -300,6 +300,8 @@ { aToolbar->SetFocusedItemL( EMusuiCmdToolbarFullScreen ); } + + Toolbar()->RemoveItem( EMusuiCmdToolbarBlank ); // Last generic base class functionality CMusUiGeneralView::DynInitToolbarL( aResourceId, aToolbar ); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmsharing/mmshui/src/musuisendview.cpp --- a/mmsharing/mmshui/src/musuisendview.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmsharing/mmshui/src/musuisendview.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -70,7 +70,12 @@ SendController()->InviteL( address ); } else - { + { + if ( SendController() && SendController()->IsAudioRoutingLoudSpeaker() ) + { + MusUiDialogUtil::ShowGlobalInformationDialogL( + R_MUS_NOTE_HF_DEACTIVATED ); + } MusUiDialogUtil::ShowGlobalInformationDialogL( R_MUS_LIVE_SHARING_VIEW_NOTE_SHARING_ENDED ); MusAppUi()->HandleExit(); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmshplugins/mmshaoplugin/src/muscallconferenceeventmonitor.cpp --- a/mmshplugins/mmshaoplugin/src/muscallconferenceeventmonitor.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmshplugins/mmshaoplugin/src/muscallconferenceeventmonitor.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -113,6 +113,7 @@ SetStateL( NMusSessionInformationApi::EConferenceCall ); break; case RMobileConferenceCall::EConferenceTerminated: + SetStateL( NMusSessionInformationApi::EConferenceTerminated ); MonitorCallL(); break; case RMobileConferenceCall::EConferenceSwapped: @@ -179,6 +180,14 @@ else { // No point of reporting it . + //EConferenceTerminated must be set every time to notify avaeventmonitor + if ( aVal == NMusSessionInformationApi::EConferenceTerminated ) + { + User::LeaveIfError(RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + aVal )); + } + } MUS_LOG( "mus: [MUSAO] <- CMusCallConferenceEventMonitor::SetStateL" ) } diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmshplugins/mmshaoplugin/src/muscallmonitorbase.cpp --- a/mmshplugins/mmshaoplugin/src/muscallmonitorbase.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmshplugins/mmshaoplugin/src/muscallmonitorbase.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -80,6 +80,16 @@ User::LeaveIfError(RProperty::Get( NMusSessionInformationApi::KCategoryUid, NMusSessionInformationApi::KMusCallEvent,currentVal)); MUS_LOG1( "mus: [MUSAO] - Remote State = %d",iRemoteCallEvent ) + + + /* + If Call is Connected then set the Call info. + */ + if( aVal==NMusSessionInformationApi::ECallConnected ) + { + SetCallInfoL(); + } + /* If current event is callconnected and remote is not in hold set the property value to CallConnected.Else set it to CallHold. Note : We can be sure about Local is connected when it goes to @@ -125,14 +135,7 @@ ( TInt ) NMusSessionInformationApi::ENoCall )); } } - /* - If Call is Connected then set the Call info. - */ - if( aVal==NMusSessionInformationApi::ECallConnected ) - { - SetCallInfoL(); - } - + } MUS_LOG( "mus: [MUSAO] <- CMusCallMonitorBase::SetStateL" ) diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmshplugins/mmshaoplugin/src/muspropertymonitor.cpp --- a/mmshplugins/mmshaoplugin/src/muspropertymonitor.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmshplugins/mmshaoplugin/src/muspropertymonitor.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -111,7 +111,11 @@ case NMusSessionInformationApi::ENoCall: MUS_LOG( "mus: [MUSAO] CallEvent = ENoCall" ) StopMusClient(); - break; + break; + case NMusSessionInformationApi::EConferenceTerminated: + MUS_LOG( "mus: [MUSAO] CallEvent = EConferenceTerminated" ) + break; + default: MUS_LOG( "mus: [MUSAO] CallEvent = default. Treated ENoCall" ) StopMusClient(); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallconferenceeventmonitor.cpp --- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallconferenceeventmonitor.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallconferenceeventmonitor.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -164,14 +164,13 @@ val ); EUNIT_ASSERT( val==NMusSessionInformationApi::EConferenceCall); - RTelHelper::SetConfEvent( RMobileConferenceCall::EConferenceTerminated ); - iConferenceCallEventMonitor->SetStateL( NMusSessionInformationApi::ENoCall ); + RTelHelper::SetConfEvent( RMobileConferenceCall::EConferenceTerminated ); iConferenceCallEventMonitor->Cancel(); // Cancel the active object iConferenceCallEventMonitor->RunL(); RProperty::Get( NMusSessionInformationApi::KCategoryUid, NMusSessionInformationApi::KMusCallEvent, val ); - EUNIT_ASSERT( val==NMusSessionInformationApi::ENoCall); + EUNIT_ASSERT( val==NMusSessionInformationApi::EConferenceTerminated); RTelHelper::SetConfEvent( RMobileConferenceCall::EConferenceSwapped ); iConferenceCallEventMonitor->SetStateL( NMusSessionInformationApi::ENoCall ); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp --- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -133,7 +133,7 @@ iMusPropertyMonitor->RunL(); EUNIT_ASSERT( iMusPropertyMonitor->iManager ); - iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ECallConnected; + iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::EConferenceTerminated; iMusPropertyMonitor->Cancel(); iMusPropertyMonitor->RunL(); EUNIT_ASSERT( iMusPropertyMonitor->iManager ); diff -r 2d2c7d1515f7 -r 33a5d2bbf6fc mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp --- a/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp Thu Jul 15 18:35:08 2010 +0300 +++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp Thu Aug 19 09:51:39 2010 +0300 @@ -12,7 +12,7 @@ * Contributors: * * Description: Container for MUSSettingsPlugin. -* Version : %version: 21 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: be1sipx1#22 % << Don't touch! Updated by Synergy at check-out. * */ @@ -88,6 +88,7 @@ delete iActivationItems; delete iProfileItems; delete iAutoRecordItems; + delete iNoteItems; delete iListboxItemArray; MUS_LOG( "[MUSSET] <- CMusSettingsContainer::~CMusSettingsContainer()" ) } @@ -117,6 +118,9 @@ iProfileItems = iCoeEnv->ReadDesC16ArrayResourceL( R_SIP_PROFILE_SETTING_PAGE_LBX ); + iNoteItems = iCoeEnv->ReadDesC16ArrayResourceL( + R_VS_AUDIO_SETTING_PAGE_LBX ); + CreateListBoxItemsL(); // Operator variant mode needs some item should not be visible to user. @@ -388,7 +392,7 @@ MusSettingsKeys::EAuditoryNotificationOff ); } - AddItemL( KGSSettIdNote, ( *iActivationItems )[ auditoryNotification ] ); + AddItemL( KGSSettIdNote, ( *iNoteItems )[ auditoryNotification ] ); MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" ) }