os/mm/devsound/a3fdevsound/src/mmfdevsound/sounddevicebody.inl
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
sl@0
    20
#ifndef SOUNDDEVICEBODY_INL
sl@0
    21
#define SOUNDDEVICEBODY_INL
sl@0
    22
sl@0
    23
/*
sl@0
    24
*
sl@0
    25
*  Returns the supported Audio settings.
sl@0
    26
*
sl@0
    27
*  @return "TMMFCapabilities"
sl@0
    28
*          Device settings.
sl@0
    29
*/
sl@0
    30
inline TMMFCapabilities CMMFDevSound::CBody::Capabilities()
sl@0
    31
	{
sl@0
    32
	return iDevSoundProxy->Capabilities();
sl@0
    33
	}
sl@0
    34
sl@0
    35
/*
sl@0
    36
*  Returns the current audio settings.
sl@0
    37
*
sl@0
    38
*  @return "TMMFCapabilities"
sl@0
    39
*          Device settings.
sl@0
    40
*/
sl@0
    41
inline TMMFCapabilities CMMFDevSound::CBody::Config() const
sl@0
    42
	{
sl@0
    43
	return iDevSoundProxy->Config();
sl@0
    44
	}
sl@0
    45
sl@0
    46
/*
sl@0
    47
*  Configure CMMFDevSound::CBody object for the settings in aConfig.
sl@0
    48
*
sl@0
    49
*  Use this to set sampling rate, Encoding and Mono/Stereo.
sl@0
    50
*
sl@0
    51
*  @param  "aConfig"
sl@0
    52
*          Attribute values to which CMMFDevSound::CBody object will be
sl@0
    53
*          configured to.
sl@0
    54
*/
sl@0
    55
inline void CMMFDevSound::CBody::SetConfigL(const TMMFCapabilities& aConfig)
sl@0
    56
	{
sl@0
    57
	iDevSoundProxy->SetConfigL(aConfig);
sl@0
    58
	}
sl@0
    59
sl@0
    60
/*
sl@0
    61
*  Returns an integer representing the maximum volume.
sl@0
    62
*
sl@0
    63
*  This is the maximum value which can be passed to
sl@0
    64
*  CMMFDevSound::CBody::SetVolume.
sl@0
    65
*
sl@0
    66
*  @return "TInt"
sl@0
    67
*          The maximum volume. This value is platform dependent but is always
sl@0
    68
*          greater than or equal to one.
sl@0
    69
*
sl@0
    70
*/
sl@0
    71
inline TInt CMMFDevSound::CBody::MaxVolume()
sl@0
    72
	{
sl@0
    73
	return iDevSoundProxy->MaxVolume();
sl@0
    74
	}
sl@0
    75
sl@0
    76
/*
sl@0
    77
*  Returns an integer representing the current volume.
sl@0
    78
*
sl@0
    79
*  @return "TInt"
sl@0
    80
*          The current volume level.
sl@0
    81
*/
sl@0
    82
inline TInt CMMFDevSound::CBody::Volume()
sl@0
    83
	{
sl@0
    84
	return iDevSoundProxy->Volume();
sl@0
    85
	}
sl@0
    86
sl@0
    87
/*
sl@0
    88
*  Changes the current playback volume to a specified value.
sl@0
    89
*
sl@0
    90
*  The volume can be changed before or during playback and is effective
sl@0
    91
*  immediately.
sl@0
    92
*
sl@0
    93
*  @param  "aVolume"
sl@0
    94
*          The volume setting. This can be any value from zero to the value
sl@0
    95
*          returned by a call to CMMFDevSound::CBody::MaxVolume(). If the
sl@0
    96
*          volume is not within this range, the volume is automatically set to
sl@0
    97
*          minimum or maximum value based on the value that is being passed.
sl@0
    98
*          Setting a zero value mutes the sound. Setting the maximum value
sl@0
    99
*          results in the loudest possible sound.
sl@0
   100
*/
sl@0
   101
inline void CMMFDevSound::CBody::SetVolume(TInt aVolume)
sl@0
   102
	{
sl@0
   103
	iDevSoundProxy->SetVolume(aVolume);
sl@0
   104
	}
