--- a/javauis/nokiasound/src/cmidsound.cpp Wed Sep 15 12:05:25 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: Wrapper for CMIDClip and CMIDTone class initialisations.
-*
-*/
-
-
-#include <e32std.h>
-#include <centralrepository.h>
-#include <ProfileEngineSDKCRKeys.h>
-
-#include "CMIDSound.h"
-#include "CMIDTone.h"
-#include "CMIDClip.h"
-#include "logger.h"
-#include "fs_methodcall.h"
-#include "com_nokia_mid_sound_Sound.h"
-
-
-CMIDSound* CMIDSound::NewL(JNIEnv& aJni, jobject aPeer)
-{
- JELOG2(EJavaUI);
-
- CMIDSound* self = new CMIDSound();
- if (self != NULL)
- {
- self->attachToVm(aJni, aPeer);
- }
- return self;
-}
-
-CMIDSound::~CMIDSound()
-{
- delete iMIDSound;
-
- // CENREP
- if (iProfileListener)
- {
- iProfileListener->StopListening();
- delete iProfileListener;
- }
- delete iRepository;
-}
-
-void CMIDSound::HandleNotifyInt(TUint32 aId, TInt aNewValue)
-{
- JELOG2(EJavaUI);
- if (aId == KProEngActiveWarningTones)
- {
- if (iMIDSound)
- {
- iMIDSound->SetVolume(aNewValue == 0 ? 0 : iRealVolume);
- }
- }
-}
-
-void CMIDSound::SendEvent(TInt aEventType)
-{
- /**
- *Callback to Java
- */
- JELOG2(EJavaUI);
-
- jclass javaPeerClass = mJniEnv->FindClass("com/nokia/mid/sound/Sound");
-
- jmethodID soundStateChangeCallback = mJniEnv->GetMethodID(
- javaPeerClass /*mJavaPeerClass */, "soundStateChanged", "(I)V");
-
-
- mJniEnv->CallVoidMethod(mJavaPeerObject, soundStateChangeCallback,
- aEventType);
-}
-
-CMIDSound::CMIDSound()
- : java::util::FunctionServer("CMIDSoundFunctionServer"),
- iMIDSound(0)
-{
- JELOG2(EJavaUI);
- createServerToNewThread();
-}
-
-int CMIDSound::InitProfileListener()
-{
- TRAPD(err, CallMethodL(this, &CMIDSound::InitProfileListenerL, this));
- return err;
-}
-
-void CMIDSound::InitProfileListenerL()
-{
- JELOG2(EJavaUI);
- // repository for profile
- iRepository = CRepository::NewL(KCRUidProfileEngine);
-
- // get notifies about changes in KProEngActiveWarningTones
- iProfileListener = CCenRepNotifyHandler::NewL(*this,
- *iRepository,
- CCenRepNotifyHandler::EIntKey,
- KProEngActiveWarningTones);
-
- // Changes will be informed to HandleNotifyInt
- iProfileListener->StartListeningL();
-}
-
-TBool CMIDSound::IsAudioEnabled(/*CMIDSound* aSelf*/)
-{
- JELOG2(EJavaUI);
- TInt isProfileOn = 0;
- TInt error = iRepository->Get(KProEngActiveWarningTones, isProfileOn);
- TBool retVal = EFalse;
-
- // If getting profile status fails do not play any tones.
- if ((isProfileOn == 1) &&
- (error == KErrNone))
- {
- retVal = ETrue;
- }
- return retVal;
-}
-
-void CMIDSound::SetBeep(TInt aFreq, TInt64 aDuration)
-{
- JELOG2(EJavaUI);
- iFreq = aFreq;
- iDur = aDuration;
-}
-
-TInt CMIDSound::Init(TInt aType, const TDesC8* aData)
-{
- JELOG2(EJavaUI);
- TRAPD(err, CallMethodL(this, &CMIDSound::InitL, aType, aData, this));
- return err;
-}
-
-void CMIDSound::InitL(TInt aType, const TDesC8* aData)
-{
- JELOG2(EJavaUI);
-
- if (iMIDSound)
- {
- if (iMIDSound->State() == CMIDSoundImpl::EInitialising)
- {
- return;
- }
- if (iMIDSound->State() == CMIDSoundImpl::EReadyToPlay ||
- iMIDSound->State() == CMIDSoundImpl::EPlaying)
- {
- iMIDSound->Release();
- }
- }
-
- CMIDSoundImpl* soundImpl = NULL;
- switch (aType)
- {
- case com_nokia_mid_sound_Sound_FORMAT_TONE: //Tone
- {
- soundImpl = CMIDTone::NewL(*aData, this);
- break;
- }
- case com_nokia_mid_sound_Sound_FORMAT_BEEP: //Beep
- {
- soundImpl = CMIDTone::NewL(iFreq, iDur, this);
- break;
- }
- case com_nokia_mid_sound_Sound_FORMAT_WAV: //Wav
- {
- soundImpl = CMIDClip::NewL(aData, this);
- break;
- }
- default:
- {
- break;
- }
- }
-
- if (soundImpl)
- {
- if (soundImpl->State() != CMIDSoundImpl::EReadyToPlay)
- {
- TInt state = soundImpl->State();
- delete soundImpl;
- User::Leave(KErrNotReady);
- }
- iRealVolume = soundImpl->Volume();
- }
-
- delete iMIDSound;
- iMIDSound = soundImpl;
-}
-
-TInt CMIDSound::Play(TInt aLoop)
-{
- JELOG2(EJavaUI);
- TInt err = 0;
- CallMethod(err, this, &CMIDSound::DoPlay, aLoop, this);
- return err;
-}
-
-TInt CMIDSound::DoPlay(TInt aLoop)
-{
- JELOG2(EJavaUI);
-
- if (iMIDSound)
- {
- TInt state = iMIDSound->State();
- if (state != CMIDSoundImpl::EReadyToPlay)
- {
- return state;
- }
- }
- else
- {
- return CMIDSoundImpl::ENotSupported;
- }
- if (!IsAudioEnabled())
- {
- iMIDSound->SetVolume(0);
- }
- return iMIDSound->Play(aLoop);
-}
-
-void CMIDSound::Resume()
-{
- JELOG2(EJavaUI);
- CallMethod(this, &CMIDSound::DoResume, this);
-}
-
-void CMIDSound::DoResume()
-{
- JELOG2(EJavaUI);
- iMIDSound->Resume();
-}
-
-void CMIDSound::Stop()
-{
- JELOG2(EJavaUI);
- CallMethod(this, &CMIDSound::DoStop, this);
-}
-
-void CMIDSound::DoStop()
-{
- JELOG2(EJavaUI);
- iMIDSound->Stop();
-}
-
-TInt CMIDSound::SoundVolume()
-{
- JELOG2(EJavaUI);
- TInt result = 0;
- CallMethod(result, this, &CMIDSound::Volume, this);
- return result;
-}
-
-TInt CMIDSound::Volume()
-{
- JELOG2(EJavaUI);
- return iMIDSound->Volume();
-}
-
-void CMIDSound::SetVolume(TInt aVolume)
-{
- JELOG2(EJavaUI);
- CallMethod(this, &CMIDSound::DoSetVolume, aVolume, this);
-}
-
-void CMIDSound::DoSetVolume(TInt aVolume)
-{
- JELOG2(EJavaUI);
- iRealVolume = aVolume;
- TInt currentState = iMIDSound->State();
- if ((currentState == CMIDSoundImpl::EReadyToPlay) ||
- (currentState == CMIDSoundImpl::EPlaying))
- {
- iMIDSound->SetVolume(IsAudioEnabled() ? aVolume : 0);
- }
-}
-
-
-TInt CMIDSound::PlayerState()
-{
- JELOG2(EJavaUI);
- TInt result = 0;
- CallMethod(result, this, &CMIDSound::State, this);
- return result;
-}
-
-TInt CMIDSound::State()
-{
- JELOG2(EJavaUI);
- return iMIDSound->State();
-}
-
-void CMIDSound::Release()
-{
- JELOG2(EJavaUI);
- CallMethod(this, &CMIDSound::DoRelease, this);
-}
-
-void CMIDSound::DoRelease()
-{
- JELOG2(EJavaUI);
- iMIDSound->Release();
-}