diff -r 000000000000 -r 71ca22bcf22a mmserv/tms/tmsutility/src/tmsutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmserv/tms/tmsutility/src/tmsutility.cpp Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,254 @@ +/* + * Copyright (c) 2009 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: Telephony Multimedia Service + * + */ + +#include +#include +#include +//#include +#include "tmsutility.h" + +using namespace TMS; + +// ----------------------------------------------------------------------------- +// TMSUtility::TMSResult +// +// ----------------------------------------------------------------------------- +// +EXPORT_C gint TMSUtility::TMSResult(const gint aError) + { + gint result(TMS_RESULT_SUCCESS); + + if (aError >= TMS_RESULT_SUCCESS) + { + return aError; //return TMS error + } + + switch (aError) + { + case KErrNotFound: //-1 + result = TMS_RESULT_DOES_NOT_EXIST; + break; + case KErrGeneral: //-2 + result = TMS_RESULT_GENERAL_ERROR; + break; + case KErrCancel: //-3 + result = TMS_RESULT_OPERATION_CANCELLED; + break; + case KErrNoMemory: //-4 + result = TMS_RESULT_INSUFFICIENT_MEMORY; + break; + case KErrNotSupported: //-5 + result = TMS_RESULT_DOES_NOT_EXIST; + break; + case KErrArgument: //-6 + result = TMS_RESULT_INVALID_ARGUMENT; + break; + case KErrTotalLossOfPrecision: //-7 + result = TMS_RESULT_GENERAL_ERROR; + break; + case KErrBadHandle: //-8 + result = TMS_RESULT_INVALID_ARGUMENT; + break; + case KErrOverflow: //-9 + case KErrUnderflow: //-10 + result = TMS_RESULT_BUFFER_LATENCY_ERROR; + break; + case KErrAlreadyExists: //-11 + result = TMS_RESULT_ALREADY_EXIST; + break; + case KErrPathNotFound: //-12 + result = TMS_RESULT_GENERAL_ERROR; + break; + case KErrDied: //-13 + case KErrInUse: //-14 + case KErrServerTerminated: //-15 + result = TMS_RESULT_FATAL_ERROR; + break; + case KErrServerBusy: //-16 + case KErrCompletion: //-17 + case KErrNotReady: //-18 + case KErrUnknown: //-19 + case KErrCorrupt: //-20 + case KErrAccessDenied: //-21 + case KErrLocked: //-22 + case KErrWrite: //-23 + case KErrDisMounted: //-24 + case KErrEof: //-25 + case KErrDiskFull: //-26 + case KErrBadDriver: //-27 + case KErrBadName: //-28 + case KErrCommsLineFail: //-29 + case KErrCommsFrame: //-30 + case KErrCommsOverrun: //-31 + case KErrCommsParity: //-32 + case KErrTimedOut: //-33 + case KErrCouldNotConnect: //-34 + case KErrCouldNotDisconnect: //-35 + case KErrDisconnected: //-36 + case KErrBadLibraryEntryPoint: //-37 + case KErrBadDescriptor: //-38 + case KErrAbort: //-39 + case KErrTooBig: //-40 + case KErrDivideByZero: //-41 + case KErrBadPower: //-42 + case KErrDirFull: //-43 + case KErrHardwareNotAvailable: //-44 + case KErrSessionClosed: //-45 + case KErrPermissionDenied: //-46 + case KErrExtensionNotSupported: //-47 + case KErrCommsBreak: //-48 + case KErrNoSecureTime: //-49 + default: + result = TMS_RESULT_GENERAL_ERROR; + break; + } + return result; + } + +// ----------------------------------------------------------------------------- +// TMSUtility::ToTMSOutput +// +// ----------------------------------------------------------------------------- +// +EXPORT_C TMSAudioOutput TMSUtility::ToTMSOutput( + CTelephonyAudioRouting::TAudioOutput taroutput) + { + TMSAudioOutput output = TMS_AUDIO_OUTPUT_NONE; + switch (taroutput) + { + case CTelephonyAudioRouting::ENotActive: + case CTelephonyAudioRouting::ENone: + output = TMS_AUDIO_OUTPUT_NONE; + break; + case CTelephonyAudioRouting::EHandset: + output = TMS_AUDIO_OUTPUT_HANDSET; + break; + case CTelephonyAudioRouting::ELoudspeaker: + output = TMS_AUDIO_OUTPUT_LOUDSPEAKER; + break; + case CTelephonyAudioRouting::EWiredAudioAccessory: + output = TMS_AUDIO_OUTPUT_WIRED_ACCESSORY; + break; + case CTelephonyAudioRouting::EBTAudioAccessory: + output = TMS_AUDIO_OUTPUT_ACCESSORY; + break; + case CTelephonyAudioRouting::ETTY: + output = TMS_AUDIO_OUTPUT_ETTY; + break; + default: + break; + } + return output; + } + +// ----------------------------------------------------------------------------- +// TMSUtility::ToTAROutput +// +// ----------------------------------------------------------------------------- +// +EXPORT_C CTelephonyAudioRouting::TAudioOutput TMSUtility::ToTAROutput( + TMSAudioOutput output) + { + CTelephonyAudioRouting::TAudioOutput taroutput = + CTelephonyAudioRouting::ENone; + switch (output) + { + case TMS_AUDIO_OUTPUT_NONE: + taroutput = CTelephonyAudioRouting::ENone; + break; + case TMS_AUDIO_OUTPUT_HANDSET: + taroutput = CTelephonyAudioRouting::EHandset; + break; + case TMS_AUDIO_OUTPUT_LOUDSPEAKER: + taroutput = CTelephonyAudioRouting::ELoudspeaker; + break; + case TMS_AUDIO_OUTPUT_WIRED_ACCESSORY: + taroutput = CTelephonyAudioRouting::EWiredAudioAccessory; + break; + case TMS_AUDIO_OUTPUT_ACCESSORY: + taroutput = CTelephonyAudioRouting::EBTAudioAccessory; + break; + case TMS_AUDIO_OUTPUT_ETTY: + taroutput = CTelephonyAudioRouting::ETTY; + break; + default: + break; + } + return taroutput; + } + +// ----------------------------------------------------------------------------- +// TMSUtility::ToFourCC +// +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint32 TMSUtility::ToFourCC(TMSFormatType frmtType) + { + TUint32 fourCC(NULL); + switch (frmtType) + { + case TMS_FORMAT_PCM: + fourCC = KMMFFourCCCodePCM16; + break; + case TMS_FORMAT_AMR: + fourCC = KMccFourCCIdAMRNB; + break; + case TMS_FORMAT_G711: + fourCC = KMccFourCCIdG711; + break; + case TMS_FORMAT_G729: + fourCC = KMccFourCCIdG729; + break; + case TMS_FORMAT_ILBC: + fourCC = KMccFourCCIdILBC; + break; + default: + break; + } + return fourCC; + } + +// ----------------------------------------------------------------------------- +// TMSUtility::FourCCToTMSFormat +// +// ----------------------------------------------------------------------------- +// +EXPORT_C TMSFormatType TMSUtility::FourCCToTMSFormat(TUint32 fourcc) + { + TMSFormatType format = NULL; + switch (fourcc) + { + case KMMFFourCCCodePCM16: // = 0x36315020 + format = TMS_FORMAT_PCM; + break; + case KMccFourCCIdAMRNB: //= 0x524d4120; + format = TMS_FORMAT_AMR; + break; + case KMccFourCCIdG711: // = 0x31313747; + format = TMS_FORMAT_G711; + break; + case KMccFourCCIdG729: // = 0x39323747; + format = TMS_FORMAT_G729; + break; + case KMccFourCCIdILBC: // = 0x43424c49; + format = TMS_FORMAT_ILBC; + break; + default: + break; + } + return format; + }