sl@0
   105
sl@0
   106
/*
sl@0
   107
*  Returns an integer representing the maximum gain.
sl@0
   108
*
sl@0
   109
*  This is the maximum value which can be passed to
sl@0
   110
*  CMMFDevSound::CBody::SetGain.
sl@0
   111
*
sl@0
   112
*  @return "TInt"
sl@0
   113
*          The maximum gain. This value is platform dependent but is always
sl@0
   114
*          greater than or equal to one.
sl@0
   115
*
sl@0
   116
*/
sl@0
   117
inline TInt CMMFDevSound::CBody::MaxGain()
sl@0
   118
	{
sl@0
   119
	return iDevSoundProxy->MaxGain();
sl@0
   120
	}
sl@0
   121
sl@0
   122
/*
sl@0
   123
*  Returns an integer representing the current gain.
sl@0
   124
*
sl@0
   125
*  @return "TInt"
sl@0
   126
*          The current gain level.
sl@0
   127
*/
sl@0
   128
inline TInt CMMFDevSound::CBody::Gain()
sl@0
   129
	{
sl@0
   130
	return iDevSoundProxy->Gain();
sl@0
   131
	}
sl@0
   132
sl@0
   133
/*
sl@0
   134
*  Changes the current recording gain to a specified value.
sl@0
   135
*
sl@0
   136
*  The gain can be changed before or during recording and is effective
sl@0
   137
*  immediately.
sl@0
   138
*
sl@0
   139
*  @param  "TInt aGain"
sl@0
   140
*          The gain setting. This can be any value from zero to the value
sl@0
   141
*          returned by a call to CMMFDevSound::CBody::MaxGain(). If the
sl@0
   142
*          volume is not within this range, the gain is automatically set to
sl@0
   143
*          minimum or maximum value based on the value that is being passed.
sl@0
   144
*          Setting a zero value mutes the sound. Setting the maximum value
sl@0
   145
*          results in the loudest possible sound.
sl@0
   146
*/
sl@0
   147
inline void CMMFDevSound::CBody::SetGain(TInt aGain)
sl@0
   148
	{
sl@0
   149
	iDevSoundProxy->SetGain(aGain);
sl@0
   150
	}
sl@0
   151
sl@0
   152
/*
sl@0
   153
*  Returns the speaker balance set for playing.
sl@0
   154
*
sl@0
   155
*  Leaves on failure.
sl@0
   156
*
sl@0
   157
*  @param  "aLeftPrecentage"
sl@0
   158
*          On return contains the left speaker volume percentage.
sl@0
   159
*
sl@0
   160
*  @param  "aRightPercentage"
sl@0
   161
*          On return contains the right speaker volume percentage.
sl@0
   162
*/
sl@0
   163
inline void CMMFDevSound::CBody::GetPlayBalanceL(TInt& aLeftPercentage,
sl@0
   164
						TInt& aRightPercentage)
sl@0
   165
	{
sl@0
   166
	iDevSoundProxy->GetPlayBalanceL(aLeftPercentage, aRightPercentage);
sl@0
   167
	}
sl@0
   168
sl@0
   169
/*
sl@0
   170
*  Sets the speaker balance for playing.
sl@0
   171
*
sl@0
   172
*  The speaker balance can be changed before or during playback and is
sl@0
   173
*  effective immediately.
sl@0
   174
*
sl@0
   175
*  @param  "aLeftPercentage"
sl@0
   176
*          On return contains left speaker volume perecentage. This can be any
sl@0
   177
*          value from zero to 100. Setting a zero value mutes the sound on left
sl@0
   178
*          speaker.
sl@0
   179
*
sl@0
   180
*  @param  "aRightPercentage"
sl@0
   181
*          On return contains right speaker volume perecentage. This can be any
sl@0
   182
*          value from zero to 100. Setting a zero value mutes the sound on
sl@0
   183
*          right speaker.
sl@0
   184
*/
sl@0
   185
inline void CMMFDevSound::CBody::SetPlayBalanceL(TInt aLeftPercentage,
sl@0
   186
						TInt aRightPercentage)
