1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/devsound/devsoundpluginsupport/inc/plugin/devsoundplugin.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,527 @@
1.4 +
1.5 +// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// under the terms of "Eclipse Public License v1.0"
1.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +//
1.19 +
1.20 +/**
1.21 + @file
1.22 + @publishedPartner
1.23 + @released
1.24 +*/
1.25 +
1.26 +#ifndef DEVSOUNDPLUGIN_H
1.27 +#define DEVSOUNDPLUGIN_H
1.28 +
1.29 +_LIT8(KDevSoundPluginMatchString, "*"); // ECom insists on something
1.30 +
1.31 +/**
1.32 +Interface class used in the plugin implementation of DevSound.
1.33 +The CMMFDevSound implementation loads a plugin based on this interface class.
1.34 +Once this has been constructed, calls to method functions of CMMFDevSound are passed
1.35 +verbatim to this interface. For further description of required functionality,
1.36 +see CMMFDevSound.
1.37 +
1.38 +@see CMMFDevSound
1.39 +*/
1.40 +
1.41 +class MMMFDevSoundPlugin
1.42 + {
1.43 +public:
1.44 + /**
1.45 + This must provide an implementation as defined by CMMFDevSound::~CMMFDevSound()
1.46 +
1.47 + @see CMMFDevSound::~CMMFDevSound()
1.48 + */
1.49 + virtual ~MMMFDevSoundPlugin() {}
1.50 +
1.51 + /**
1.52 + This must provide an implementation as defined by
1.53 + CMMFDevSound::InitializeL(MDevSoundObserver& aDevSoundObserver, TMMFState aMode)
1.54 +
1.55 + @param aDevSoundObserver
1.56 + A reference to DevSound Observer instance.
1.57 + @param aMode
1.58 + The mode for which this object will be used.
1.59 +
1.60 + @see CMMFDevSound::InitializeL(MDevSoundObserver& aDevSoundObserver, TMMFState aMode)
1.61 + */
1.62 + virtual void InitializeL(MDevSoundObserver& aDevSoundObserver, TMMFState aMode)=0;
1.63 +
1.64 +
1.65 + /**
1.66 + This must provide an implementation as defined by
1.67 + CMMFDevSound::InitializeL(MDevSoundObserver& aDevSoundObserver, TUid aHWDev, TMMFState aMode)
1.68 +
1.69 + @param aDevSoundObserver
1.70 + A reference to DevSound Observer instance.
1.71 + @param aHWDev
1.72 + The CMMFHwDevice implementation identifier.
1.73 + @param aMode
1.74 + The mode for which this object will be used.
1.75 +
1.76 + @see CMMFDevSound::InitializeL(MDevSoundObserver& aDevSoundObserver, TUid aHWDev, TMMFState aMode)
1.77 + */
1.78 + virtual void InitializeL(MDevSoundObserver& aDevSoundObserver, TUid aHWDev, TMMFState aMode)=0;
1.79 +
1.80 + /**
1.81 + This must provide an implementation as defined by
1.82 + CMMFDevSound::InitializeL(MDevSoundObserver& aDevSoundObserver, TFourCC aDesiredFourCC, TMMFState aMode)
1.83 +
1.84 + @param aDevSoundObserver
1.85 + A reference to DevSound Observer instance.
1.86 + @param aDesiredFourCC
1.87 + The CMMFHwDevice implementation FourCC code.
1.88 + @param aMode
1.89 + The mode for which this object will be used.
1.90 +
1.91 + @see CMMFDevSound::InitializeL(MDevSoundObserver& aDevSoundObserver, TFourCC aDesiredFourCC, TMMFState aMode)
1.92 + */
1.93 + virtual void InitializeL(MDevSoundObserver& aDevSoundObserver, TFourCC aDesiredFourCC, TMMFState aMode)=0;
1.94 +
1.95 + /**
1.96 + This must provide an implementation as defined by CMMFDevSound::Capabilities()
1.97 +
1.98 + @return The device settings.
1.99 +
1.100 + @see CMMFDevSound::Capabilities()
1.101 + */
1.102 + virtual TMMFCapabilities Capabilities()=0;
1.103 +
1.104 + /**
1.105 + This must provide an implementation as defined by CMMFDevSound::Config()
1.106 +
1.107 + @return The device settings.
1.108 +
1.109 + @see CMMFDevSound::Config()
1.110 + */
1.111 + virtual TMMFCapabilities Config() const=0;
1.112 +
1.113 + /**
1.114 + This must provide an implementation as defined by CMMFDevSound::SetConfigL(const TMMFCapabilities& aCaps)
1.115 +
1.116 + @param aCaps The attribute values to which CMMFDevSound object will be configured to.
1.117 +
1.118 + @see CMMFDevSound::SetConfigL(const TMMFCapabilities& aCaps)
1.119 + */
1.120 + virtual void SetConfigL(const TMMFCapabilities& aCaps)=0;
1.121 +
1.122 + /**
1.123 + This must provide an implementation as defined by CMMFDevSound::MaxVolume()
1.124 +
1.125 + @return The maximum volume. This value is platform dependent but is always greater than or equal
1.126 + to one.
1.127 +
1.128 + @see CMMFDevSound::MaxVolume()
1.129 + */
1.130 + virtual TInt MaxVolume()=0;
1.131 +
1.132 + /**
1.133 + This must provide an implementation as defined by CMMFDevSound::Volume()
1.134 +
1.135 + @return The current volume level.
1.136 +
1.137 + @see CMMFDevSound::Volume()
1.138 + */
1.139 + virtual TInt Volume()=0;
1.140 +
1.141 + /**
1.142 + This must provide an implementation as defined by CMMFDevSound::SetVolume()
1.143 +
1.144 + @param aVolume
1.145 + The volume setting. This can be any value from 0 to the value
1.146 + returned by a call to CMMFDevSound::MaxVolume(). If the
1.147 + volume is not within this range, the volume is automatically set to
1.148 + minimum or maximum value based on the value that is being passed.
1.149 + Setting a zero value mutes the sound. Setting the maximum value
1.150 + results in the loudest possible sound.
1.151 +
1.152 + @see CMMFDevSound::SetVolume()
1.153 + */
1.154 + virtual void SetVolume(TInt aVolume)=0;
1.155 +
1.156 + /**
1.157 + This must provide an implementation as defined by CMMFDevSound::MaxGain()
1.158 +
1.159 + @return The maximum gain. This value is platform dependent but is always greater than or equal
1.160 + to one.
1.161 +
1.162 + @see CMMFDevSound::MaxGain()
1.163 + */
1.164 + virtual TInt MaxGain()=0;
1.165 +
1.166 + /**
1.167 + This must provide an implementation as defined by CMMFDevSound::Gain()
1.168 +
1.169 + @return The current gain level.
1.170 +
1.171 + @see CMMFDevSound::Gain()
1.172 + */
1.173 + virtual TInt Gain()=0;
1.174 +
1.175 + /**
1.176 + This must provide an implementation as defined by CMMFDevSound::SetGain()
1.177 +
1.178 + @param aGain
1.179 + The gain setting. This can be any value from zero to the value
1.180 + returned by a call to CMMFDevSound::MaxGain(). If the
1.181 + volume is not within this range, the gain is automatically set to
1.182 + minimum or maximum value based on the value that is being passed.
1.183 + Setting a zero value mutes the sound. Setting the maximum value
1.184 + results in the loudest possible sound.
1.185 + @see CMMFDevSound::SetGain()
1.186 + */
1.187 + virtual void SetGain(TInt aGain)=0;
1.188 +
1.189 + /**
1.190 + This must provide an implementation as defined by
1.191 + CMMFDevSound::GetPlayBalanceL(TInt& aLeftPercentage, TInt& aRightPercentage)
1.192 +
1.193 + @param aLeftPercentage
1.194 + On return contains the left speaker volume percentage.
1.195 + @param aRightPercentage
1.196 + On return contains the right speaker volume percentage.
1.197 +
1.198 + @see CMMFDevSound::GetPlayBalanceL(TInt& aLeftPercentage, TInt& aRightPercentage)
1.199 + */
1.200 + virtual void GetPlayBalanceL(TInt& aLeftPercentage, TInt& aRightPercentage)=0;
1.201 +
1.202 + /**
1.203 + This must provide an implementation as defined by
1.204 + CMMFDevSound::SetPlayBalanceL(TInt aLeftPercentage, TInt aRightPercentage)
1.205 +
1.206 + @param aLeftPercentage
1.207 + On return contains left speaker volume perecentage. This can be any
1.208 + value from zero to 100. Setting a zero value mutes the sound on left
1.209 + speaker.
1.210 + @param aRightPercentage
1.211 + On return contains right speaker volume perecentage. This can be any
1.212 + value from zero to 100. Setting a zero value mutes the sound on
1.213 + right speaker.
1.214 +
1.215 + @see CMMFDevSound::SetPlayBalanceL(TInt aLeftPercentage, TInt aRightPercentage)
1.216 + */
1.217 + virtual void SetPlayBalanceL(TInt aLeftPercentage, TInt aRightPercentage)=0;
1.218 +
1.219 + /**
1.220 + This must provide an implementation as defined by
1.221 + CMMFDevSound::GetRecordBalanceL(TInt& aLeftPercentage, TInt& aRightPercentage)
1.222 +
1.223 + @param aLeftPercentage
1.224 + On return contains the left microphone gain percentage.
1.225 + @param aRightPercentage
1.226 + On return contains the right microphone gain percentage.
1.227 +
1.228 + @see CMMFDevSound::GetRecordBalanceL(TInt& aLeftPercentage, TInt& aRightPercentage)
1.229 + */
1.230 + virtual void GetRecordBalanceL(TInt& aLeftPercentage, TInt& aRightPercentage)=0;
1.231 +
1.232 + /**
1.233 + This must provide an implementation as defined by
1.234 + CMMFDevSound::GetRecordBalanceL(TInt aLeftPercentage, TInt aRightPercentage)
1.235 +
1.236 + @param aLeftPercentage
1.237 + The left microphone gain precentage. This can be any value from zero to
1.238 + 100. Setting a zero value mutes the gain on left microphone.
1.239 + @param aRightPercentage
1.240 + The right microphone gain precentage. This can be any value from zero to
1.241 + 100. Setting a zero value mutes the gain on right microphone.
1.242 +
1.243 + @see CMMFDevSound::GetRecordBalanceL(TInt aLeftPercentage, TInt aRightPercentage)
1.244 + */
1.245 + virtual void SetRecordBalanceL(TInt aLeftPercentage, TInt aRightPercentage)=0;
1.246 +
1.247 + /**
1.248 + This must provide an implementation as defined by CMMFDevSound::PlayInitL()
1.249 +
1.250 + @see CMMFDevSound::PlayInitL()
1.251 + */
1.252 + virtual void PlayInitL()=0;
1.253 +
1.254 + /**
1.255 + This must provide an implementation as defined by CMMFDevSound::RecordInitL()
1.256 +
1.257 + @see CMMFDevSound::RecordInitL()
1.258 + */
1.259 + virtual void RecordInitL()=0;
1.260 +
1.261 + /**
1.262 + This must provide an implementation as defined by CMMFDevSound::PlayData()
1.263 +
1.264 + @see CMMFDevSound::PlayData()
1.265 + */
1.266 + virtual void PlayData()=0;
1.267 +
1.268 + /**
1.269 + This must provide an implementation as defined by CMMFDevSound::RecordData()
1.270 +
1.271 + @see CMMFDevSound::RecordData()
1.272 + */
1.273 + virtual void RecordData()=0;
1.274 +
1.275 + /**
1.276 + This must provide an implementation as defined by CMMFDevSound::Stop()
1.277 +
1.278 + @see CMMFDevSound::Stop()
1.279 + */
1.280 + virtual void Stop()=0;
1.281 +
1.282 + /**
1.283 + This must provide an implementation as defined by CMMFDevSound::Pause()
1.284 +
1.285 + @see CMMFDevSound::Pause()
1.286 + */
1.287 + virtual void Pause()=0;
1.288 +
1.289 + /**
1.290 + This must provide an implementation as defined by CMMFDevSound::SamplesRecorded()
1.291 +
1.292 + @return The samples recorded.
1.293 +
1.294 + @see CMMFDevSound::SamplesRecorded()
1.295 + */
1.296 + virtual TInt SamplesRecorded()=0;
1.297 +
1.298 + /**
1.299 + This must provide an implementation as defined by CMMFDevSound::SamplesPlayed()
1.300 +
1.301 + @return The samples played.
1.302 +
1.303 + @see CMMFDevSound::SamplesPlayed()
1.304 + */
1.305 + virtual TInt SamplesPlayed()=0;
1.306 +
1.307 + /**
1.308 + This must provide an implementation as defined by
1.309 + CMMFDevSound::PlayToneL(TInt aFrequency, const TTimeIntervalMicroSeconds& aDuration)
1.310 +
1.311 + @param aFrequency
1.312 + The frequency at which the tone will be played.
1.313 + @param aDuration
1.314 + The period over which the tone will be played. A zero value causes
1.315 + the no tone to be played.
1.316 +
1.317 + @see CMMFDevSound::PlayToneL(TInt aFrequency, const TTimeIntervalMicroSeconds& aDuration)
1.318 + */
1.319 + virtual void PlayToneL(TInt aFrequency, const TTimeIntervalMicroSeconds& aDuration)=0;
1.320 +
1.321 + /**
1.322 + This must provide an implementation as defined by
1.323 + CMMFDevSound::PlayDualToneL(TInt aFrequencyOne, TInt aFrequencyTwo, const TTimeIntervalMicroSeconds& aDuration)
1.324 +
1.325 + @param aFrequencyOne
1.326 + The first frequency of dual tone.
1.327 + @param aFrequencyTwo
1.328 + The second frequency of dual tone
1.329 + @param aDuration
1.330 + The period over which the tone will be played. A zero value causes
1.331 + the no tone to be played (Verify this with test app).
1.332 +
1.333 + @see CMMFDevSound::PlayDualToneL(TInt aFrequencyOne, TInt aFrequencyTwo, const TTimeIntervalMicroSeconds& aDuration)
1.334 + */
1.335 + virtual void PlayDualToneL(TInt aFrequencyOne, TInt aFrequencyTwo, const TTimeIntervalMicroSeconds& aDuration)=0;
1.336 +
1.337 + /**
1.338 + This must provide an implementation as defined by CMMFDevSound::PlayDTMFStringL(const TDesC& aDTMFString)
1.339 +
1.340 + @param aDTMFString The DTMF sequence in a descriptor.
1.341 +
1.342 + @see CMMFDevSound::PlayDTMFStringL(const TDesC& aDTMFString)
1.343 + */
1.344 + virtual void PlayDTMFStringL(const TDesC& aDTMFString)=0;
1.345 +
1.346 + /**
1.347 + This must provide an implementation as defined by CMMFDevSound::PlayToneSequenceL(const TDesC8& aData)
1.348 +
1.349 + @param aData The tone sequence in a descriptor.
1.350 +
1.351 + @see CMMFDevSound::PlayToneSequenceL(const TDesC8& aData)
1.352 + */
1.353 + virtual void PlayToneSequenceL(const TDesC8& aData)=0;
1.354 +
1.355 + /**
1.356 + This must provide an implementation as defined by CMMFDevSound::PlayFixedSequenceL(TInt aSequenceNumber)
1.357 +
1.358 + @param aSequenceNumber
1.359 + The index identifying the specific pre-defined tone sequence. Index
1.360 + values are relative to zero.
1.361 + This can be any value from zero to the value returned by a call to
1.362 + FixedSequenceCount() - 1.
1.363 + The function raises a panic if the sequence number is not within this
1.364 + range.
1.365 +
1.366 + @see CMMFDevSound::PlayFixedSequenceL(TInt aSequenceNumber)
1.367 + @see FixedSequenceCount()
1.368 + */
1.369 + virtual void PlayFixedSequenceL(TInt aSequenceNumber)=0;
1.370 +
1.371 + /**
1.372 + This must provide an implementation as defined by
1.373 + CMMFDevSound::SetToneRepeats(TInt aRepeatCount,
1.374 + const TTimeIntervalMicroSeconds& aRepeatTrailingSilence)
1.375 +
1.376 + @param aRepeatCount
1.377 + The number of times the tone, together with the trailing silence,
1.378 + is to be repeated. If this is set to KMdaRepeatForever, then the
1.379 + tone, together with the trailing silence, is repeated indefinitely
1.380 + or until Stop() is called. If this is set to zero, then the tone is
1.381 + not repeated.
1.382 + @param aRepeatTrailingSilence
1.383 + An interval of silence which will be played after each tone.
1.384 + Supported only during tone playing.
1.385 +
1.386 + @see CMMFDevSound::SetToneRepeats(TInt aRepeatCount,
1.387 + const TTimeIntervalMicroSeconds& aRepeatTrailingSilence)
1.388 + */
1.389 + virtual void SetToneRepeats(TInt aRepeatCount,
1.390 + const TTimeIntervalMicroSeconds& aRepeatTrailingSilence)=0;
1.391 +
1.392 + /**
1.393 + This must provide an implementation as defined by
1.394 + CMMFDevSound::(TTimeIntervalMicroSeconds32& aToneOnLength,
1.395 + TTimeIntervalMicroSeconds32& aToneOffLength,
1.396 + TTimeIntervalMicroSeconds32& aPauseLength)
1.397 +
1.398 + @param aToneOnLength
1.399 + The period over which the tone will be played. If this is set to
1.400 + zero, then the tone is not played.
1.401 + @param aToneOffLength
1.402 + The period over which the no tone will be played.
1.403 + @param aPauseLength
1.404 + The period over which the tone playing will be paused.
1.405 +
1.406 + @see CMMFDevSound::(TTimeIntervalMicroSeconds32& aToneOnLength,
1.407 + TTimeIntervalMicroSeconds32& aToneOffLength,
1.408 + TTimeIntervalMicroSeconds32& aPauseLength)
1.409 + */
1.410 + virtual void SetDTMFLengths(TTimeIntervalMicroSeconds32& aToneOnLength,
1.411 + TTimeIntervalMicroSeconds32& aToneOffLength,
1.412 + TTimeIntervalMicroSeconds32& aPauseLength)=0;
1.413 +
1.414 + /**
1.415 + This must provide an implementation as defined by
1.416 + CMMFDevSound::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
1.417 +
1.418 + @param aRampDuration
1.419 + The period over which the volume is to rise. A zero value causes
1.420 + the tone sample to be played at the normal level for the full
1.421 + duration of the playback. A value, which is longer than the duration
1.422 + of the tone sample means that the sample never reaches its normal
1.423 + volume level.
1.424 +
1.425 + @see CMMFDevSound::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
1.426 + */
1.427 + virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)=0;
1.428 +
1.429 + /**
1.430 + This must provide an implementation as defined by
1.431 + CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings& aPrioritySettings)
1.432 +
1.433 + @param aPrioritySettings
1.434 + A class type representing the client's priority, priority preference and state.
1.435 +
1.436 + @see CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings& aPrioritySettings)
1.437 + */
1.438 + virtual void SetPrioritySettings(const TMMFPrioritySettings& aPrioritySettings)=0;
1.439 +
1.440 + /**
1.441 + This must provide an implementation as defined by CMMFDevSound::CustomInterface(TUid aInterfaceId)
1.442 +
1.443 + @param aInterfaceId
1.444 + The interface UID, defined with the custom interface.
1.445 +
1.446 + @return A pointer to the interface implementation, or NULL if the device does not
1.447 + implement the interface requested. The return value must be cast to the
1.448 + correct type by the user.The user should be careful while caching the custom interface pointer,
1.449 + as in some situations the lower level custom interface pointer may become NULL
1.450 +
1.451 + @see CMMFDevSound::CustomInterface(TUid aInterfaceId)
1.452 + */
1.453 + virtual TAny* CustomInterface(TUid aInterfaceId)=0;
1.454 +
1.455 + /**
1.456 + This must provide an implementation as defined by CMMFDevSound::FixedSequenceCount()
1.457 +
1.458 + @return The fixed sequence count. This value is implementation dependent but is always greater
1.459 + than or equal to zero.
1.460 +
1.461 + @see CMMFDevSound::FixedSequenceCount()
1.462 + */
1.463 + virtual TInt FixedSequenceCount()=0;
1.464 +
1.465 + /**
1.466 + This must provide an implementation as defined by CMMFDevSound::FixedSequenceName(TInt aSequenceNumber)
1.467 +
1.468 + @param aSequenceNumber
1.469 + The index identifying the specific pre-defined tone sequence. Index values are relative
1.470 + to zero. This can be any value from zero to the value returned by a call to
1.471 + FixedSequenceCount() - 1.
1.472 + The function raises a panic if sequence number is not within this
1.473 + range.
1.474 +
1.475 + @return A reference to a Descriptor containing the fixed sequence name indexed by
1.476 + aSequenceNumber.
1.477 +
1.478 + @see CMMFDevSound::FixedSequenceName(TInt aSequenceNumber)
1.479 + @see FixedSequenceCount()
1.480 + */
1.481 + virtual const TDesC& FixedSequenceName(TInt aSequenceNumber)=0;
1.482 +
1.483 + /**
1.484 + This must provide an implementation as defined by
1.485 + CMMFDevSound::GetSupportedInputDataTypesL(RArray<TFourCC>& aSupportedDataTypes,
1.486 + const TMMFPrioritySettings& aPrioritySettings) const
1.487 +
1.488 + @param aSupportedDataTypes
1.489 + The array of supported data types that will be filled in by this function.
1.490 + The supported data types of the DevSound are in the form of an array
1.491 + of TFourCC codes. Any existing entries in the array will be overwritten on
1.492 + calling this function. If no supported data types are found given the priority
1.493 + settings, then the aSupportedDatatypes array will have zero entries.
1.494 + @param aPrioritySettings
1.495 + The priority settings used to determine the supported datatypes. Note this
1.496 + does not set the priority settings. For input datatypes the iState member
1.497 + of the priority settings would be expected to be either
1.498 + EMMFStatePlaying or EMMFStatePlayingRecording. The priority settings may
1.499 + effect the supported datatypes depending on the audio routing.
1.500 +
1.501 + @see CMMFDevSound::GetSupportedInputDataTypesL(RArray<TFourCC>& aSupportedDataTypes,
1.502 + const TMMFPrioritySettings& aPrioritySettings) const
1.503 + */
1.504 + virtual void GetSupportedInputDataTypesL(RArray<TFourCC>& aSupportedDataTypes, const TMMFPrioritySettings& aPrioritySettings) const=0;
1.505 +
1.506 + /**
1.507 + This must provide an implementation as defined by
1.508 + CMMFDevSound::GetSupportedOutputDataTypesL(RArray<TFourCC>& aSupportedDataTypes, const TMMFPrioritySettings& aPrioritySettings) const
1.509 +
1.510 + @param aSupportedDataTypes
1.511 + The array of supported data types that will be filled in by this function.
1.512 + The supported datatypes of the DevSound are in the form of an array
1.513 + of TFourCC codes.
1.514 + Any existing entries in the array will be overwritten on calling this function.
1.515 + If no supported datatypes are found given the priority settings, then
1.516 + the aSupportedDatatypes array will have zero entries.
1.517 + @param aPrioritySettings
1.518 + The priority settings used to determine the supported data types. Note this
1.519 + does not set the priority settings. For output data types the iState member
1.520 + of the priority settings would expected to be either
1.521 + EMMFStateRecording or EMMFStatePlayingRecording. The priority settings may
1.522 + effect the supported datatypes depending on the audio routing.
1.523 +
1.524 + @see CMMFDevSound::GetSupportedOutputDataTypesL(RArray<TFourCC>& aSupportedDataTypes, const TMMFPrioritySettings& aPrioritySettings) const
1.525 + */
1.526 + virtual void GetSupportedOutputDataTypesL(RArray<TFourCC>& aSupportedDataTypes, const TMMFPrioritySettings& aPrioritySettings) const=0;
1.527 +
1.528 + };
1.529 +
1.530 +#endif // DEVSOUNDPLUGIN_H