williamr@2: williamr@2: // SoundDevice.inl williamr@2: williamr@2: // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef SOUNDDEVICE_INL williamr@2: #define SOUNDDEVICE_INL williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: inline TInt CMMFDevSound::RegisterAsClient(TUid aEventType, const TDesC8& aNotificationRegistrationData) williamr@2: { williamr@2: MAutoPauseResumeSupport* support = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundAudioResourceCustomInterface)); williamr@2: if (support==NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: if(aEventType != KMMFEventCategoryAudioResourceAvailable) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: else williamr@2: { williamr@2: return support->RegisterAsClient(aEventType, aNotificationRegistrationData); williamr@2: } williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::CancelRegisterAsClient(TUid aEventType) williamr@2: { williamr@2: MAutoPauseResumeSupport* support = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundAudioResourceCustomInterface)); williamr@2: if (support==NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: if(aEventType != KMMFEventCategoryAudioResourceAvailable) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: else williamr@2: { williamr@2: return support->CancelRegisterAsClient(aEventType); williamr@2: } williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::GetResourceNotificationData(TUid aEventType,TDes8& aNotificationData) williamr@2: { williamr@2: MAutoPauseResumeSupport* support = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundAudioResourceCustomInterface)); williamr@2: if (support==NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: if(aEventType != KMMFEventCategoryAudioResourceAvailable) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: else williamr@2: { williamr@2: return support->GetResourceNotificationData(aEventType, aNotificationData); williamr@2: } williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::WillResumePlay() williamr@2: { williamr@2: MAutoPauseResumeSupport* support = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundAudioResourceCustomInterface)); williamr@2: if (support==NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: return support->WillResumePlay(); williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::EmptyBuffers() williamr@2: { williamr@2: MMMFDevSoundEmptyBuffers* emptybuffers = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundEmptyBuffersCustomInterface)); williamr@2: if (emptybuffers == NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: return emptybuffers->EmptyBuffers(); williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::CancelInitialize() williamr@2: { williamr@2: MMMFDevSoundCancelInitialize* cancelInitialize = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundCancelInitializeCustomInterface)); williamr@2: if (cancelInitialize == NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: return cancelInitialize->CancelInitialize(); williamr@2: } williamr@2: williamr@2: /* williamr@2: * -doxygen comments in header- williamr@2: */ williamr@2: inline TInt CMMFDevSound::SetClientThreadInfo(TThreadId aTid) williamr@2: { williamr@2: MAudioClientThreadInfo* threadInfo = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundAudioClientThreadInfoCustomInterface)); williamr@2: if (threadInfo) williamr@2: { williamr@2: return threadInfo->SetClientThreadInfo(aTid); williamr@2: } williamr@2: else williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::GetTimePlayed(TTimeIntervalMicroSeconds& aTime) williamr@2: { williamr@2: MMMFDevSoundTimePlayed* timePlayed = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundTimePlayedCustomInterface)); williamr@2: if (timePlayed == NULL) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: return timePlayed->GetTimePlayed(aTime); williamr@2: } williamr@2: williamr@2: inline TBool CMMFDevSound::IsGetTimePlayedSupported() williamr@2: { williamr@2: MMMFDevSoundTimePlayed* timePlayed = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundTimePlayedCustomInterface)); williamr@2: if (timePlayed == NULL) williamr@2: { williamr@2: return EFalse; williamr@2: } williamr@2: return ETrue; williamr@2: } williamr@2: williamr@2: inline TBool CMMFDevSound::QueryIgnoresUnderflow() williamr@2: { williamr@2: MMMFDevSoundQueryIgnoresUnderflow* ignoresUnderflow = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundQueryIgnoresUnderflowCustomInterface)); williamr@2: if (ignoresUnderflow == NULL) williamr@2: { williamr@2: return EFalse; williamr@2: } williamr@2: return ignoresUnderflow->QueryIgnoresUnderflow(); williamr@2: } williamr@2: williamr@2: inline TBool CMMFDevSound::IsResumeSupported() williamr@2: { williamr@2: MMMFDevSoundTruePause* truePause = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundTruePauseCustomInterface)); williamr@2: if (truePause == NULL) williamr@2: { williamr@2: return EFalse; williamr@2: } williamr@2: return truePause->IsResumeSupported(); williamr@2: } williamr@2: williamr@2: inline TInt CMMFDevSound::Resume() williamr@2: { williamr@2: MMMFDevSoundTruePause* truePause = williamr@2: static_cast(CustomInterface(KMmfUidDevSoundTruePauseCustomInterface)); williamr@2: if (truePause == NULL || EFalse == truePause->IsResumeSupported() ) williamr@2: { williamr@2: return KErrNotSupported; williamr@2: } williamr@2: return truePause->Resume(); williamr@2: } williamr@2: williamr@2: #endif // SOUNDDEVICE_INL