sl@0
   187
	{
sl@0
   188
	iDevSoundProxy->SetPlayBalanceL(aLeftPercentage, aRightPercentage);
sl@0
   189
	}
sl@0
   190
sl@0
   191
/*
sl@0
   192
*  Returns the microphone gain balance set for recording.
sl@0
   193
*
sl@0
   194
*  Leaves on failure.
sl@0
   195
*
sl@0
   196
*  @param  "aLeftPercentage"
sl@0
   197
*          On return contains the left microphone gain percentage.
sl@0
   198
*
sl@0
   199
*  @param  "aRightPercentage"
sl@0
   200
*          On return contains the right microphone gain percentage.
sl@0
   201
*/
sl@0
   202
inline void CMMFDevSound::CBody::GetRecordBalanceL(
sl@0
   203
				TInt& aLeftPercentage,
sl@0
   204
				TInt& aRightPercentage)
sl@0
   205
	{
sl@0
   206
	iDevSoundProxy->GetRecordBalanceL(aLeftPercentage, aRightPercentage);
sl@0
   207
	}
sl@0
   208
sl@0
   209
/*
sl@0
   210
*  Sets the microphone gain balance for recording.
sl@0
   211
*
sl@0
   212
*  The microphone gain balance can be changed before or during recording and
sl@0
   213
*  is effective immediately.
sl@0
   214
*
sl@0
   215
*  @param  "aLeftPercentage"
sl@0
   216
*          Left microphone gain precentage. This can be any value from zero to
sl@0
   217
*          100. Setting a zero value mutes the gain on left microphone.
sl@0
   218
*
sl@0
   219
*  @param  "aRightPercentage"
sl@0
   220
*          Right microphone gain precentage. This can be any value from zero to
sl@0
   221
*          100. Setting a zero value mutes the gain on right microphone.
sl@0
   222
*/
sl@0
   223
inline void CMMFDevSound::CBody::SetRecordBalanceL(TInt aLeftPercentage,
sl@0
   224
						TInt aRightPercentage)
sl@0
   225
	{
sl@0
   226
	iDevSoundProxy->SetRecordBalanceL(aLeftPercentage, aRightPercentage);
sl@0
   227
	}
sl@0
   228
sl@0
   229
/*
sl@0
   230
*  Initializes audio device and start play process. This method queries and
sl@0
   231
*  acquires the audio policy before initializing audio device. If there was an
sl@0
   232
*  error during policy initialization, PlayError() method will be called on
sl@0
   233
*  the observer with error code KErrAccessDenied, otherwise BufferToBeFilled()
sl@0
   234
*  method will be called with a buffer reference. After reading data into the
sl@0
   235
*  buffer reference passed, the client should call PlayData() to play data.
sl@0
   236
*
sl@0
   237
*  The amount of data that can be played is specified in
sl@0
   238
*  CMMFBuffer::RequestSize(). Any data that is read into buffer beyond this
sl@0
   239
*  size will be ignored.
sl@0
   240
*
sl@0
   241
*  Leaves on failure.
sl@0
   242
*/
sl@0
   243
inline void CMMFDevSound::CBody::PlayInitL()
sl@0
   244
	{
sl@0
   245
	iDevSoundProxy->PlayInitL();
sl@0
   246
	}
sl@0
   247
sl@0
   248
/*
sl@0
   249
*  Initializes audio device and start record process. This method queries and
sl@0
   250
*  acquires the audio policy before initializing audio device. If there was an
sl@0
   251
*  error during policy initialization, RecordError() method will be called on
sl@0
   252
*  the observer with error code KErrAccessDenied, otherwise BufferToBeEmptied()
sl@0
   253
*  method will be called with a buffer reference. This buffer contains recorded
sl@0
   254
*  or encoded data. After processing data in the buffer reference passed, the
sl@0
   255
*  client should call RecordData() to continue recording process.
sl@0
   256
*
sl@0
   257
*  The amount of data that is available is specified in
sl@0
   258
*  CMMFBuffer::RequestSize().
sl@0
   259
*
sl@0
   260
*  Leaves on failure.
sl@0
   261
*/
sl@0
   262
