os/mm/devsound/sounddevbt/PlatSec/src/Server/AudioServer/MmfBtAudioClientServer.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef MMFAUDIOCLIENTSERVER_H
    17 #define MMFAUDIOCLIENTSERVER_H
    18 
    19 #include <mmf/common/mmfutilities.h>
    20 #include <mmf/common/mmfbase.h>
    21 #include <mmf/server/sounddevice.h>
    22 
    23 // opcodes used in message passing between client and server
    24 enum TMMFAudioServerRequest
    25 	{
    26 	EMMFAudioLaunchRequests,
    27 	EMMFDevSoundServerNameLength,
    28 	EMMFDevSoundServerName
    29 	};
    30 
    31 enum TMMFDevSoundProxyRequest
    32 	{
    33 	EMMFDevSoundProxyInitialize1,
    34 	EMMFDevSoundProxyInitialize2,
    35 	EMMFDevSoundProxyInitialize3,
    36 	EMMFDevSoundProxyInitialize4,
    37 	EMMFDevSoundProxyCapabilities,
    38 	EMMFDevSoundProxyConfig,
    39 	EMMFDevSoundProxySetConfig,
    40 	EMMFDevSoundProxyMaxVolume,
    41 	EMMFDevSoundProxyVolume,
    42 	EMMFDevSoundProxySetVolume,
    43 	EMMFDevSoundProxyMaxGain,
    44 	EMMFDevSoundProxyGain,
    45 	EMMFDevSoundProxySetGain,
    46 	EMMFDevSoundProxyPlayBalance,
    47 	EMMFDevSoundProxySetPlayBalance,
    48 	EMMFDevSoundProxyRecordBalance,
    49 	EMMFDevSoundProxySetRecordBalance,
    50 	EMMFDevSoundProxyReceiveICEvent,
    51 	EMMFDevSoundProxyCancelReceiveICEvent,
    52 	EMMFDevSoundProxyReceiveBTBFEvent,
    53 	EMMFDevSoundProxyCancelReceiveBTBFEvent,
    54 	EMMFDevSoundProxyReceiveBTBEEvent,
    55 	EMMFDevSoundProxyCancelReceiveBTBEEvent,
    56 	EMMFDevSoundProxyReceivePEEvent,
    57 	EMMFDevSoundProxyCancelReceivePEEvent,
    58 	EMMFDevSoundProxyReceiveREEvent,
    59 	EMMFDevSoundProxyCancelReceiveREEvent,
    60 	EMMFDevSoundProxyReceiveTFEvent,
    61 	EMMFDevSoundProxyCancelReceiveTFEvent,
    62 	EMMFDevSoundProxyReceiveSETCEvent,
    63 	EMMFDevSoundProxyCancelReceiveSETCEvent,
    64 	EMMFDevSoundProxyPlayInit,
    65 	EMMFDevSoundProxyRecordInit,
    66 	EMMFDevSoundProxyPlayData,
    67 	EMMFDevSoundProxyRecordData,
    68 	EMMFDevSoundProxyStop,
    69 	EMMFDevSoundProxyPause,
    70 	EMMFDevSoundProxyPlayTone,
    71 	EMMFDevSoundProxyPlayDualTone,
    72 	EMMFDevSoundProxyPlayDTMFString,
    73 	EMMFDevSoundProxyPlayDTMFStringLength,
    74 	EMMFDevSoundProxyPlayToneSequence,
    75 	EMMFDevSoundProxyPlayFixedSequence,
    76 	EMMFDevSoundProxySetDTMFLengths,
    77 	EMMFDevSoundProxySetVolumeRamp,
    78 	EMMFDevSoundProxyGetSupportedInputDataTypes,
    79 	EMMFDevSoundProxyGetSupportedOutputDataTypes,
    80 	EMMFDevSoundProxyCopyFourCCArrayData,
    81 	EMMFDevSoundProxyGetRecordedBuffer,
    82 	EMMFDevSoundProxySamplesRecorded,
    83 	EMMFDevSoundProxySamplesPlayed,
    84 	EMMFDevSoundProxySetToneRepeats,
    85 	EMMFDevSoundProxySetPrioritySettings,
    86 	EMMFDevSoundProxyFixedSequenceName,
    87 	EMMFDevSoundProxyConvertInit,
    88 	EMMFDevSoundProxyConvertData,
    89 	EMMFDevSoundProxyCustomInterface,
    90 	EMMFDevSoundProxyFixedSequenceCount,
    91 	EMMFDevSoundProxyRequestResourceNotification,
    92 	EMMFDevSoundProxyCancelRequestResourceNotification,
    93 	EMMFDevSoundProxyGetResourceNotificationData,	
    94 	EMMFDevSoundProxyWillResumePlay,
    95 	EMMFDevSoundProxySetClientThreadInfo
    96 	};
    97 
    98 class TMMFDevSoundProxyHwBuf
    99 /**
   100 *@internalTechnology
   101 */
   102 	{
   103 public:
   104 	TUid iBufferType;
   105 	TInt iRequestSize;
   106 	TBool iLastBuffer;
   107 	TUint iBufferSize;
   108 	TBufC8<1024> iData;
   109 	};
   110 
   111 typedef TPckgBuf<TMMFDevSoundProxyHwBuf> TMMFDevSoundProxyHwBufPckg;
   112 
   113 
   114 class TMMFDevSoundProxySettings
   115 /**
   116 *@internalTechnology
   117 */
   118 	{
   119 public:
   120 	TMMFState iMode;
   121 	TUid iHWDev;
   122 	TFourCC iDesiredFourCC;
   123 	TMMFCapabilities iCaps;
   124 	TMMFCapabilities iConfig;
   125 	TInt iMaxVolume;
   126 	TInt iVolume;
   127 	TInt iMaxGain;
   128 	TInt iGain;
   129 	TInt iLeftPercentage;
   130 	TInt iRightPercentage;
   131 	TInt iFrequencyOne;
   132 	TInt iFrequencyTwo;
   133 	TTimeIntervalMicroSeconds iDuration;
   134 	TTimeIntervalMicroSeconds32 iToneOnLength;
   135 	TTimeIntervalMicroSeconds32 iToneOffLength;
   136 	TTimeIntervalMicroSeconds32 iPauseLength;
   137 	TUid iNotificationEventUid;
   138 	};
   139 
   140 
   141 typedef TPckgBuf<TMMFDevSoundProxySettings> TMMFDevSoundProxySettingsPckg;
   142 const TInt KMaxFixedSequenceNameLength = 1024;
   143 
   144 #endif