diff -r 2f5c9ee7098c -r 072a5fa0c63b voicerecorder/NewServiceSrc/CNewFileServiceClientImpl.cpp --- a/voicerecorder/NewServiceSrc/CNewFileServiceClientImpl.cpp Thu Aug 19 09:57:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,255 +0,0 @@ -/* -* Copyright (c) 2002-2006 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: Implementation for Client side API -* -*/ - - -// INCLUDE FILES - -#include -#include -#include - -#include "NewFileServiceClient.h" -#include "RNewFileServiceClient.h" -#include "CNewFileServiceClientImpl.h" - -#include -#include -#include - - -// ============================ MEMBER FUNCTIONS =============================== - -// ---------------------------------------------------------------------------- -// NewFileServiceFactory::NewClientL -// -// ---------------------------------------------------------------------------- -// -EXPORT_C CNewFileServiceClient* NewFileServiceFactory::NewClientL() - { - return CNewFileServiceClientImpl::NewL(); - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::NewL -// -// ---------------------------------------------------------------------------- -// -CNewFileServiceClientImpl* CNewFileServiceClientImpl::NewL() - { - CNewFileServiceClientImpl* self = - new( ELeave )CNewFileServiceClientImpl; - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::~CNewFileServiceClientImpl -// -// ---------------------------------------------------------------------------- -// -CNewFileServiceClientImpl::~CNewFileServiceClientImpl() - { - delete iServerAppMonitor; - iClient.Close(); - if(iClient.iError == KErrAbort) - { - iClient.iError = 0; - MAknServerAppExitObserver::HandleServerAppExit(EAknCmdExit); - } - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::ConstructL -// -// ---------------------------------------------------------------------------- -// -void CNewFileServiceClientImpl::ConstructL() - { - iClient.SetFileServiceClient(this); - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::NewFileL -// -// ---------------------------------------------------------------------------- -// -TBool CNewFileServiceClientImpl::NewFileL( CDesCArray& aFileNames, - CAiwGenericParamList* aParams, - TNewServiceFileType aFileType, - TBool aMultipleFiles ) - { - TUid uid( KNullUid ); - - switch ( aFileType ) - { - case ENewFileServiceAudio: - { - uid = TUid::Uid( KVoiceRecorderAppUID3 ); - break; - } - - case ENewFileServiceVideo: - case ENewFileServiceImage: - { - uid = KUidCamcorder; - break; - } - default: - { - User::Leave( KErrNotSupported ); - } - }; - - return NewFileL( uid, aFileNames, aParams, aFileType, aMultipleFiles ); - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::HandleServerAppExit -// -// ---------------------------------------------------------------------------- -// -void CNewFileServiceClientImpl::HandleServerAppExit(TInt aReason) - { -#ifdef _DEBUG - RDebug::Print( _L("CNewFileServiceClientImpl::HandleServerAppExit") ); -#endif - iClient.Close(); - MAknServerAppExitObserver::HandleServerAppExit(aReason); - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::NewFileL -// -// ---------------------------------------------------------------------------- -// -TBool CNewFileServiceClientImpl::NewFileL( TUid aApplicationUid, - CDesCArray& aFileNames, - CAiwGenericParamList* aParams, - TNewServiceFileType aFileType, - TBool aMultipleFiles ) - { - iClient.ConnectChainedAppL( aApplicationUid ); - - if ( !iServerAppMonitor ) - { - iServerAppMonitor = CApaServerAppExitMonitor::NewL( iClient, *this, - CActive::EPriorityStandard ); - } - - HBufC8* serializedParams = SerializeGenericParamListLC( aParams ); - TBool ret = iClient.NewFileL( aFileNames, serializedParams, - aFileType, aMultipleFiles ); - CleanupStack::PopAndDestroy(); // serializedParams - return ret; - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::NewFileL -// -// ---------------------------------------------------------------------------- -// -TBool CNewFileServiceClientImpl::NewFileL( RFile& aFileHandle, - CAiwGenericParamList* aParams, - TNewServiceFileType aFileType ) - { - TUid uid( KNullUid ); - - switch ( aFileType ) - { - case ENewFileServiceAudio: - { - uid = TUid::Uid( KVoiceRecorderAppUID3 ); - break; - } - - case ENewFileServiceVideo: - case ENewFileServiceImage: - { - uid = KUidCamcorder; - break; - } - default: - { - User::Leave( KErrNotSupported ); - } - }; - - return NewFileL( uid, aFileHandle, aParams, aFileType ); - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::NewFileL -// -// ---------------------------------------------------------------------------- -// -TBool CNewFileServiceClientImpl::NewFileL( TUid aApplicationUid, - RFile& aFileHandle, - CAiwGenericParamList* aParams, - TNewServiceFileType aFileType ) - { - - iClient.ConnectChainedAppL( aApplicationUid ); - - if ( !iServerAppMonitor ) - { - iServerAppMonitor = CApaServerAppExitMonitor::NewL( iClient, *this, - CActive::EPriorityStandard ); - } - - HBufC8* serializedParams = SerializeGenericParamListLC( aParams ); - TBool ret = iClient.NewFileL( aFileHandle, serializedParams, aFileType ); - - CleanupStack::PopAndDestroy(); // serializedParams - - return ret; - } - - -// ---------------------------------------------------------------------------- -// CNewFileServiceClientImpl::SerializeGenericParamListLC -// -// ---------------------------------------------------------------------------- -// -HBufC8* CNewFileServiceClientImpl::SerializeGenericParamListLC( - CAiwGenericParamList* aParams ) - { - if ( !aParams ) - { - HBufC8* dummy = HBufC8::NewLC( 0 ); // return dummy - return dummy; - } - - TInt size( aParams->Size() ); - HBufC8* serialized = HBufC8::NewLC( size ); - TPtr8 ptr = serialized->Des(); - RDesWriteStream stream( ptr ); - aParams->ExternalizeL( stream ); - stream.Close(); - return serialized; - } - -// End of File