inline void CMMFDevSound::CBody::RecordInitL()
sl@0
   263
	{
sl@0
   264
	iDevSoundProxy->RecordInitL();
sl@0
   265
	}
sl@0
   266
sl@0
   267
/*
sl@0
   268
*  Plays data in the buffer at the current volume. The client should fill
sl@0
   269
*  the buffer with audio data before calling this method. The Observer gets
sl@0
   270
*  reference to buffer along with callback BufferToBeFilled(). When playing of
sl@0
   271
*  the audio sample is complete, successfully or otherwise, the method
sl@0
   272
*  PlayError() on observer is called.
sl@0
   273
*/
sl@0
   274
inline void CMMFDevSound::CBody::PlayData()
sl@0
   275
	{
sl@0
   276
	iDevSoundProxy->PlayData();
sl@0
   277
	}
sl@0
   278
sl@0
   279
/*
sl@0
   280
*  Contine the process of recording. Once the buffer is filled with recorded
sl@0
   281
*  data, the Observer gets reference to buffer along with callback
sl@0
   282
*  BufferToBeEmptied(). After processing the buffer (copying over to a
sl@0
   283
*  different buffer or writing to file) the client should call this
sl@0
   284
*  method to continue recording process.
sl@0
   285
*/
sl@0
   286
inline void CMMFDevSound::CBody::RecordData()
sl@0
   287
	{
sl@0
   288
	iDevSoundProxy->RecordData();
sl@0
   289
	}
sl@0
   290
sl@0
   291
/*
sl@0
   292
*  Stops the ongoing operation (Play, Record, TonePlay)
sl@0
   293
*/
sl@0
   294
inline void CMMFDevSound::CBody::Stop()
sl@0
   295
	{
sl@0
   296
	iDevSoundProxy->Stop();
sl@0
   297
	}
sl@0
   298
sl@0
   299
/*
sl@0
   300
*  Temporarily Stops the ongoing operation (Play, Record, TonePlay)
sl@0
   301
*/
sl@0
   302
inline void CMMFDevSound::CBody::Pause()
sl@0
   303
	{
sl@0
   304
	iDevSoundProxy->Pause();
sl@0
   305
	}
sl@0
   306
sl@0
   307
/*
sl@0
   308
*  Returns the sample recorded so far.
sl@0
   309
*
sl@0
   310
*  @return "TInt"
sl@0
   311
*          Returns the samples recorded.
sl@0
   312
*/
sl@0
   313
inline TInt CMMFDevSound::CBody::SamplesRecorded()
sl@0
   314
	{
sl@0
   315
	return iDevSoundProxy->SamplesRecorded();
sl@0
   316
	}
sl@0
   317
sl@0
   318
/*
sl@0
   319
*  Returns the sample played so far.
sl@0
   320
*
sl@0
   321
*  @return "TInt"
sl@0
   322
*          Returns the samples recorded.
sl@0
   323
*/
sl@0
   324
inline TInt CMMFDevSound::CBody::SamplesPlayed()
sl@0
   325
	{
sl@0
   326
	return iDevSoundProxy->SamplesPlayed();
sl@0
   327
	}
sl@0
   328
sl@0
   329
sl@0
   330
/*
sl@0
   331
*  Initializes audio device and start playing tone. Tone is played with
sl@0
   332
*  frequency and for duration specified.
sl@0
   333
*
sl@0
   334
*  Leaves on failure.
sl@0
   335
*
sl@0
   336
*  @param  "aFrequency"
sl@0
   337
*          Frequency at with the tone will be played.
sl@0
   338
*
sl@0
   339
*  @param  "aDuration"
sl@0
   340
*          The period over which the tone will be played. A zero value causes
sl@0
   341
*          the no tone to be played (Verify this with test app).
sl@0
   342
*/
sl@0
   343
inline void CMMFDevSound::CBody::PlayToneL(
sl@0
   344
				TInt aFrequency,
sl@0
   345
				const TTimeIntervalMicroSeconds& aDuration)
