--- a/mmsharing/mmshengine/bwins/musengineu.def Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/bwins/musengineu.def Mon Mar 15 12:40:08 2010 +0200
@@ -52,20 +52,22 @@
?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
- ?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 54 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const
- ?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 55 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &)
- ?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 56 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const
- ?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 57 NONAME ; void CMusEngMceSession::VolumeDownL(void)
- ?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 58 NONAME ; void CMusEngLiveSession::ZoomOutL(void)
- ?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 59 NONAME ; int CMusEngMceSession::ConnectionActive(void) const
- ?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 60 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void)
- ?MuteMicL@CMusEngSession@@QAEXH@Z @ 61 NONAME ; void CMusEngSession::MuteMicL(int)
- ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 62 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
- ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 63 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
- ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 64 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
- ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 65 NONAME ; void CMusEngLiveSession::RecordL(int)
- ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 66 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
- ?TerminateL@CMusEngMceSession@@QAEXXZ @ 67 NONAME ; void CMusEngMceSession::TerminateL(void)
- ?PlayL@CMusEngLiveSession@@UAEXXZ @ 68 NONAME ; void CMusEngLiveSession::PlayL(void)
- ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 69 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds 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)
+ ?MuteMicL@CMusEngSession@@QAEXH@Z @ 62 NONAME ; void CMusEngSession::MuteMicL(int)
+ ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 63 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
+ ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 64 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
+ ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 65 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
+ ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 66 NONAME ; void CMusEngLiveSession::RecordL(int)
+ ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 67 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
+ ?TerminateL@CMusEngMceSession@@QAEXXZ @ 68 NONAME ; void CMusEngMceSession::TerminateL(void)
+ ?PlayL@CMusEngLiveSession@@UAEXXZ @ 69 NONAME ; void CMusEngLiveSession::PlayL(void)
+ ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 70 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &)
+ ?SetVolumeChangeObserver@CMusEngSession@@QAEXPAVMMusEngVolumeChangeObserver@@@Z @ 71 NONAME ; void CMusEngSession::SetVolumeChangeObserver(class MMusEngVolumeChangeObserver *)
--- a/mmsharing/mmshengine/eabi/musengineu.def Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/eabi/musengineu.def Mon Mar 15 12:40:08 2010 +0200
@@ -4,87 +4,89 @@
_ZN14CMusEngSession11VolumeDownLEv @ 3 NONAME
_ZN14CMusEngSession18EnableLoudspeakerLEii @ 4 NONAME
_ZN14CMusEngSession23SetAudioRoutingObserverEP27MMusEngAudioRoutingObserver @ 5 NONAME
- _ZN14CMusEngSession24AudioRoutingCanBeChangedEv @ 6 NONAME
- _ZN14CMusEngSession8MuteMicLEi @ 7 NONAME
- _ZN14CMusEngSession8SetRectLERK5TRect @ 8 NONAME
- _ZN14CMusEngSession9VolumeUpLEv @ 9 NONAME
- _ZN16TMusEngUriParser7UriTypeEv @ 10 NONAME
- _ZN16TMusEngUriParser8GetUri8LEv @ 11 NONAME
- _ZN16TMusEngUriParser9GetUri16LEi @ 12 NONAME
- _ZN16TMusEngUriParser9ParseUriLEv @ 13 NONAME
- _ZN16TMusEngUriParserC1ERK7TDesC16 @ 14 NONAME
- _ZN16TMusEngUriParserC2ERK7TDesC16 @ 15 NONAME
- _ZN17CMusEngMceSession10SetVolumeLEi @ 16 NONAME
- _ZN17CMusEngMceSession10TerminateLEv @ 17 NONAME
- _ZN17CMusEngMceSession11VolumeDownLEv @ 18 NONAME
- _ZN17CMusEngMceSession12OrientationLEv @ 19 NONAME
- _ZN17CMusEngMceSession14ContainsAudioLEv @ 20 NONAME
- _ZN17CMusEngMceSession14EnableDisplayLEi @ 21 NONAME
- _ZN17CMusEngMceSession15SetOrientationLENS_19TDisplayOrientationE @ 22 NONAME
- _ZN17CMusEngMceSession5MuteLEv @ 23 NONAME
- _ZN17CMusEngMceSession7UnmuteLEv @ 24 NONAME
- _ZN17CMusEngMceSession8IsMutedLEv @ 25 NONAME
- _ZN17CMusEngMceSession9VolumeUpLEv @ 26 NONAME
- _ZN18CMusEngClipSession10IsPlayingLEv @ 27 NONAME
- _ZN18CMusEngClipSession10TranscodeLERK4TBufILi256EE @ 28 NONAME
- _ZN18CMusEngClipSession11FastRewindLEi @ 29 NONAME
- _ZN18CMusEngClipSession12FastForwardLEi @ 30 NONAME
- _ZN18CMusEngClipSession12SetPositionLERK20TTimeIntervalSeconds @ 31 NONAME
- _ZN18CMusEngClipSession16CancelTranscodeLEv @ 32 NONAME
- _ZN18CMusEngClipSession4NewLERK5TRectR22MMusEngSessionObserverR25MMusEngOutSessionObserverR26MMusEngClipSessionObserverj @ 33 NONAME
- _ZN18CMusEngClipSession5PlayLEv @ 34 NONAME
- _ZN18CMusEngClipSession6PauseLEv @ 35 NONAME
- _ZN18CMusEngClipSession8SetClipLERK7TDesC16 @ 36 NONAME
- _ZN18CMusEngClipSession9DurationLEv @ 37 NONAME
- _ZN18CMusEngClipSession9PositionLEv @ 38 NONAME
- _ZN18CMusEngLiveSession10IsPlayingLEv @ 39 NONAME
- _ZN18CMusEngLiveSession11IsRecordingEv @ 40 NONAME
- _ZN18CMusEngLiveSession12ZoomDefaultLEv @ 41 NONAME
- _ZN18CMusEngLiveSession15BrightnessAutoLEv @ 42 NONAME
- _ZN18CMusEngLiveSession18BrightnessDefaultLEv @ 43 NONAME
- _ZN18CMusEngLiveSession19DecreaseBrightnessLEv @ 44 NONAME
- _ZN18CMusEngLiveSession19IncreaseBrightnessLEv @ 45 NONAME
- _ZN18CMusEngLiveSession4NewLERK5TRectR22MMusEngSessionObserverR25MMusEngOutSessionObserverR26MMusEngLiveSessionObserverj @ 46 NONAME
- _ZN18CMusEngLiveSession4NewLERK7TDesC16RK5TRectR22MMusEngSessionObserverR25MMusEngOutSessionObserverR26MMusEngLiveSessionObserverj @ 47 NONAME
- _ZN18CMusEngLiveSession5PlayLEv @ 48 NONAME
- _ZN18CMusEngLiveSession6PauseLEv @ 49 NONAME
- _ZN18CMusEngLiveSession7RecordLEi @ 50 NONAME
- _ZN18CMusEngLiveSession7ZoomInLEv @ 51 NONAME
- _ZN18CMusEngLiveSession8SetZoomLEi @ 52 NONAME
- _ZN18CMusEngLiveSession8ZoomOutLEv @ 53 NONAME
- _ZN20CMusEngMceOutSession13CancelInviteLEv @ 54 NONAME
- _ZN20CMusEngMceOutSession27SetSupportedVideoCodecListLERK7TDesC16 @ 55 NONAME
- _ZN20CMusEngMceOutSession7InviteLERK7TDesC16 @ 56 NONAME
- _ZN21CMusEngReceiveSession17AcceptInvitationLERKi @ 57 NONAME
- _ZN21CMusEngReceiveSession4NewLERK5TRectR22MMusEngSessionObserverR29MMusEngReceiveSessionObserver @ 58 NONAME
- _ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 59 NONAME
- _ZNK14CMusEngSession4RectEv @ 60 NONAME
- _ZNK14CMusEngSession7VolumeLEv @ 61 NONAME
- _ZNK17CMusEngMceSession14GetSessionTimeEv @ 62 NONAME
- _ZNK17CMusEngMceSession16ConnectionActiveEv @ 63 NONAME
- _ZNK18CMusEngLiveSession12CurrentZoomLEv @ 64 NONAME
- _ZNK18CMusEngLiveSession14MaxBrightnessLEv @ 65 NONAME
- _ZNK18CMusEngLiveSession14MinBrightnessLEv @ 66 NONAME
- _ZNK18CMusEngLiveSession14SetBrightnessLEi @ 67 NONAME
- _ZNK18CMusEngLiveSession18CurrentBrightnessLEv @ 68 NONAME
- _ZNK18CMusEngLiveSession8MaxZoomLEv @ 69 NONAME
- _ZNK18CMusEngLiveSession8MinZoomLEv @ 70 NONAME
- _ZTI14CMusEngSession @ 71 NONAME ; #<TI>#
- _ZTI17CMusEngMceSession @ 72 NONAME ; #<TI>#
- _ZTI18CMusEngClipSession @ 73 NONAME ; #<TI>#
- _ZTI18CMusEngLiveSession @ 74 NONAME ; #<TI>#
- _ZTI20CMusEngMceOutSession @ 75 NONAME ; #<TI>#
- _ZTI21CMusEngReceiveSession @ 76 NONAME ; #<TI>#
- _ZTI21CMusEngTelephoneUtils @ 77 NONAME ; #<TI>#
- _ZTI21CMusSipProfileHandler @ 78 NONAME ; #<TI>#
- _ZTI27CMusEngSessionDurationTimer @ 79 NONAME ; #<TI>#
- _ZTV14CMusEngSession @ 80 NONAME ; #<VT>#
- _ZTV17CMusEngMceSession @ 81 NONAME ; #<VT>#
- _ZTV18CMusEngClipSession @ 82 NONAME ; #<VT>#
- _ZTV18CMusEngLiveSession @ 83 NONAME ; #<VT>#
- _ZTV20CMusEngMceOutSession @ 84 NONAME ; #<VT>#
- _ZTV21CMusEngReceiveSession @ 85 NONAME ; #<VT>#
- _ZTV21CMusEngTelephoneUtils @ 86 NONAME ; #<VT>#
- _ZTV21CMusSipProfileHandler @ 87 NONAME ; #<VT>#
- _ZTV27CMusEngSessionDurationTimer @ 88 NONAME ; #<VT>#
+ _ZN14CMusEngSession23SetVolumeChangeObserverEP27MMusEngVolumeChangeObserver @ 6 NONAME
+ _ZN14CMusEngSession24AudioRoutingCanBeChangedEv @ 7 NONAME
+ _ZN14CMusEngSession8MuteMicLEi @ 8 NONAME
+ _ZN14CMusEngSession8SetRectLERK5TRect @ 9 NONAME
+ _ZN14CMusEngSession9VolumeUpLEv @ 10 NONAME
+ _ZN16TMusEngUriParser7UriTypeEv @ 11 NONAME
+ _ZN16TMusEngUriParser8GetUri8LEv @ 12 NONAME
+ _ZN16TMusEngUriParser9GetUri16LEi @ 13 NONAME
+ _ZN16TMusEngUriParser9ParseUriLEv @ 14 NONAME
+ _ZN16TMusEngUriParserC1ERK7TDesC16 @ 15 NONAME
+ _ZN16TMusEngUriParserC2ERK7TDesC16 @ 16 NONAME
+ _ZN17CMusEngMceSession10SetVolumeLEi @ 17 NONAME
+ _ZN17CMusEngMceSession10TerminateLEv @ 18 NONAME
+ _ZN17CMusEngMceSession11VolumeDownLEv @ 19 NONAME
+ _ZN17CMusEngMceSession12OrientationLEv @ 20 NONAME
+ _ZN17CMusEngMceSession14ContainsAudioLEv @ 21 NONAME
+ _ZN17CMusEngMceSession14EnableDisplayLEi @ 22 NONAME
+ _ZN17CMusEngMceSession15SetOrientationLENS_19TDisplayOrientationE @ 23 NONAME
+ _ZN17CMusEngMceSession17IsDisplayEnabledLEv @ 24 NONAME
+ _ZN17CMusEngMceSession5MuteLEv @ 25 NONAME
+ _ZN17CMusEngMceSession7UnmuteLEv @ 26 NONAME
+ _ZN17CMusEngMceSession8IsMutedLEv @ 27 NONAME
+ _ZN17CMusEngMceSession9VolumeUpLEv @ 28 NONAME
+ _ZN18CMusEngClipSession10IsPlayingLEv @ 29 NONAME
+ _ZN18CMusEngClipSession10TranscodeLERK4TBufILi256EE @ 30 NONAME
+ _ZN18CMusEngClipSession11FastRewindLEi @ 31 NONAME
+ _ZN18CMusEngClipSession12FastForwardLEi @ 32 NONAME
+ _ZN18CMusEngClipSession12SetPositionLERK20TTimeIntervalSeconds @ 33 NONAME
+ _ZN18CMusEngClipSession16CancelTranscodeLEv @ 34 NONAME
+ _ZN18CMusEngClipSession4NewLERK5TRectR22MMusEngSessionObserverR25MMusEngOutSessionObserverR26MMusEngClipSessionObserverj @ 35 NONAME
+ _ZN18CMusEngClipSession5PlayLEv @ 36 NONAME
+ _ZN18CMusEngClipSession6PauseLEv @ 37 NONAME
+ _ZN18CMusEngClipSession8SetClipLERK7TDesC16 @ 38 NONAME
+ _ZN18CMusEngClipSession9DurationLEv @ 39 NONAME
+ _ZN18CMusEngClipSession9PositionLEv @ 40 NONAME
+ _ZN18CMusEngLiveSession10IsPlayingLEv @ 41 NONAME
+ _ZN18CMusEngLiveSession11IsRecordingEv @ 42 NONAME
+ _ZN18CMusEngLiveSession12ZoomDefaultLEv @ 43 NONAME
+ _ZN18CMusEngLiveSession15BrightnessAutoLEv @ 44 NONAME
+ _ZN18CMusEngLiveSession18BrightnessDefaultLEv @ 45 NONAME
+ _ZN18CMusEngLiveSession19DecreaseBrightnessLEv @ 46 NONAME
+ _ZN18CMusEngLiveSession19IncreaseBrightnessLEv @ 47 NONAME
+ _ZN18CMusEngLiveSession4NewLERK5TRectR22MMusEngSessionObserverR25MMusEngOutSessionObserverR26MMusEngLiveSessionObserverj @ 48 NONAME
+ _ZN18CMusEngLiveSession4NewLERK7TDesC16RK5TRectR22MMusEngSessionObserverR25MMusEngOutSessionObserverR26MMusEngLiveSessionObserverj @ 49 NONAME
+ _ZN18CMusEngLiveSession5PlayLEv @ 50 NONAME
+ _ZN18CMusEngLiveSession6PauseLEv @ 51 NONAME
+ _ZN18CMusEngLiveSession7RecordLEi @ 52 NONAME
+ _ZN18CMusEngLiveSession7ZoomInLEv @ 53 NONAME
+ _ZN18CMusEngLiveSession8SetZoomLEi @ 54 NONAME
+ _ZN18CMusEngLiveSession8ZoomOutLEv @ 55 NONAME
+ _ZN20CMusEngMceOutSession13CancelInviteLEv @ 56 NONAME
+ _ZN20CMusEngMceOutSession27SetSupportedVideoCodecListLERK7TDesC16 @ 57 NONAME
+ _ZN20CMusEngMceOutSession7InviteLERK7TDesC16 @ 58 NONAME
+ _ZN21CMusEngReceiveSession17AcceptInvitationLERKi @ 59 NONAME
+ _ZN21CMusEngReceiveSession4NewLERK5TRectR22MMusEngSessionObserverR29MMusEngReceiveSessionObserver @ 60 NONAME
+ _ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 61 NONAME
+ _ZNK14CMusEngSession4RectEv @ 62 NONAME
+ _ZNK14CMusEngSession7VolumeLEv @ 63 NONAME
+ _ZNK17CMusEngMceSession14GetSessionTimeEv @ 64 NONAME
+ _ZNK17CMusEngMceSession16ConnectionActiveEv @ 65 NONAME
+ _ZNK18CMusEngLiveSession12CurrentZoomLEv @ 66 NONAME
+ _ZNK18CMusEngLiveSession14MaxBrightnessLEv @ 67 NONAME
+ _ZNK18CMusEngLiveSession14MinBrightnessLEv @ 68 NONAME
+ _ZNK18CMusEngLiveSession14SetBrightnessLEi @ 69 NONAME
+ _ZNK18CMusEngLiveSession18CurrentBrightnessLEv @ 70 NONAME
+ _ZNK18CMusEngLiveSession8MaxZoomLEv @ 71 NONAME
+ _ZNK18CMusEngLiveSession8MinZoomLEv @ 72 NONAME
+ _ZTI14CMusEngSession @ 73 NONAME
+ _ZTI17CMusEngMceSession @ 74 NONAME
+ _ZTI18CMusEngClipSession @ 75 NONAME
+ _ZTI18CMusEngLiveSession @ 76 NONAME
+ _ZTI20CMusEngMceOutSession @ 77 NONAME
+ _ZTI21CMusEngReceiveSession @ 78 NONAME
+ _ZTI21CMusEngTelephoneUtils @ 79 NONAME
+ _ZTI21CMusSipProfileHandler @ 80 NONAME
+ _ZTI27CMusEngSessionDurationTimer @ 81 NONAME
+ _ZTV14CMusEngSession @ 82 NONAME
+ _ZTV17CMusEngMceSession @ 83 NONAME
+ _ZTV18CMusEngClipSession @ 84 NONAME
+ _ZTV18CMusEngLiveSession @ 85 NONAME
+ _ZTV20CMusEngMceOutSession @ 86 NONAME
+ _ZTV21CMusEngReceiveSession @ 87 NONAME
+ _ZTV21CMusEngTelephoneUtils @ 88 NONAME
+ _ZTV21CMusSipProfileHandler @ 89 NONAME
+ _ZTV27CMusEngSessionDurationTimer @ 90 NONAME
--- a/mmsharing/mmshengine/group/musengine.mmp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/group/musengine.mmp Mon Mar 15 12:40:08 2010 +0200
@@ -43,7 +43,7 @@
SOURCE musengreceivesession.cpp
SOURCE musengtelephoneutils.cpp
SOURCE musengsessiondurationtimer.cpp
-SOURCE musengclipsession.cpp
+SOURCE musengclipsession.cpp
SOURCE musenguriparser.cpp
SOURCE musengmceutils.cpp
@@ -61,17 +61,18 @@
LIBRARY euser.lib
LIBRARY bafl.lib
LIBRARY inetprotutil.lib
-LIBRARY phoneclient.lib
-LIBRARY centralrepository.lib
+LIBRARY phoneclient.lib
+LIBRARY centralrepository.lib
-LIBRARY sipprofilecli.lib
-LIBRARY sipclient.lib
-LIBRARY sipcodec.lib
-LIBRARY mceclient.lib
-LIBRARY drmcommon.lib
-LIBRARY charconv.lib
+LIBRARY sipprofilecli.lib
+LIBRARY sipclient.lib
+LIBRARY sipcodec.lib
+LIBRARY mceclient.lib
+LIBRARY drmcommon.lib
+LIBRARY charconv.lib
LIBRARY telephonyaudiorouting.lib
LIBRARY efsrv.lib
+LIBRARY cenrepnotifhandler.lib
DEBUGLIBRARY flogger.lib
--- a/mmsharing/mmshengine/inc/musengmcesession.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/inc/musengmcesession.h Mon Mar 15 12:40:08 2010 +0200
@@ -162,6 +162,12 @@
*/
IMPORT_C void SetOrientationL( TDisplayOrientation aOrientation );
+ /**
+ * Returns state of the screen device.
+ *
+ * @pre Session is ongoing
+ */
+ IMPORT_C TBool IsDisplayEnabledL();
public: // VIRTUAL API
@@ -315,7 +321,14 @@
void Reject( CMceInSession& aSession,
const TDesC8& aReason = KNullDesC8(),
TUint32 aCode = 0 );
-
+
+ protected: // from CMusEngSession
+
+ /**
+ *
+ */
+ void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged );
+
protected: // from MMceInSessionObserver
--- a/mmsharing/mmshengine/inc/musengsession.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/inc/musengsession.h Mon Mar 15 12:40:08 2010 +0200
@@ -21,6 +21,7 @@
// USER INCLUDES
#include "musunittesting.h"
+#include "musengvolumechangeobserver.h"
//SYSTEM INCLUDES
#include <e32base.h>
@@ -31,6 +32,7 @@
class CMusSipProfileHandler;
class CRepository;
class MMusEngAudioRoutingObserver;
+class MMusEngVolumeChangeObserver;
// CLASS DECLARATION
@@ -43,7 +45,8 @@
*
* @lib musengine.lib
*/
-class CMusEngSession : public CBase
+class CMusEngSession : public CBase,
+ public MMusEngVolumeChangeObserver
{
MUS_UNITTEST( UT_CMusEngSession )
@@ -116,6 +119,12 @@
IMPORT_C void SetAudioRoutingObserver(
MMusEngAudioRoutingObserver* aObserver );
+ /**
+ * Sets volume level change observer. Can be set to NULL in order to indicate
+ * ending of observing changes in volume level.
+ */
+ IMPORT_C void SetVolumeChangeObserver(
+ MMusEngVolumeChangeObserver* aObserver );
public: // VIRTUAL API FUNCTIONS
@@ -159,6 +168,9 @@
virtual void RectChangedL() = 0;
+ //from MMusEngVolumeChangeObserver
+ virtual void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged );
+
protected:
/**
@@ -189,6 +201,11 @@
* Telephone utilities.
*/
CMusEngTelephoneUtils* iTelephoneUtils;
+
+ /**
+ * Volume change observer
+ */
+ MMusEngVolumeChangeObserver* iVolumeObserver;
};
--- a/mmsharing/mmshengine/inc/musengtelephoneutils.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/inc/musengtelephoneutils.h Mon Mar 15 12:40:08 2010 +0200
@@ -27,19 +27,22 @@
#include <MTelephonyAudioRoutingObserver.h>
#include <TelephonyAudioRouting.h>
#include <RPhCltServer.h>
+#include <cenrepnotifyhandler.h>
// FORWARD DECLARATIONS
class CRepository;
class CTelephonyAudioRouting;
class CPhCltCommandHandler;
class MMusEngAudioRoutingObserver;
+class MMusEngVolumeChangeObserver;
/**
* Utility class to handle all phone related requests:
* Audio routing, volume control and microphone muting.
*/
class CMusEngTelephoneUtils : public CActive,
- public MTelephonyAudioRoutingObserver
+ public MTelephonyAudioRoutingObserver,
+ public MCenRepNotifyHandlerCallback
{
MUS_UNITTEST( UT_CMusEngTelephoneUtils )
MUS_UNITTEST( UT_CMusEngSession )
@@ -79,10 +82,15 @@
TBool IsLoudSpeakerEnabled() const;
/**
- *
+ * Returns current CS call volume level from central repository
*/
TInt GetVolumeL() const;
+ /**
+ * Returns locally cached CS call volume level
+ */
+ TInt GetVolume() const;
+
/**
*
*/
@@ -104,6 +112,11 @@
*/
void SetAudioRoutingObserver( MMusEngAudioRoutingObserver* aObserver );
+ /**
+ * Sets volume level observer. Can be set to NULL in order to indicate
+ * ending of observing changes in volume level.
+ */
+ void SetVolumeChangeObserver( MMusEngVolumeChangeObserver* aObserver );
private: // inherited from CActive
@@ -145,6 +158,10 @@
*/
void DoSetOutputL( CTelephonyAudioRouting::TAudioOutput aAudioOutput );
+ private:// From MCenRepNotifyHandlerCallback
+
+ void HandleNotifyGeneric( TUint32 aId );
+
private:
/**
@@ -167,7 +184,13 @@
*/
TInt ValidateVolume( const TInt aVolume ) const;
-
+ /**
+ * Checks current volume level and notifies observer, if volume changed
+ * @param aAudioRouteChanged, ETrue if volume check should be done
+ * because of audio route change
+ */
+ void UpdateCurrentVolume( TBool aAudioRouteChanged );
+
private: // DATA
/**
@@ -197,6 +220,18 @@
TBool iShowDialog;
+ /**
+ * Central repository notifier instance. Owned.
+ */
+ CCenRepNotifyHandler* iNotifier;
+
+ /**
+ * Volume change observer
+ * Used to inform session about volume updates
+ */
+ MMusEngVolumeChangeObserver* iVolumeObserver;
+
+ TInt iCurrentVolume;
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshengine/inc/musengvolumechangeobserver.h Mon Mar 15 12:40:08 2010 +0200
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* 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".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef MUSENGVOLUMECHANGEOBSERVER_H
+#define MUSENGVOLUMECHANGEOBSERVER_H
+
+// INCLUDES
+#include <e32def.h>
+
+// CLASS DECLARATION
+
+/**
+* An interface to be implemented by users of Multimedia Sharing Engine if
+* they wish to be notified about volume level CenRep keys change
+*
+*/
+class MMusEngVolumeChangeObserver
+ {
+ public:
+
+ /**
+ * Indicates that volume level was changed either by some other
+ * application or due to audio route change
+ * @param aVolume new volume level
+ * @param aAudioRouteChanged indicates whether volume level changed due
+ * to audio route change
+ */
+ virtual void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged ) = 0;
+ };
+
+#endif
--- a/mmsharing/mmshengine/src/musengmcesession.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/src/musengmcesession.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -321,6 +321,17 @@
MUS_LOG( "mus: [ENGINE] <- CMusEngMceSession::EnableDisplay()")
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CMusEngMceSession::IsDisplayEnabledL()
+ {
+ __ASSERT_ALWAYS( iSession, User::Leave( KErrNotReady ) );
+ CMceDisplaySink* display = MusEngMceUtils::GetDisplayL( *iSession );
+ return display->IsEnabled();
+ }
+
// -----------------------------------------------------------------------------
// Mutes playback of sended audio streams. Audio data is still streamed.
@@ -528,7 +539,7 @@
MusEngMceUtils::GetSpeaker( *( iSession->Streams()[i] ) );
if ( speaker &&
- aNewVolume >= 1 &&
+ aNewVolume >= KMusEngMinVolume &&
aNewVolume <= KMusEngMaxVolume )
{
// MCE might have different scale for volume than MUS
@@ -1456,3 +1467,19 @@
}
MUS_LOG( "mus: [ENGINE] <- CMusEngMceSession::DoCodecConfigurationBasedRemovalL()" )
}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMusEngMceSession::VolumeChanged( TInt aVolume, TBool aAudioRouteChanged )
+ {
+ MUS_LOG1( "mus: [ENGINE] -> CMusEngMceSession::VolumeChanged(): %d", aVolume )
+ if ( iSession )
+ {
+ CMusEngSession::VolumeChanged( aVolume, aAudioRouteChanged );
+ TRAP_IGNORE( SetSpeakerVolumeL( aVolume ) );
+ }
+
+ MUS_LOG( "mus: [ENGINE] <- CMusEngMceSession::VolumeChanged()" )
+ }
--- a/mmsharing/mmshengine/src/musengsession.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/src/musengsession.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -113,7 +113,7 @@
//
EXPORT_C TInt CMusEngSession::VolumeL() const
{
- return iTelephoneUtils->GetVolumeL();
+ return iTelephoneUtils->GetVolume();
}
@@ -147,6 +147,16 @@
iTelephoneUtils->SetAudioRoutingObserver( aObserver );
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMusEngSession::SetVolumeChangeObserver(
+ MMusEngVolumeChangeObserver* aObserver )
+ {
+ iVolumeObserver = aObserver;
+ }
+
// -----------------------------------------------------------------------------
// Increases CS call volume level by one.
@@ -155,7 +165,7 @@
//
EXPORT_C void CMusEngSession::VolumeUpL( )
{
- TInt currentVolume = iTelephoneUtils->GetVolumeL();
+ TInt currentVolume = iTelephoneUtils->GetVolume();
iTelephoneUtils->SetVolumeL( currentVolume + 1 );
}
@@ -167,7 +177,7 @@
//
EXPORT_C void CMusEngSession::VolumeDownL( )
{
- TInt currentVolume = iTelephoneUtils->GetVolumeL();
+ TInt currentVolume = iTelephoneUtils->GetVolume();
iTelephoneUtils->SetVolumeL( currentVolume - 1 );
}
@@ -200,7 +210,18 @@
{
MUS_LOG( "mus: [ENGINE] -> CMusEngSession::ConstructL()" )
iTelephoneUtils = CMusEngTelephoneUtils::NewL();
+ iTelephoneUtils->SetVolumeChangeObserver( this );
MUS_LOG( "mus: [ENGINE] <- CMusEngSession::ConstructL()" )
}
-
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMusEngSession::VolumeChanged( TInt aVolume, TBool aAudioRouteChanged )
+ {
+ if ( iVolumeObserver )
+ {
+ iVolumeObserver->VolumeChanged( aVolume, aAudioRouteChanged );
+ }
+ }
--- a/mmsharing/mmshengine/src/musengtelephoneutils.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/src/musengtelephoneutils.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -20,6 +20,7 @@
#include "musengtelephoneutils.h"
#include "musengaudioroutingobserver.h"
#include "musengmcesession.h"
+#include "musengvolumechangeobserver.h"
#include "muslogger.h"
// SYSTEM
@@ -30,7 +31,6 @@
#include <CPhCltCommandHandler.h> // for CPhCltCommandHandler
-
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
@@ -71,6 +71,12 @@
}
}
+ if ( iNotifier )
+ {
+ iNotifier->StopListening();
+ delete iNotifier;
+ }
+
delete iRepository;
delete iTelephonyAudioRouting;
MUS_LOG( "mus: [ENGINE] <- CMusEngTelephoneUtils::~CMusEngTelephoneUtils()" )
@@ -158,9 +164,17 @@
CTelephonyAudioRouting::ELoudspeaker );
}
-
+// -----------------------------------------------------------------------------
+// Returns locally cached the CS call volume level.
// -----------------------------------------------------------------------------
-// Gets the CS call volume level.
+//
+TInt CMusEngTelephoneUtils::GetVolume() const
+ {
+ return iCurrentVolume;
+ }
+
+// -----------------------------------------------------------------------------
+// Gets the CS call volume level from central repository.
// Leaves if error occurs when accessing central repository.
// -----------------------------------------------------------------------------
//
@@ -190,8 +204,8 @@
void CMusEngTelephoneUtils::SetVolumeL( TInt aVolume )
{
TInt newVolume = ValidateVolume( aVolume );
-
- if ( GetVolumeL() != newVolume )
+ MUS_LOG1( "mus: [ENGINE] -> CMusEngTelephoneUtils::SetVolumeL(), %d", newVolume )
+ if ( iCurrentVolume != newVolume )
{
if ( IsLoudSpeakerEnabled() )
{
@@ -203,6 +217,7 @@
User::LeaveIfError( iRepository->Set( KTelIncallEarVolume,
newVolume ) );
}
+ iCurrentVolume = newVolume;
}
}
@@ -257,7 +272,16 @@
{
iAudioRoutingObserver = aObserver;
}
-
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMusEngTelephoneUtils::SetVolumeChangeObserver(
+ MMusEngVolumeChangeObserver* aObserver )
+ {
+ iVolumeObserver = aObserver;
+ }
// -----------------------------------------------------------------------------
//
@@ -323,7 +347,9 @@
{
iAudioRoutingObserver->AudioRoutingChanged( EFalse );
}
-
+
+ UpdateCurrentVolume(ETrue);
+
MUS_LOG( "mus: [ENGINE] <- CMusEngTelephoneUtils::OutputChanged()" )
}
@@ -338,22 +364,27 @@
{
MUS_LOG( "mus: [ENGINE] -> CMusEngTelephoneUtils::SetOutputComplete()" )
- if ( aError == KErrNone && iAudioRoutingObserver )
+ if ( aError == KErrNone )
{
- // If audio routing api didn't shown note and show dialog mode is on,
- // we know that this completion is for such setoutput call for which
- // we need to show the note. Show note mode is turned off only in that
- // case.
- TBool dialogShownByUs( EFalse );
- TBool dialogShownByAudioRouting( EFalse );
- aError = iTelephonyAudioRouting->GetShowNote( dialogShownByAudioRouting );
- if ( aError == KErrNone && !dialogShownByAudioRouting && iShowDialog )
+ if ( iAudioRoutingObserver )
{
- dialogShownByUs = iShowDialog;
- iShowDialog = EFalse;
+ // If audio routing api didn't shown note and show dialog mode is on,
+ // we know that this completion is for such setoutput call for which
+ // we need to show the note. Show note mode is turned off only in that
+ // case.
+ TBool dialogShownByUs( EFalse );
+ TBool dialogShownByAudioRouting( EFalse );
+ aError = iTelephonyAudioRouting->GetShowNote( dialogShownByAudioRouting );
+ if ( aError == KErrNone && !dialogShownByAudioRouting && iShowDialog )
+ {
+ dialogShownByUs = iShowDialog;
+ iShowDialog = EFalse;
+ }
+
+ iAudioRoutingObserver->AudioRoutingChanged( dialogShownByUs );
}
- iAudioRoutingObserver->AudioRoutingChanged( dialogShownByUs );
+ UpdateCurrentVolume(ETrue);
}
MUS_LOG( "mus: [ENGINE] <- CMusEngTelephoneUtils::SetOutputComplete()" )
@@ -364,6 +395,24 @@
//
// -----------------------------------------------------------------------------
//
+void CMusEngTelephoneUtils::UpdateCurrentVolume( TBool aAudioRouteChanged )
+ {
+ TInt volume(0);
+ TRAPD(error, volume = GetVolumeL() );
+ if( (KErrNone == error) && (iCurrentVolume != volume) )
+ {
+ iCurrentVolume = volume;
+ if ( iVolumeObserver )
+ {
+ iVolumeObserver->VolumeChanged( volume, aAudioRouteChanged );
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
CMusEngTelephoneUtils::CMusEngTelephoneUtils()
: CActive( CActive::EPriorityStandard )
{
@@ -381,7 +430,10 @@
// Volume control
iRepository = CRepository::NewL( KCRUidInCallVolume );
-
+
+ iNotifier = CCenRepNotifyHandler::NewL( *this, *iRepository );
+ iNotifier->StartListeningL();
+
// Audio routing control
iTelephonyAudioRouting = CTelephonyAudioRouting::NewL( *this );
@@ -390,7 +442,9 @@
// Phone
MUS_LOG( "mus: [ENGINE] Use static DLL" )
iPhoneCommandHandler = CPhCltCommandHandler::NewL();
-
+
+ iCurrentVolume = GetVolumeL();
+
CActiveScheduler::Add( this );
MUS_LOG( "mus: [ENGINE] <- CMusEngTelephoneUtils::ConstructL()" )
@@ -439,3 +493,41 @@
}
+// ---------------------------------------------------------------------------
+// CMusEngTelephoneUtils::HandleNotifyGeneric
+// ---------------------------------------------------------------------------
+//
+void CMusEngTelephoneUtils::HandleNotifyGeneric( TUint32 aId )
+ {
+ MUS_LOG( "mus: [ENGINE] -> CMusEngTelephoneUtils::HandleNotifyGeneric()" )
+ TInt error = KErrArgument;
+ TInt volume = 0;
+ if ( KTelIncallEarVolume == aId )
+ {
+ error = iRepository->Get( KTelIncallEarVolume, volume );
+ MUS_LOG1( "mus: [ENGINE] EAR volume: %d", volume );
+ }
+ else if ( KTelIncallLoudspeakerVolume == aId )
+ {
+ error = iRepository->Get( KTelIncallLoudspeakerVolume, volume );
+ MUS_LOG1( "mus: [ENGINE] Loudspeakers volume: %d", volume );
+ }
+
+ volume = ValidateVolume(volume);
+ if ( (KErrNone == error) && (iCurrentVolume != volume) )
+ {
+ MUS_LOG1( "mus: [ENGINE] volume changed: %d!, notifying UI...", volume )
+ iCurrentVolume = volume;
+ if( iVolumeObserver )
+ {
+ iVolumeObserver->VolumeChanged( volume, EFalse );
+ }
+ }
+ else
+ {
+ MUS_LOG( "mus: [ENGINE] volume hasn't changed!, do nothing..." )
+ }
+
+ MUS_LOG1( "mus: [ENGINE] <- CMusEngTelephoneUtils::HandleNotifyGeneric(), error:%d",
+ error );
+ }
--- a/mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF Mon Mar 15 12:40:08 2010 +0200
@@ -1,2 +1,159 @@
EXPORTS
- ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+ ??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)
+ ?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<class CSIPProfile> &)
+ ?Type@CSIPProfile@@QBEABVTSIPProfileTypeInfo@@XZ @ 15 NONAME ; class TSIPProfileTypeInfo const & CSIPProfile::Type(void) const
+ ?DurationL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 16 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::DurationL(void)
+ ?Type@CMceMediaSource@@QBEIXZ @ 17 NONAME ; unsigned int CMceMediaSource::Type(void) const
+ ??0TMusEngUriParser@@QAE@ABVTDesC16@@@Z @ 18 NONAME ; TMusEngUriParser::TMusEngUriParser(class TDesC16 const &)
+ ?BrightnessL@CMceCameraSource@@QAEHXZ @ 19 NONAME ; int CMceCameraSource::BrightnessL(void)
+ ?Get@CRepository@@QAEHKAAVTDes16@@@Z @ 20 NONAME ; int CRepository::Get(unsigned long, class TDes16 &)
+ ?GetUri8L@TMusEngUriParser@@QAEPAVHBufC8@@XZ @ 21 NONAME ; class HBufC8 * TMusEngUriParser::GetUri8L(void)
+ ?NewLC@CSIPProfileRegistry@@SAPAV1@AAVCSIP@@AAVMSIPProfileRegistryObserver@@@Z @ 22 NONAME ; class CSIPProfileRegistry * CSIPProfileRegistry::NewLC(class CSIP &, class MSIPProfileRegistryObserver &)
+ ?AudioRoutingCanBeChanged@CMusEngSession@@QAEHXZ @ 23 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void)
+ ?MaxBrightnessL@CMusEngLiveSession@@QBEHXZ @ 24 NONAME ; int CMusEngLiveSession::MaxBrightnessL(void) const
+ ?OrientationL@CMusEngMceSession@@QAE?AW4TDisplayOrientation@1@XZ @ 25 NONAME ; enum CMusEngMceSession::TDisplayOrientation CMusEngMceSession::OrientationL(void)
+ ?EnableL@CSIPProfileRegistry@@QAEXAAVCSIPProfile@@AAVMSIPConnectionObserver@@@Z @ 26 NONAME ; void CSIPProfileRegistry::EnableL(class CSIPProfile &, class MSIPConnectionObserver &)
+ ?SetSupportedVideoCodecListL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 27 NONAME ; void CMusEngMceOutSession::SetSupportedVideoCodecListL(class TDesC16 const &)
+ ?CamerasAvailable@CMceCameraSource@@QBEHXZ @ 28 NONAME ; int CMceCameraSource::CamerasAvailable(void) const
+ ?IsRecording@CMusEngLiveSession@@QAEHXZ @ 29 NONAME ; int CMusEngLiveSession::IsRecording(void)
+ ?IsEnabled@CSIPProfileRegistry@@QBEHABVCSIPProfile@@@Z @ 30 NONAME ; int CSIPProfileRegistry::IsEnabled(class CSIPProfile const &) const
+ ?NewL@DRMCommon@@SAPAV1@XZ @ 31 NONAME ; class DRMCommon * DRMCommon::NewL(void)
+ ?DisableL@CMceCameraSource@@UAEXXZ @ 32 NONAME ; void CMceCameraSource::DisableL(void)
+ ?IsProtectedFile@DRMCommon@@QAEHABVTDesC16@@AAH@Z @ 33 NONAME ; int DRMCommon::IsProtectedFile(class TDesC16 const &, int &)
+ ?CancelTranscodeL@CMusEngClipSession@@QAEXXZ @ 34 NONAME ; void CMusEngClipSession::CancelTranscodeL(void)
+ ?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<unsigned long> &)
+ ?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 61 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const
+ ?NewLC@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 62 NONAME ; class CMceCameraSource * CMceCameraSource::NewLC(class CMceManager &)
+ ?ProfilesL@CSIPProfileRegistryBase@@QAEXAAV?$RPointerArray@VCSIPProfile@@@@@Z @ 63 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class RPointerArray<class CSIPProfile> &)
+ ?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 64 NONAME ; void CMusEngLiveSession::ZoomOutL(void)
+ ?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 65 NONAME ; int CMusEngMceSession::ConnectionActive(void) const
+ ?GetParameter@CSIPProfile@@QBEHKAAH@Z @ 66 NONAME ; int CSIPProfile::GetParameter(unsigned long, int &) const
+ ?SetWhiteBalanceL@CMceCameraSource@@QAEXW4TWhiteBalance@CCamera@@@Z @ 67 NONAME ; void CMceCameraSource::SetWhiteBalanceL(enum CCamera::TWhiteBalance)
+ ?RecordL@CMusEngLiveSession@@QAEXH@Z @ 68 NONAME ; void CMusEngLiveSession::RecordL(int)
+ ??1CCenRepNotifyHandler@@UAE@XZ @ 69 NONAME ; CCenRepNotifyHandler::~CCenRepNotifyHandler(void)
+ ?FindEqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 70 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC8 const &, class RArray<unsigned long> &)
+ ?ZoomFactorL@CMceCameraSource@@QAEHXZ @ 71 NONAME ; int CMceCameraSource::ZoomFactorL(void)
+ ?TerminateL@CMusEngMceSession@@QAEXXZ @ 72 NONAME ; void CMusEngMceSession::TerminateL(void)
+ ?SetZoomFactorL@CMceCameraSource@@QAEXH@Z @ 73 NONAME ; void CMceCameraSource::SetZoomFactorL(int)
+ ?SIP@CSIPProfileRegistry@@QBEAAVCSIP@@XZ @ 74 NONAME ; class CSIP & CSIPProfileRegistry::SIP(void) const
+ ??1CMceMediaSource@@UAE@XZ @ 75 NONAME ; CMceMediaSource::~CMceMediaSource(void)
+ ?ParseUriL@TMusEngUriParser@@QAEXXZ @ 76 NONAME ; void TMusEngUriParser::ParseUriL(void)
+ ?ProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@K@Z @ 77 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::ProfileL(unsigned long)
+ ?EnableLoudspeakerL@CMusEngSession@@QAEXHH@Z @ 78 NONAME ; void CMusEngSession::EnableLoudspeakerL(int, int)
+ ?CancelInviteL@CMusEngMceOutSession@@QAEXXZ @ 79 NONAME ; void CMusEngMceOutSession::CancelInviteL(void)
+ ?VolumeL@CMusEngSession@@QBEHXZ @ 80 NONAME ; int CMusEngSession::VolumeL(void) const
+ ?StopListening@CCenRepNotifyHandler@@QAEXXZ @ 81 NONAME ; void CCenRepNotifyHandler::StopListening(void)
+ ??1CSIPProfileRegistryBase@@UAE@XZ @ 82 NONAME ; CSIPProfileRegistryBase::~CSIPProfileRegistryBase(void)
+ ?ZoomDefaultL@CMusEngLiveSession@@QAEXXZ @ 83 NONAME ; void CMusEngLiveSession::ZoomDefaultL(void)
+ ?GetUri16L@TMusEngUriParser@@QAEPAVHBufC16@@H@Z @ 84 NONAME ; class HBufC16 * TMusEngUriParser::GetUri16L(int)
+ ?NewL@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 85 NONAME ; class CSIP * CSIP::NewL(class TUid const &, class MSIPObserver &)
+ ??1CMceCameraSource@@UAE@XZ @ 86 NONAME ; CMceCameraSource::~CMceCameraSource(void)
+ ?EnableL@CMceCameraSource@@UAEXXZ @ 87 NONAME ; void CMceCameraSource::EnableL(void)
+ ?VolumeUpL@CMusEngSession@@UAEXXZ @ 88 NONAME ; void CMusEngSession::VolumeUpL(void)
+ ?GetParameter@CSIPProfile@@QBEHKAAPBVMDesC8Array@@@Z @ 89 NONAME ; int CSIPProfile::GetParameter(unsigned long, class MDesC8Array const * &) const
+ ?NewL@CRepository@@SAPAV1@VTUid@@@Z @ 90 NONAME ; class CRepository * CRepository::NewL(class TUid)
+ ?SetVolumeChangeObserver@CMusEngSession@@QAEXPAVMMusEngVolumeChangeObserver@@@Z @ 91 NONAME ; void CMusEngSession::SetVolumeChangeObserver(class MMusEngVolumeChangeObserver *)
+ ?GetParameter@CSIPProfile@@QBEHKAAK@Z @ 92 NONAME ; int CSIPProfile::GetParameter(unsigned long, unsigned long &) const
+ ?IsMutedL@CMusEngMceSession@@QAEHXZ @ 93 NONAME ; int CMusEngMceSession::IsMutedL(void)
+ ??1CSIP@@UAE@XZ @ 94 NONAME ; CSIP::~CSIP(void)
+ ?Set@CRepository@@QAEHKH@Z @ 95 NONAME ; int CRepository::Set(unsigned long, int)
+ ?AcceptInvitationL@CMusEngReceiveSession@@QAEXABH@Z @ 96 NONAME ; void CMusEngReceiveSession::AcceptInvitationL(int const &)
+ ?CurrentZoomL@CMusEngLiveSession@@QBEHXZ @ 97 NONAME ; int CMusEngLiveSession::CurrentZoomL(void) const
+ ?DisallowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 98 NONAME ; void CSipProfileAlrController::DisallowMigrationL(unsigned long, unsigned long)
+ ?MinBrightnessL@CMusEngLiveSession@@QBEHXZ @ 99 NONAME ; int CMusEngLiveSession::MinBrightnessL(void) const
+ ??1CSIPProfile@@UAE@XZ @ 100 NONAME ; CSIPProfile::~CSIPProfile(void)
+ ?NewL@CMusEngLiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 101 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
+ ?UnmuteL@CMusEngMceSession@@UAEXXZ @ 102 NONAME ; void CMusEngMceSession::UnmuteL(void)
+ ?Connect@DRMCommon@@QAEHXZ @ 103 NONAME ; int DRMCommon::Connect(void)
+ ?NewL@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 104 NONAME ; class CMceCameraSource * CMceCameraSource::NewL(class CMceManager &)
+ ?MinZoomL@CMusEngLiveSession@@QBEHXZ @ 105 NONAME ; int CMusEngLiveSession::MinZoomL(void) const
+ ?Set@CRepository@@QAEHKABVTDesC16@@@Z @ 106 NONAME ; int CRepository::Set(unsigned long, class TDesC16 const &)
+ ?VolumeDownL@CMusEngSession@@UAEXXZ @ 107 NONAME ; void CMusEngSession::VolumeDownL(void)
+ ?ExposureL@CMceCameraSource@@QAE?AW4TExposure@CCamera@@XZ @ 108 NONAME ; enum CCamera::TExposure CMceCameraSource::ExposureL(void)
+ ?MuteL@CMusEngMceSession@@UAEXXZ @ 109 NONAME ; void CMusEngMceSession::MuteL(void)
+ ?NewLC@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 110 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewLC(class MCenRepNotifyHandlerCallback &, class CRepository &)
+ ?SetVolumeL@CMusEngSession@@UAEXH@Z @ 111 NONAME ; void CMusEngSession::SetVolumeL(int)
+ ?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 112 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void)
+ ?LastRegistrationError@CSIPProfileRegistryBase@@QBEHABVCSIPProfile@@@Z @ 113 NONAME ; int CSIPProfileRegistryBase::LastRegistrationError(class CSIPProfile const &) const
+ ?SetCameraIndexL@CMceCameraSource@@QAEXH@Z @ 114 NONAME ; void CMceCameraSource::SetCameraIndexL(int)
+ ?PauseL@CMusEngClipSession@@UAEXXZ @ 115 NONAME ; void CMusEngClipSession::PauseL(void)
+ ?Connection@CSIP@@QBEPAVCSIPConnection@@K@Z @ 116 NONAME ; class CSIPConnection * CSIP::Connection(unsigned long) const
+ ?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 117 NONAME ; void CMusEngSession::SetRectL(class TRect const &)
+ ?Create@CRepository@@QAEHKABVTDesC8@@@Z @ 118 NONAME ; int CRepository::Create(unsigned long, class TDesC8 const &)
+ ?RefreshIapAvailabilityL@CSipProfileAlrController@@QAEXK@Z @ 119 NONAME ; void CSipProfileAlrController::RefreshIapAvailabilityL(unsigned long)
+ ?DefaultProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@XZ @ 120 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::DefaultProfileL(void)
+ ?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 121 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void)
+ ?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 122 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void)
+ ?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTDesC8@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 123 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TDesC8 const &, class RPointerArray<class CSIPProfile> &)
+ ??1CSIPProfileRegistry@@UAE@XZ @ 124 NONAME ; CSIPProfileRegistry::~CSIPProfileRegistry(void)
+ ?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 125 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation)
+ ?Get@CRepository@@QAEHKAAVTDes8@@@Z @ 126 NONAME ; int CRepository::Get(unsigned long, class TDes8 &)
+ ?ConstructL@DRMCommon@@IAEXXZ @ 127 NONAME ; void DRMCommon::ConstructL(void)
+ ?ContrastL@CMceCameraSource@@QAEHXZ @ 128 NONAME ; int CMceCameraSource::ContrastL(void)
+ ?NegotiatedSecurityMechanismL@CSIP@@QAEPAVHBufC8@@ABVTDesC8@@@Z @ 129 NONAME ; class HBufC8 * CSIP::NegotiatedSecurityMechanismL(class TDesC8 const &)
+ ?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 130 NONAME ; void CMusEngLiveSession::ZoomInL(void)
+ ?NewL@CSipProfileAlrController@@SAPAV1@AAVCSIPProfileRegistryBase@@AAVMSipProfileAlrObserver@@@Z @ 131 NONAME ; class CSipProfileAlrController * CSipProfileAlrController::NewL(class CSIPProfileRegistryBase &, class MSipProfileAlrObserver &)
+ ?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 132 NONAME ; void CMusEngMceSession::SetVolumeL(int)
+ ?Stop@CActiveScheduler@@SAXXZ @ 133 NONAME ; void CActiveScheduler::Stop(void)
+ ?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 134 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void)
+ ?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 135 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &)
+ ?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 136 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const
+ ?IsSigCompSupportedL@CSIP@@QBEHXZ @ 137 NONAME ; int CSIP::IsSigCompSupportedL(void) const
+ ?NewLC@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 138 NONAME ; class CSIP * CSIP::NewLC(class TUid const &, class MSIPObserver &)
+ ?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 139 NONAME ; void CMusEngMceSession::VolumeDownL(void)
+ ?AllowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 140 NONAME ; void CSipProfileAlrController::AllowMigrationL(unsigned long, unsigned long)
+ ?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 141 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void)
+ ?SetContrastL@CMceCameraSource@@QAEXH@Z @ 142 NONAME ; void CMceCameraSource::SetContrastL(int)
+ ?WhiteBalanceL@CMceCameraSource@@QAE?AW4TWhiteBalance@CCamera@@XZ @ 143 NONAME ; enum CCamera::TWhiteBalance CMceCameraSource::WhiteBalanceL(void)
+ ??1DRMCommon@@UAE@XZ @ 144 NONAME ; DRMCommon::~DRMCommon(void)
+ ?MuteMicL@CMusEngSession@@QAEXH@Z @ 145 NONAME ; void CMusEngSession::MuteMicL(int)
+ ?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 146 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
+ ?HandleNotifyGeneric@MCenRepNotifyHandlerCallback@@UAEXK@Z @ 147 NONAME ; void MCenRepNotifyHandlerCallback::HandleNotifyGeneric(unsigned long)
+ ?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 148 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
+ ??0DRMCommon@@IAE@XZ @ 149 NONAME ; DRMCommon::DRMCommon(void)
+ ?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 150 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
+ ?SupportedProfileTypesL@CSIPProfileRegistryBase@@QAEXAAV?$RArray@VTSIPProfileTypeInfo@@@@@Z @ 151 NONAME ; void CSIPProfileRegistryBase::SupportedProfileTypesL(class RArray<class TSIPProfileTypeInfo> &)
+ ?Start@CActiveScheduler@@SAXXZ @ 152 NONAME ; void CActiveScheduler::Start(void)
+ ?SetBrightnessL@CMceCameraSource@@QAEXH@Z @ 153 NONAME ; void CMceCameraSource::SetBrightnessL(int)
+ ?SetDigitalZoomFactorL@CMceCameraSource@@QAEXH@Z @ 154 NONAME ; void CMceCameraSource::SetDigitalZoomFactorL(int)
+ ?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 155 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
+ ?IsEnabled@CMceMediaSource@@QBEHXZ @ 156 NONAME ; int CMceMediaSource::IsEnabled(void) const
+ ?PlayL@CMusEngLiveSession@@UAEXXZ @ 157 NONAME ; void CMusEngLiveSession::PlayL(void)
+ ?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 158 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &)
--- a/mmsharing/mmshengine/tsrc/ut_engine/group/ut_musengine.mmp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/group/ut_musengine.mmp Mon Mar 15 12:40:08 2010 +0200
@@ -48,6 +48,7 @@
SOURCEPATH ../../../../../tsrc/centralrepositorystub/src
SOURCE centralrepositorystub.cpp
+SOURCE cenrepnotifyhandlerstub.cpp
SOURCEPATH ../../../../../tsrc/drmstub/src
SOURCE drmcommonstub.cpp
@@ -94,7 +95,7 @@
USERINCLUDE ../../../../inc
USERINCLUDE ../../../../../inc
USERINCLUDE ../../../../../tsrc/sipprofilestub/inc
-USERINCLUDE ../../../../../tsrc/centralrepositorystub/inc
+USERINCLUDE ../../../../../tsrc/centralrepositorystub/inc
// to replace SIP profiles with a stub
SYSTEMINCLUDE ../inc
--- a/mmsharing/mmshengine/tsrc/ut_engine/inc/musengstubs.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/musengstubs.h Mon Mar 15 12:40:08 2010 +0200
@@ -28,6 +28,7 @@
#include "musengreceivesessionobserver.h"
#include "musengsessiondurationtimerobserver.h"
#include "musengaudioroutingobserver.h"
+#include "musengvolumechangeobserver.h"
#include <e32base.h>
@@ -71,7 +72,8 @@
public MMusEngLiveSessionObserver,
public MMusEngClipSessionObserver,
public MMusEngReceiveSessionObserver,
- public MMusEngAudioRoutingObserver
+ public MMusEngAudioRoutingObserver,
+ public MMusEngVolumeChangeObserver
{
public:
@@ -145,7 +147,9 @@
TBool AudioRouteChangeAllowed() const;
-
+ // From MMusEngVolumeChangeObserver
+ void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged );
+
public: // Helper
/**
@@ -203,6 +207,7 @@
TBool iSessionTemporarilyNotAvailable;
HBufC* iIncomingSessionOriginator;
+ TInt iVolume;
};
--- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengmcesession.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengmcesession.h Mon Mar 15 12:40:08 2010 +0200
@@ -31,6 +31,7 @@
class CMusEngClipSession;
class CMusEngObserverStub;
class CMceSession;
+class CMusEngMceSession;
// CLASS DEFINITION
/**
@@ -104,10 +105,14 @@
void UT_CMusEngMceSession_SsrcRemovedL();
void UT_CMusEngMceSession_UpdateTimerEventL();
void UT_CMusEngMceSession_IsRoamingBetweenAPsAllowedL();
+ void UT_CMusEngMceSession_IsDisplayEnabledLL();
+
+ void UT_CMusEngMceSession_VolumeChangedL();
private:
void SetMaxVolForSpeakersL(CMceSession& aSession, TInt aMaxVol);
+ TBool VerifySpeakersVolume(CMusEngMceSession& aSession, TInt aVolume);
private: // Data
--- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h Mon Mar 15 12:40:08 2010 +0200
@@ -77,6 +77,7 @@
void UT_VolumeUpLL();
void UT_VolumeDownLL();
void UT_SetVolumeLL();
+ void UT_SetVolumeChangeObserverL();
private: // Data
--- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h Mon Mar 15 12:40:08 2010 +0200
@@ -72,6 +72,8 @@
void UT_SetOutputCompleteL();
void UT_ValidateVolumeL();
void UT_DestructorL();
+ void UT_UpdateCurrentVolumeL();
+ void UT_HandleNotifyGenericL();
private: // Data
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/musengstubs.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/musengstubs.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -395,7 +395,14 @@
return iAudioRouteChangeAllowed;
}
-
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMusEngObserverStub::VolumeChanged( TInt aVolume, TBool /*aAudioRouteChanged*/ )
+ {
+ iVolume = aVolume;
+ }
// ----- HELPERS ---------------------------------------------------------------
@@ -439,7 +446,8 @@
!iSessionTemporarilyNotAvailable &&
!iIncomingSessionOriginator &&
!iShowNote &&
- iAudioRouteChangeAllowed );
+ iAudioRouteChangeAllowed &&
+ !iVolume );
}
// -----------------------------------------------------------------------------
@@ -483,6 +491,7 @@
iIncomingSessionOriginator = NULL;
iShowNote = EFalse;
iAudioRouteChangeAllowed = ETrue;
+ iVolume = 0;
}
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengmcesession.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengmcesession.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -220,7 +220,26 @@
EUNIT_ASSERT( sessionTime >= TTimeIntervalSeconds( 0 ) );
}
+void UT_CMusEngMceSession::UT_CMusEngMceSession_IsDisplayEnabledLL()
+ {
+ TRAPD( error, iLiveSession->IsDisplayEnabledL() );
+ MUS_TEST_FORWARD_ALLOC_FAILURE( error );
+ EUNIT_ASSERT( error == KErrNotReady );
+ ESTABLISH_OUT_SESSION( iLiveSession );
+
+ //Enable
+ CMceDisplaySink* display =
+ MusEngMceUtils::GetDisplayL( *(iLiveSession->iSession) );
+ display->iIsEnabled = ETrue;
+ EUNIT_ASSERT( iLiveSession->IsDisplayEnabledL() );
+
+ //Disable
+ display->iIsEnabled = EFalse;
+ EUNIT_ASSERT( !iLiveSession->IsDisplayEnabledL() );
+ }
+
+
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
@@ -1732,7 +1751,61 @@
EUNIT_ASSERT( iLiveSession->IsRoamingBetweenAPsAllowed() )
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngMceSession::UT_CMusEngMceSession_VolumeChangedL()
+ {
+ // Try without session, nothing happens
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+ iLiveSession->VolumeChanged( 1, EFalse );
+ EUNIT_ASSERT( !VerifySpeakersVolume(*iLiveSession, 1) )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+
+ // Establish session
+ ESTABLISH_OUT_SESSION( iClipSession )
+
+ // Try without observer
+ iClipSession->VolumeChanged( 2, EFalse );
+ EUNIT_ASSERT( VerifySpeakersVolume(*iClipSession, 2) )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+
+
+ // Try with observer set
+ iClipSession->SetVolumeChangeObserver( iObserver );
+ iClipSession->VolumeChanged( 3, EFalse );
+ EUNIT_ASSERT( VerifySpeakersVolume(*iClipSession, 3) )
+ EUNIT_ASSERT( iObserver->iVolume == 3 );
+
+ }
+
// HELPERS
+TBool UT_CMusEngMceSession::VerifySpeakersVolume(CMusEngMceSession& aSession, TInt aVolume)
+ {
+ TBool result = EFalse;
+
+ CMceSpeakerSink* speaker = NULL;
+ CMceSession* session = aSession.iSession;
+
+ if ( session )
+ {
+ for ( TInt i = 0; i < session->Streams().Count(); ++i )
+ {
+ for ( TInt j = 0; j < session->Streams()[i]->Sinks().Count(); ++j )
+ {
+ if ( session->Streams()[i]->Sinks()[j]->Type() == KMceSpeakerSink )
+ {
+ speaker = static_cast<CMceSpeakerSink*>(
+ session->Streams()[i]->Sinks()[j] );
+ result = ( speaker->VolumeL() == aVolume );
+ }
+ }
+ }
+ }
+ return result;
+ }
+
// -----------------------------------------------------------------------------
//
@@ -1991,6 +2064,12 @@
"SsrcRemoved",
"FUNCTIONALITY",
SetupL, UT_CMusEngMceSession_SsrcRemovedL, Teardown)
+EUNIT_TEST(
+ "IsDisplayEnabledL - test ",
+ "CMusEngMceSession",
+ "IsDisplayEnabledL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusEngMceSession_IsDisplayEnabledLL, Teardown)
EUNIT_TEST(
"UpdateTimerEvent - test ",
@@ -2006,6 +2085,14 @@
"FUNCTIONALITY",
SetupL, UT_CMusEngMceSession_IsRoamingBetweenAPsAllowedL, Teardown)
+EUNIT_TEST(
+ "VolumeChanged - test ",
+ "CMusEngMceSession",
+ "VolumeChanged",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusEngMceSession_VolumeChangedL, Teardown)
+
+
EUNIT_END_TEST_TABLE
// END OF FILE
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -439,6 +439,23 @@
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngSession::UT_SetVolumeChangeObserverL()
+ {
+ EUNIT_ASSERT( !iLiveSession->iVolumeObserver )
+
+ iLiveSession->SetVolumeChangeObserver( iObserver );
+
+ EUNIT_ASSERT_EQUALS( iLiveSession->iVolumeObserver, iObserver )
+
+ iObserver->VolumeChanged( 2, EFalse );
+ EUNIT_ASSERT( iObserver->iVolume == 2 );
+ }
+
+
// TEST TABLE
EUNIT_BEGIN_TEST_TABLE(
@@ -530,6 +547,14 @@
"FUNCTIONALITY",
SetupL, UT_SetVolumeLL, Teardown)
+EUNIT_TEST(
+ "SetVolumeChangeObserver - test ",
+ "CMusEngSession",
+ "SetVolumeChangeObserver",
+ "FUNCTIONALITY",
+ SetupL, UT_SetVolumeChangeObserverL, Teardown)
+
+
EUNIT_END_TEST_TABLE
// END OF FILE
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -326,21 +326,29 @@
iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
CTelephonyAudioRouting::ELoudspeaker;
+ iTelephoneUtils->iRepository->Set( KTelIncallLoudspeakerVolume, 8 );
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
iTelephoneUtils->OutputChanged( *iTelephoneUtils->iTelephonyAudioRouting );
EUNIT_ASSERT_EQUALS( iTelephoneUtils->iAudioOutputAtStartup,
CTelephonyAudioRouting::ELoudspeaker )
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 8 )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
// Test observer
iTelephoneUtils->SetAudioRoutingObserver( iObserver );
+ iTelephoneUtils->SetVolumeChangeObserver(iObserver);
iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
CTelephonyAudioRouting::EHandset;
iTelephoneUtils->OutputChanged( *iTelephoneUtils->iTelephonyAudioRouting );
-
+
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+ EUNIT_ASSERT( iObserver->iVolume == 4 );
EUNIT_ASSERT_EQUALS( iTelephoneUtils->iAudioOutputAtStartup,
CTelephonyAudioRouting::EHandset )
@@ -355,17 +363,22 @@
void UT_CMusEngTelephoneUtils::UT_SetOutputCompleteL()
{
iTelephoneUtils->SetAudioRoutingObserver( iObserver );
-
+ iTelephoneUtils->SetVolumeChangeObserver(iObserver);
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+
// Setoutput fails
iTelephoneUtils->SetOutputComplete(
*iTelephoneUtils->iTelephonyAudioRouting,
KErrGeneral );
EUNIT_ASSERT( !iObserver->iAudioRoutingChangedCalled )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
// Setoutput succesful and note is shown by audiorouting api
// There's already next pending setoutput for which we are going to
// show note -> that cannot be forgotten
+ iTelephoneUtils->iRepository->Set( KTelIncallEarVolume, 5 );
iTelephoneUtils->iShowDialog = ETrue;
iTelephoneUtils->iTelephonyAudioRouting->SetShowNote( ETrue );
iTelephoneUtils->SetOutputComplete(
@@ -374,6 +387,8 @@
EUNIT_ASSERT( iObserver->iAudioRoutingChangedCalled == ETrue )
EUNIT_ASSERT( iObserver->iShowNote == EFalse )
EUNIT_ASSERT( iTelephoneUtils->iShowDialog == ETrue )
+ EUNIT_ASSERT( iObserver->iVolume == 5 );
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 5 )
iObserver->Reset();
@@ -454,6 +469,58 @@
// Cannot really assert anything
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngTelephoneUtils::UT_UpdateCurrentVolumeL()
+ {
+ //Volume changed, no observer
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+ iTelephoneUtils->iRepository->Set( KTelIncallEarVolume, 5 );
+ iTelephoneUtils->UpdateCurrentVolume(EFalse);
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 5 )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+
+ //Volume changed, observer set
+ iTelephoneUtils->SetVolumeChangeObserver(iObserver);
+ iTelephoneUtils->iRepository->Set( KTelIncallEarVolume, 6 );
+ iTelephoneUtils->UpdateCurrentVolume(EFalse);
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 6 )
+ EUNIT_ASSERT( iObserver->iVolume == 6 );
+
+ //Volume didn't change, observer not notified
+ iObserver->iVolume = 0;
+ iTelephoneUtils->UpdateCurrentVolume(EFalse);
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 6 )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CMusEngTelephoneUtils::UT_HandleNotifyGenericL()
+ {
+ //Loudspeakers volume changed, no observer
+ iTelephoneUtils->iRepository->Set( KTelIncallLoudspeakerVolume, 8 );
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+ iTelephoneUtils->HandleNotifyGeneric(KTelIncallLoudspeakerVolume);
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 8 )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+
+ //Ear volume changed, observer set => observer notified
+ iTelephoneUtils->SetVolumeChangeObserver(iObserver);
+ iTelephoneUtils->HandleNotifyGeneric(KTelIncallEarVolume);
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+ EUNIT_ASSERT( iObserver->iVolume == 4 );
+
+ //Volume hasn't changed => observer not notifies
+ iObserver->iVolume = 0;
+ iTelephoneUtils->HandleNotifyGeneric(KTelIncallEarVolume);
+ EUNIT_ASSERT( iTelephoneUtils->iCurrentVolume == 4 )
+ EUNIT_ASSERT( iObserver->iVolume == 0 );
+ }
// TEST TABLE
@@ -540,7 +607,20 @@
"FUNCTIONALITY",
SetupL, UT_DestructorL, Teardown)
-
+EUNIT_TEST(
+ "UpdateCurrentVolume - test ",
+ "UpdateCurrentVolume",
+ "Destructor",
+ "FUNCTIONALITY",
+ SetupL, UT_UpdateCurrentVolumeL, Teardown)
+
+EUNIT_TEST(
+ "HandleNotifyGeneric - test ",
+ "CMusEngTelephoneUtils",
+ "HandleNotifyGeneric",
+ "FUNCTIONALITY",
+ SetupL, UT_HandleNotifyGenericL, Teardown)
+
EUNIT_END_TEST_TABLE
--- a/mmsharing/mmshui/inc/musuiappui.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/inc/musuiappui.h Mon Mar 15 12:40:08 2010 +0200
@@ -28,6 +28,7 @@
#include <coeccntx.h>
#include <aknViewAppUi.h>
#include <remconcoreapitargetobserver.h>
+#include <coecobs.h>
class CMusUiStatusPaneHandler;
class CMusUiActiveQueryDialog;
@@ -42,7 +43,8 @@
class CMusUiAppUi : public CAknViewAppUi,
public MMusUiEventObserver,
public MMusUiQueryObserver,
- public MRemConCoreApiTargetObserver
+ public MRemConCoreApiTargetObserver,
+ public MCoeControlObserver
{
public: // constructors and destructor
@@ -145,6 +147,11 @@
// Help context from CCoeAppUi
CArrayFix<TCoeHelpContext>* HelpContextL() const;
+
+private:
+
+ //from MCoeControlObserver
+ void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
private:
--- a/mmsharing/mmshui/inc/musuieventcontroller.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/inc/musuieventcontroller.h Mon Mar 15 12:40:08 2010 +0200
@@ -30,6 +30,7 @@
#include "musengsessionobserver.h"
#include "musengaudioroutingobserver.h"
+#include "musengvolumechangeobserver.h"
#include <aknappui.h> // CAknAppUiBase::TAppUiOrientation
@@ -57,7 +58,8 @@
public MMusUiCallbackObserver,
public MMusUiMmcObserver,
public MMusEngSessionObserver,
- public MMusEngAudioRoutingObserver
+ public MMusEngAudioRoutingObserver,
+ public MMusEngVolumeChangeObserver
{
public: // enumerations
@@ -157,6 +159,14 @@
*/
virtual TBool AudioRouteChangeAllowed() const;
+public: // From MMusEngVolumeChangeObserver
+
+ /**
+ * Indicates that some other application has changed volume level.
+ *
+ */
+ virtual void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged );
+
public: // New functions
@@ -295,6 +305,11 @@
*
*/
virtual void DeleteEngineSession() = 0;
+
+ /**
+ *
+ */
+ TBool IsDisplayEnabledL();
protected: // New functions
--- a/mmsharing/mmshui/inc/musuigeneralview.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/inc/musuigeneralview.h Mon Mar 15 12:40:08 2010 +0200
@@ -147,7 +147,7 @@
virtual void EnableMiddleSoftkeyL( TInt aResourceId );
- virtual void ActivateVolumeControlL( TInt aValue );
+ virtual void ActivateVolumeControlL( TInt aValue, TBool aOnlyIfVisible = EFalse );
virtual void HighlightSelectedToolbarItem( TInt aCommand );
--- a/mmsharing/mmshui/inc/musuilivesharingcontroller.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/inc/musuilivesharingcontroller.h Mon Mar 15 12:40:08 2010 +0200
@@ -110,6 +110,11 @@
TBool ToolbarZoomSelected();
TBool ToolbarBrightnessSelected();
+
+ /**
+ *
+ */
+ void RefreshCameraOrientationL();
private: // new functions:
--- a/mmsharing/mmshui/inc/musuisharingobserver.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/inc/musuisharingobserver.h Mon Mar 15 12:40:08 2010 +0200
@@ -67,7 +67,7 @@
*/
virtual void EnableMiddleSoftkeyL( TInt aResourceId ) = 0;
- virtual void ActivateVolumeControlL( TInt aValue ) = 0;
+ virtual void ActivateVolumeControlL( TInt aValue, TBool aOnlyIfVisible = EFalse ) = 0;
virtual void HighlightSelectedToolbarItem( TInt aCommand ) = 0;
--- a/mmsharing/mmshui/inc/musuistatuspanehandler.h Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/inc/musuistatuspanehandler.h Mon Mar 15 12:40:08 2010 +0200
@@ -113,7 +113,7 @@
*
* @return Volume controller.
*/
- void ActivateVolumeControlL( TInt aVolume );
+ void ActivateVolumeControlL( TInt aVolume, TBool aOnlyIfVisible );
/**
* Activate media navi pane.
@@ -163,10 +163,6 @@
CAknVolumePopup* iVolumePopup;
// Navi pane media control
CAknNavigationDecorator* iMediaControl;
-
- // Volume level of the volume control
- TInt iVolume;
-
};
#endif // MUSUISTATUSPANEHANDLER_H
--- a/mmsharing/mmshui/src/musuiappui.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuiappui.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -86,6 +86,8 @@
EMbmMusuiQgn_menu_mus_app_cxt,
EMbmMusuiQgn_menu_mus_app_cxt_mask );
+ iStatusPaneHandler->GetVolumePopup()->SetObserver(this);
+
AknsUtils::InitSkinSupportL();
AknsUtils::SetAvkonSkinEnabledL( ETrue );
@@ -169,16 +171,7 @@
MUS_LOG( "mus: [MUSUI ] <- CMusUiAppUi::HandleWsEventL, view is NULL" );
return;
}
-
- if ( type == EEventPointer &&
- iStatusPaneHandler->GetVolumePopup()->IsVisible() )
- {
- MUS_LOG( "mus: [MUSUI ] EMusuiCmdViewVolumeChanged" );
- CMusUiGeneralView* activatedView =
- static_cast<CMusUiGeneralView*>( iView );
- activatedView->HandleCommandL( EMusuiCmdViewVolumeChanged );
- }
-
+
if( type == EEventKeyUp )
{
static_cast<CMusUiGeneralView*>
@@ -744,4 +737,23 @@
MUS_LOG( "mus: [MUSUI ] <- CMusUiAppUi::FindWindowGroupIdentifiersL" );
}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMusUiAppUi::HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType)
+ {
+ CAknVolumePopup* popup = iStatusPaneHandler->GetVolumePopup();
+ if ( popup && popup->IsVisible() && (popup == aControl) &&
+ (aEventType == MCoeControlObserver::EEventStateChanged) )
+ {
+ MUS_LOG1( "mus: [MUSUI ] CMusUiAppUi::HandleControlEventL(): volume[%d]",
+ popup->Value() );
+ CMusUiGeneralView* activatedView =
+ static_cast<CMusUiGeneralView*>( iView );
+ activatedView->HandleCommandL( EMusuiCmdViewVolumeChanged );
+ }
+
+ }
// end of file
--- a/mmsharing/mmshui/src/musuiclipsharingcontroller.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuiclipsharingcontroller.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -113,6 +113,7 @@
*this,
iSipProfileId );
iSession->SetAudioRoutingObserver( this );
+ iSession->SetVolumeChangeObserver( this );
if ( iSession->AudioRoutingCanBeChanged() )
{
--- a/mmsharing/mmshui/src/musuieventcontroller.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuieventcontroller.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -331,6 +331,18 @@
//
// -----------------------------------------------------------------------------
//
+void CMusUiEventController::VolumeChanged( TInt aVolume, TBool aAudioRouteChanged )
+ {
+ // Set Volume:
+ //If volume changed due to audio route change, we want to update volume
+ //popup control only if it is already visible
+ TBool onlyIfVisible = aAudioRouteChanged;
+ TRAP_IGNORE( iSharingObserver.ActivateVolumeControlL(aVolume, onlyIfVisible) );
+ }
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
void CMusUiEventController::SetRect(const TRect& aRect)
{
MUS_LOG( "mus: [MUSUI ] -> CMusUiEventController::SetRect" );
@@ -691,6 +703,22 @@
MUS_LOG( "mus: [MUSUI ] <- CMusUiEventController::ChangeOrientationL" );
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TBool CMusUiEventController::IsDisplayEnabledL()
+ {
+ MUS_LOG( "mus: [MUSUI ] -> CMusUiEventController::IsDisplayEnabledL" );
+ TBool ret = EFalse;
+ if ( EngineSession() )
+ {
+ ret = EngineSession()->IsDisplayEnabledL();
+ }
+ MUS_LOG1( "mus: [MUSUI ] <- CMusUiEventController::IsDisplayEnabledL, %d", ret );
+ return ret;
+ }
+
// -----------------------------------------------------------------------------
//
@@ -872,9 +900,8 @@
// Set Volume:
__ASSERT_ALWAYS( EngineSession(), User::Leave( KErrNotReady ) );
EngineSession()->VolumeUpL();
- // Update the status pane:
- iSharingObserver.ActivateVolumeControlL(
- EngineSession()->VolumeL() );
+ // Status pane update will be done later. When we get
+ // VolumeChanged() callback
break;
}
case EMusuiCmdViewVolumeDown:
@@ -882,9 +909,8 @@
// Set Volume:
__ASSERT_ALWAYS( EngineSession(), User::Leave( KErrNotReady ) );
EngineSession()->VolumeDownL();
- // Update the status pane:
- iSharingObserver.ActivateVolumeControlL(
- EngineSession()->VolumeL() );
+ // Status pane update will be done later. When we get
+ // VolumeChanged() callback
break;
}
case EMusuiCmdViewVolumeChanged:
--- a/mmsharing/mmshui/src/musuigeneralview.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuigeneralview.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -370,11 +370,10 @@
//
// -----------------------------------------------------------------------------
//
-void CMusUiGeneralView::ActivateVolumeControlL( TInt aValue )
+void CMusUiGeneralView::ActivateVolumeControlL( TInt aValue, TBool aOnlyIfVisible )
{
MUS_LOG( "mus: [MUSUI ] -> CMusUiGeneralView::ActivateVolumeControlL" );
-
- MusAppUi()->MusStatusPane()->ActivateVolumeControlL( aValue );
+ MusAppUi()->MusStatusPane()->ActivateVolumeControlL( aValue, aOnlyIfVisible );
MUS_LOG( "mus: [MUSUI ] <- CMusUiGeneralView::ActivateVolumeControlL" );
}
--- a/mmsharing/mmshui/src/musuilivesharingcontroller.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuilivesharingcontroller.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -42,6 +42,7 @@
using namespace MusSettingsKeys;
+const TInt KMusUiIntervalToPlay = 5000000;
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
@@ -110,6 +111,7 @@
iSipProfileId );
iSession->SetAudioRoutingObserver( this );
+ iSession->SetVolumeChangeObserver( this );
if ( iSession->AudioRoutingCanBeChanged() )
{
@@ -142,6 +144,42 @@
// -----------------------------------------------------------------------------
+// When orientation changed , Camera instances has to be recreated inorder
+// to receive proper orientated frames.
+// -----------------------------------------------------------------------------
+//
+void CMusUiLiveSharingController::RefreshCameraOrientationL()
+ {
+ MUS_LOG( "mus: [MUSUI ] -> CMusUiLiveSharingController::RefreshCameraOrientationL" );
+ if ( IsPlayingL() )
+ {
+ MUS_LOG( "mus: [MUSUI ] -> Playing, pause/stop to restart camera" );
+ TTimeIntervalMicroSeconds32 interval( KMusUiIntervalToPlay );
+ PauseL();
+ EnableDisplayL(false);
+ EnableDisplayL(true);
+ User::After( interval );
+ PlayL();
+ }
+ else
+ {
+ MUS_LOG( "mus: [MUSUI ] -> Not Playing, try display to restart camera");
+ if ( IsDisplayEnabledL() )
+ {
+ //Disabling of display will cause disabling of viewfinder and in its
+ //turn releasing of camera, enabling of display will recreate a camera
+ //with new orientation
+ MUS_LOG( "mus: [MUSUI ] -> display is enabled, disable/enable it");
+ EnableDisplayL(false);
+ EnableDisplayL(true);
+ }
+ else
+ {
+ MUS_LOG( "mus: [MUSUI ] -> Not refreshing ");
+ }
+ }
+ MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingController::RefreshCameraOrientationL" );
+ }
//
// -----------------------------------------------------------------------------
//
--- a/mmsharing/mmshui/src/musuilivesharingview.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuilivesharingview.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -709,8 +709,11 @@
void CMusUiLiveSharingView::RefreshCameraOrientationL(TRect& aNewRect)
{
MUS_LOG( "mus: [MUSUI ] -> CMusUiLiveSharingView::RefreshCameraOrientation" );
- if( iController && iController->IsPlayingL() )
+ if ( !iController || !iController->EngineSession() )
{
+ MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingView::RefreshCameraOrientation, no session" );
+ return;
+ }
TRect oldRect = iController->EngineSession()->Rect();
MUS_LOG2( "mus: [MUSUI ] -> Old Rect (width = %d,height=%d)",oldRect.Width(),oldRect.Height() );
MUS_LOG2( "mus: [MUSUI ] -> New Rect (width = %d,height=%d)",aNewRect.Width(),aNewRect.Height() );
@@ -726,18 +729,14 @@
)
{
MUS_LOG( "mus: [MUSUI ] -> Orientation Changed.Restart Camera" );
- iController->PauseL();
- iController->PlayL();
+ iController->RefreshCameraOrientationL();
}
else
{
MUS_LOG( "mus: [MUSUI ] -> Orientation Not changed. dont restart camera");
}
- }
- else
- {
- MUS_LOG( "mus: [MUSUI ] -> Not Playing");
- }
+
+
MUS_LOG( "mus: [MUSUI ] <- CMusUiLiveSharingView::RefreshCameraOrientation" );
}
--- a/mmsharing/mmshui/src/musuilivesharingviewcontainer.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuilivesharingviewcontainer.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -245,12 +245,10 @@
void CMusUiLiveSharingViewContainer::HandlePointerEventL(
const TPointerEvent& aPointerEvent)
{
- if ( Rect().Contains( aPointerEvent.iPosition ) )
- {
// Forward to base class in order to use slider
CCoeControl::HandlePointerEventL( aPointerEvent );
- }
- else
+
+ if ( !Rect().Contains( aPointerEvent.iPosition ) )
{
MakeVisible( EFalse );
}
--- a/mmsharing/mmshui/src/musuireceivecontroller.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuireceivecontroller.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -12,7 +12,7 @@
* Contributors:
*
* Description: Application's UI class.
-* Version : %version: 75.1.10 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: 75.1.11 % << Don't touch! Updated by Synergy at check-out.
*
*/
@@ -118,6 +118,7 @@
// construct an engine session
iSession = CMusEngReceiveSession::NewL( aRect, *this, *this );
iSession->SetAudioRoutingObserver( this );
+ iSession->SetVolumeChangeObserver( this );
iTimer = CMusUiActiveTimer::NewL( this );
iTimer->After( KMusReceiveTimeout );
--- a/mmsharing/mmshui/src/musuistatuspanehandler.cpp Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshui/src/musuistatuspanehandler.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -204,7 +204,7 @@
// Activates volume control.
// -----------------------------------------------------------------------------
//
-void CMusUiStatusPaneHandler::ActivateVolumeControlL( TInt aVolume )
+void CMusUiStatusPaneHandler::ActivateVolumeControlL( TInt aVolume, TBool aOnlyIfVisible )
{
MUS_LOG( "mus: [MUSUI ] -> CMusUiStatusPaneHandler::ActivateVolumeControlL" );
@@ -213,10 +213,12 @@
MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::SetVolumeControlValue: returning" );
return;
}
-
- iVolumePopup->SetValue( aVolume );
- iVolumePopup->ShowVolumePopupL();
-
+
+ if ( !aOnlyIfVisible || (aOnlyIfVisible && iVolumePopup->IsVisible()) )
+ {
+ iVolumePopup->SetValue( aVolume );
+ iVolumePopup->ShowVolumePopupL();
+ }
MUS_LOG( "mus: [MUSUI ] <- CMusUiStatusPaneHandler::ActivateVolumeControlL" );
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/centralrepositorystub/inc/cenrepnotifyhandler.h Mon Mar 15 12:40:08 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef CENREPNOTIFYHANDLER_H
+#define CENREPNOTIFYHANDLER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class MCenRepNotifyHandlerCallback;
+class CRepository;
+
+
+
+class CCenRepNotifyHandler : public CBase//CActive
+ {
+ public:
+ /**
+ * Defines different key types. Enumeration is used to indicate the
+ * key type that is listened to.
+ */
+ enum TCenRepKeyType
+ {
+ EIntKey, ///< Key holds a TInt value.
+ ERealKey, ///< Key holds a TReal value.
+ EStringKey, ///< Key holds a TDesC16 value.
+ EBinaryKey ///< Key holds a TDesC8 value.
+ };
+
+ IMPORT_C static CCenRepNotifyHandler* NewL( MCenRepNotifyHandlerCallback& aCallback,
+ CRepository& aSession );
+
+ IMPORT_C static CCenRepNotifyHandler* NewLC( MCenRepNotifyHandlerCallback& aCallback,
+ CRepository& aSession );
+ IMPORT_C void StartListeningL();
+
+ IMPORT_C void StopListening();
+
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CCenRepNotifyHandler();
+/*
+ protected:
+
+ void RunL();
+
+ TInt RunError( TInt aError );
+
+ void DoCancel();
+*/
+ private:
+
+ CCenRepNotifyHandler( MCenRepNotifyHandlerCallback& aCallback,
+ CRepository& aSession );
+
+ private:
+
+ CRepository& iSession; // not owned by this class
+ MCenRepNotifyHandlerCallback& iCallback; // not owned by this class
+// TCenRepKeyType iKeyType;
+// TUint32 iId;
+// TBool iWholeRepository; // The flag to indicate if listening is for whole repository
+ };
+
+
+/**
+* Class provides a callback interface for handling the notifification
+* events from the Central Repository. The Client derives a class
+* from this interface and implements the HandleNotify-methods that
+* interest it.
+* An empty default implementation is provided for all of the methods.
+* In debug build the default implementations print out a debug trace.
+*
+* @publishedPartner
+* @released
+*/
+class MCenRepNotifyHandlerCallback
+ {
+
+ public:
+
+ /**
+ * This callback method is used to notify the client about
+ * changes in keys when the whole repository is listened for.
+ *
+ * Note: It is not guaranteed that a notification will be received
+ * for all keys, if multiple keys are changed in rapid succession
+ * by multiple threads or when the whole repository is reset,
+ * therefore only listen for whole repository if this is not an issue.
+ *
+ * @param aId Id of the key that has changed. If multiple keys were changed by
+ * whole repository reset, value will be KInvalidNotificationId.
+ * @capability Dependent Capability required depends on implementation of override.
+ */
+ IMPORT_C virtual void HandleNotifyGeneric( TUint32 aId );
+
+ };
+
+#endif // CENREPNOTIFYHANDLER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/centralrepositorystub/src/cenrepnotifyhandlerstub.cpp Mon Mar 15 12:40:08 2010 +0200
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* 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".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cenrepnotifyhandler.h"
+#include "centralrepository.h"
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+CCenRepNotifyHandler::CCenRepNotifyHandler(
+ MCenRepNotifyHandlerCallback& aCallback,
+ CRepository& aSession)
+ : iSession(aSession), iCallback(aCallback)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CCenRepNotifyHandler* CCenRepNotifyHandler::NewL(
+ MCenRepNotifyHandlerCallback& aCallback,
+ CRepository& aSession)
+ {
+ CCenRepNotifyHandler* newInstance = NewLC(aCallback, aSession);
+ CleanupStack::Pop();
+ return newInstance;
+ }
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CCenRepNotifyHandler* CCenRepNotifyHandler::NewLC(
+ MCenRepNotifyHandlerCallback& aCallback,
+ CRepository& aSession)
+ {
+ CCenRepNotifyHandler* newInstance = new (ELeave) CCenRepNotifyHandler(aCallback, aSession);
+ CleanupStack::PushL( newInstance );
+
+ return newInstance;
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CCenRepNotifyHandler::~CCenRepNotifyHandler()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCenRepNotifyHandler::StartListeningL()
+ {
+
+ }
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCenRepNotifyHandler::StopListening()
+ {
+
+ }
+
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void MCenRepNotifyHandlerCallback::HandleNotifyGeneric(TUint32 /*aId*/)
+ {
+
+ }