sl@0
   346
	{
sl@0
   347
	iDevSoundProxy->PlayToneL(aFrequency, aDuration);
sl@0
   348
	}
sl@0
   349
sl@0
   350
/*
sl@0
   351
*  Initializes audio device and start playing a dual tone.
sl@0
   352
*  The tone consists of two sine waves of different frequencies summed together
sl@0
   353
*  Dual Tone is played with specified frequencies and for specified duration.
sl@0
   354
*
sl@0
   355
*  @param  "aFrequencyOne"
sl@0
   356
*          First frequency of dual tone
sl@0
   357
*
sl@0
   358
*  @param  "aFrequencyTwo"
sl@0
   359
*          Second frequency of dual tone
sl@0
   360
*
sl@0
   361
*  @param  "aDuration"
sl@0
   362
*          The period over which the tone will be played. A zero value causes
sl@0
   363
*          the no tone to be played (Verify this with test app).
sl@0
   364
*/
sl@0
   365
inline void CMMFDevSound::CBody::PlayDualToneL(
sl@0
   366
				TInt aFrequencyOne,
sl@0
   367
				TInt aFrequencyTwo,
sl@0
   368
				const TTimeIntervalMicroSeconds& aDuration)
sl@0
   369
	{
sl@0
   370
	iDevSoundProxy->PlayDualToneL(aFrequencyOne, aFrequencyTwo, aDuration);
sl@0
   371
	}
sl@0
   372
sl@0
   373
/*
sl@0
   374
*  Initializes audio device and start playing DTMF string aDTMFString.
sl@0
   375
*
sl@0
   376
*  Leaves on failure.
sl@0
   377
*
sl@0
   378
*  @param  "aDTMFString"
sl@0
   379
*          DTMF sequence in a descriptor.
sl@0
   380
*/
sl@0
   381
inline void CMMFDevSound::CBody::PlayDTMFStringL(const TDesC& aDTMFString)
sl@0
   382
	{
sl@0
   383
	iDevSoundProxy->PlayDTMFStringL(aDTMFString);
sl@0
   384
	}
sl@0
   385
sl@0
   386
/*
sl@0
   387
*  Initializes audio device and start playing tone sequence.
sl@0
   388
*
sl@0
   389
*  Leaves on failure.
sl@0
   390
*
sl@0
   391
*  @param  "TDesC8& aData"
sl@0
   392
*          Tone sequence in a descriptor.
sl@0
   393
*/
sl@0
   394
inline void CMMFDevSound::CBody::PlayToneSequenceL(const TDesC8& aData)
sl@0
   395
	{
sl@0
   396
	iDevSoundProxy->PlayToneSequenceL(aData);
sl@0
   397
	}
sl@0
   398
sl@0
   399
/*
sl@0
   400
*  Defines the number of times the audio is to be repeated during the tone
sl@0
   401
*  playback operation.
sl@0
   402
*
sl@0
   403
*  A period of silence can follow each playing of tone. The tone playing can
sl@0
   404
*  be repeated indefinitely.
sl@0
   405
*
sl@0
   406
*  @param  " aRepeatCount"
sl@0
   407
*          The number of times the tone, together with the trailing silence,
sl@0
   408
*          is to be repeated. If this is set to KMdaRepeatForever, then the
sl@0
   409
*          tone, together with the trailing silence, is repeated indefinitely
sl@0
   410
*          or until Stop() is called. If this is set to zero, then the tone is
sl@0
   411
*          not repeated.
sl@0
   412
*
sl@0
   413
*          Supported only during tone playing.
sl@0
   414
*/
sl@0
   415
inline void CMMFDevSound::CBody::SetToneRepeats(
sl@0
   416
			TInt aRepeatCount,
sl@0
   417
			const TTimeIntervalMicroSeconds& aRepeatTrailingSilence)
sl@0
   418
	{
sl@0
   419
	iDevSoundProxy->SetToneRepeats(aRepeatCount, aRepeatTrailingSilence);
sl@0
   420
	}
sl@0
   421
sl@0
   422
/*
sl@0
   423
*  Defines the duration of tone on, tone off and tone pause to be used during
sl@0
   424
*  the DTMF tone playback operation.
sl@0
   425
*
sl@0
   426
*  Supported only during tone playing.
sl@0
   427
*
sl@0
   428
*  @param  "aToneOnLength"
sl@0
   429
*          The period over which the tone will be played. If this is set to
sl@0
   430
*          zero, then the tone is not played.
sl@0
   431
*
sl@0
   432
*  @param  "aToneOffLength"
sl@0
   433
*          The period over which the no tone will be played.
sl@0
   434
*
sl@0
   435
*  @param  "aPauseLength"
sl@0
   436
*          The period over which the tone playing will be paused.
sl@0
   437
*/
sl@0
   438
inline void CMMFDevSound::CBody::SetDTMFLengths(
sl@0
   439
			TTimeIntervalMicroSeconds32& aToneOnLength,
sl@0
   440
			TTimeIntervalMicroSeconds32& aToneOffLength,
sl@0
   441
			TTimeIntervalMicroSeconds32& aPauseLength)
sl@0
   442
	{
sl@0
   443
	iDevSoundProxy->SetDTMFLengths(aToneOnLength,
sl@0
   444
					aToneOffLength,
sl@0
   445
					aPauseLength);
sl@0
   446
	}
sl@0
   447
sl@0
   448
/*
sl@0
   449
*  Defines the period over which the volume level is to rise smoothly from
sl@0
   450
*  nothing to the normal volume level.
sl@0
   451
*
sl@0
   452
*  @param  "aRampDuration"
sl@0
   453
*          The period over which the volume is to rise. A zero value causes
sl@0
   454
*          the tone sample to be played at the normal level for the full
sl@0
   455
*          duration of the playback. A value, which is longer than the duration
sl@0
   456
*          of the tone sample, that the sample never reaches its normal
sl@0
   457
*          volume level.
sl@0
   458
*/
sl@0
   459
inline void CMMFDevSound::CBody::SetVolumeRamp(
sl@0
   460
					const TTimeIntervalMicroSeconds& aRampDuration)
sl@0
   461
	{
sl@0
   462
	iDevSoundProxy->SetVolumeRamp(aRampDuration);
sl@0
   463
	}
sl@0
   464
sl@0
   465
/*
sl@0
   466
*  Defines the priority settings that should be used for this instance.
sl@0
   467
*
sl@0
   468
*  @param  "aPrioritySettings"
sl@0
   469
*          An class type representing the client's priority, priority
sl@0
   470
*          preference and state.
sl@0
   471
*/
sl@0
   472
inline void CMMFDevSound::CBody::SetPrioritySettings(
sl@0
   473
					const TMMFPrioritySettings& aPrioritySettings)
sl@0
   474
	{
sl@0
   475
	iDevSoundProxy->SetPrioritySettings(aPrioritySettings);
sl@0
   476
	}
sl@0
   477
sl@0
   478
sl@0
   479
/*
sl@0
   480
*  Returns a list of supported input data types that can be sent to the
sl@0
   481
*  DevSound for playing audio.
sl@0
   482
*/
sl@0
   483
inline void CMMFDevSound::CBody::GetSupportedInputDataTypesL(
sl@0
   484
					RArray<TFourCC>& aSupportedDataTypes,
sl@0
   485
					const TMMFPrioritySettings& aPrioritySettings) const
sl@0
   486
	{
sl@0
   487
	iDevSoundProxy->GetSupportedInputDataTypesL(aSupportedDataTypes,
sl@0
   488
						aPrioritySettings);
sl@0
   489
	}
sl@0
   490
sl@0
   491
sl@0
   492
/*
sl@0
   493
*  Returns a list of supported output data types that can be received from
sl@0
   494
*  the DevSound for recording audio.
sl@0
   495
*/
sl@0
   496
inline void CMMFDevSound::CBody::GetSupportedOutputDataTypesL(
sl@0
   497
				RArray<TFourCC>& aSupportedDataTypes,
sl@0
   498
				const TMMFPrioritySettings& aPrioritySettings) const
sl@0
   499
	{
sl@0
   500
	iDevSoundProxy->GetSupportedOutputDataTypesL(aSupportedDataTypes,
sl@0
   501
							aPrioritySettings);
sl@0
   502
	}
sl@0
   503
	
sl@0
   504
/* Registers the client for notification
sl@0
   505
*/
sl@0
   506
inline TInt CMMFDevSound::CBody::RegisterAsClient(TUid aEventType, const TDesC8& aNotificationRegistrationData)
sl@0
   507
	{
sl@0
   508
	return iDevSoundProxy->RegisterAsClient(aEventType,aNotificationRegistrationData);
sl@0
   509
	}
sl@0
   510
/* Cancels the registered notification
sl@0
   511
*/
sl@0
   512
inline TInt CMMFDevSound::CBody::CancelRegisterAsClient(TUid aEventType)
sl@0
   513
	{
sl@0
   514
	return iDevSoundProxy->CancelRegisterAsClient(aEventType);
sl@0
   515
	}
sl@0
   516
sl@0
   517
/* Get the notification data to resume 
sl@0
   518
*/
sl@0
   519
inline TInt CMMFDevSound::CBody::GetResourceNotificationData(TUid aEventType,TDes8& aNotificationData)
sl@0
   520
	{
sl@0
   521
	return iDevSoundProxy->GetResourceNotificationData(aEventType,aNotificationData);
sl@0
   522
	}
sl@0
   523
sl@0
   524
/*if client need more than the default timeout period
sl@0
   525
*/
sl@0
   526
inline TInt CMMFDevSound::CBody::WillResumePlay()
sl@0
   527
	{
sl@0
   528
	return iDevSoundProxy->WillResumePlay();
sl@0
   529
	}
sl@0
   530
sl@0
   531
/*
sl@0
   532
 * Empties the buffers below DevSound without 
sl@0
   533
 * causing the codec to be deleted.
sl@0
   534
*/
sl@0
   535
inline TInt CMMFDevSound::CBody::EmptyBuffers()
sl@0
   536
	{
sl@0
   537
	return iDevSoundProxy->EmptyBuffers();
sl@0
   538
	}
sl@0
   539
sl@0
   540
/*
sl@0
   541
 * Cancels the initialization process
sl@0
   542
*/
sl@0
   543
inline TInt CMMFDevSound::CBody::CancelInitialize()
sl@0
   544
	{
sl@0
   545
	return iDevSoundProxy->CancelInitialize();
sl@0
   546
	}
sl@0
   547
sl@0
   548
/*
sl@0
   549
*  Queries about if Resume operation is supported
sl@0
   550
*/
sl@0
   551
inline TBool CMMFDevSound::CBody::IsResumeSupported()
sl@0
   552
	{
sl@0
   553
	return iDevSoundProxy->IsResumeSupported();
sl@0
   554
	}
sl@0
   555
sl@0
   556
/*
sl@0
   557
* Resume the temporarily stoppped ongoing operation (Play, Record, TonePlay)
sl@0
   558
*/
sl@0
   559
inline TInt CMMFDevSound::CBody::Resume()
sl@0
   560
	{
sl@0
   561
	return iDevSoundProxy->Resume();
sl@0
   562
	}
sl@0
   563
sl@0
   564
inline TInt CMMFDevSound::CBody::SyncCustomCommand(TUid aUid, const TDesC8& aParam1, const TDesC8& aParam2, TDes8* aOutParam)
sl@0
   565
	{
sl@0
   566
	return iDevSoundProxy->SyncCustomCommand(aUid, aParam1, aParam2, aOutParam);
sl@0
   567
	}
sl@0
   568
sl@0
   569
inline void CMMFDevSound::CBody::AsyncCustomCommand(TUid aUid, TRequestStatus& aStatus, const TDesC8& aParam1, const TDesC8& aParam2, TDes8* aOutParam)
sl@0
   570
	{
sl@0
   571
	iDevSoundProxy->AsyncCustomCommand(aUid, aStatus, aParam1, aParam2, aOutParam);
sl@0
   572
	}
sl@0
   573
	
sl@0
   574
#endif // SOUNDDEVICEBODY_INL
sl@0
   575
sl@0
   576
// End of File