epoc32/include/mmf/server/mmfdevsoundcustominterfacesupport.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/mmf/server/mmfdevsoundcustominterfacesupport.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/mmf/server/mmfdevsoundcustominterfacesupport.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -4,9 +4,9 @@
     1.4  // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5  // All rights reserved.
     1.6  // This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     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.symbianfoundation.org/legal/licencesv10.html".
    1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.12  //
    1.13  // Initial Contributors:
    1.14  // Nokia Corporation - initial contribution.
    1.15 @@ -16,13 +16,19 @@
    1.16  // Description:
    1.17  //
    1.18  
    1.19 +/**
    1.20 + @publishedAll
    1.21 + @released
    1.22 + @file
    1.23 +*/
    1.24 +
    1.25  #ifndef MMFDEVSOUNDCUSTOMINTERFACESUPPORT_H
    1.26  #define MMFDEVSOUNDCUSTOMINTERFACESUPPORT_H
    1.27  
    1.28 -const TUid KMmfUidDevSoundAudioResourceCustomInterface = {0x101FD9F3};
    1.29 -const TUid KMmfUidDevSoundEmptyBuffersCustomInterface = {0x1027379c};
    1.30 -const TUid KMmfUidDevSoundCancelInitializeCustomInterface = {0x102834D3};
    1.31 -const TUid KMmfUidDevSoundAudioClientThreadInfoCustomInterface = {0x102834A7};
    1.32 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
    1.33 +#include <mmf/server/mmfdevsoundcustominterfaceobserver.h>
    1.34 +#include <mmf/server/mmfdevsoundcustominterfacesupportclasses.h>
    1.35 +#endif
    1.36  
    1.37  /**
    1.38  @publishedAll
    1.39 @@ -83,162 +89,4 @@
    1.40  	virtual TInt WillResumePlay()=0;
    1.41  	};
    1.42  
    1.43 -/**
    1.44 -@publishedPartner
    1.45 -@prototype
    1.46 -
    1.47 -Custom Interface class providing support for emptying the play buffers.
    1.48 -*/
    1.49 -class MMMFDevSoundEmptyBuffers
    1.50 -	{	
    1.51 -public:
    1.52 -	
    1.53 -	/**
    1.54 -	Empties the play buffers below DevSound without causing the codec to be deleted.
    1.55 -
    1.56 -	@return An error code indicating if the function call was successful. KErrNone on success, KErrNotSupported 
    1.57 -			if called in record mode, otherwise another of the system-wide error codes.
    1.58 -	*/
    1.59 -	virtual TInt EmptyBuffers() = 0;
    1.60 -	};	
    1.61 -
    1.62 -/**
    1.63 -@publishedPartner
    1.64 -@prototype
    1.65 -
    1.66 -Custom Interface class providing support for canceling initialization.
    1.67 -*/
    1.68 -class MMMFDevSoundCancelInitialize
    1.69 -	{	
    1.70 -public:
    1.71 -	
    1.72 -	/** Cancels the initialization process of a CMMFDevSound object
    1.73 -
    1.74 -	@return An error code indicating if the function call was successful. 
    1.75 -			KErrNone on success,
    1.76 -			KerrNotReady if this is called before InitializeL() call or after      
    1.77 -			the object has been initialized, 
    1.78 -	*/
    1.79 -	virtual TInt CancelInitialize() = 0;
    1.80 -	};	
    1.81 -
    1.82 -/**
    1.83 -@internalComponent
    1.84 -
    1.85 -The class is a mixin and is intended to support for closing the Mux and Demux pair in a
    1.86 -DevSound Custom Interface. The function encapsulated by this class is called whenever the 
    1.87 -MMMFDevSoundCustomInterfaceDeMuxPlugin::RefreshL method leaves.
    1.88 -*/
    1.89 -class MMMFDevSoundCustomInterfaceObserver
    1.90 -	{	
    1.91 -public:
    1.92 -	
    1.93 -	/**
    1.94 -	Closes the Mux and Demux pair of a DevSound Custom Interface.
    1.95 -	*/
    1.96 -	virtual void CloseCustomInterface(TInt aIndex) = 0;
    1.97 -	};	
    1.98 -
    1.99 -/**
   1.100 -@publishedPartner
   1.101 -@released
   1.102 -
   1.103 -Custom Interface class providing support for setting the client thread info for devsound.
   1.104 -*/
   1.105 -class MAudioClientThreadInfo
   1.106 -	{	
   1.107 -public:
   1.108 -	/**
   1.109 -	Set client thread info for devsound if plugin implementation requires this info
   1.110 -	
   1.111 -	@param  aTid the required thread Id
   1.112 -	@return An error code indicating if the function call was successful.
   1.113 -
   1.114 -	@capability MultimediaDD
   1.115 -		A process requires MultimediaDD capability to make this call. 
   1.116 -	*/
   1.117 -	virtual TInt SetClientThreadInfo(TThreadId aTid) = 0;
   1.118 -	};	
   1.119 -
   1.120 -/*****************************************************************************/
   1.121 -/**
   1.122 -UID associated with the Custom interface MMMFDevSoundGetTimePlayed
   1.123 -
   1.124 -@publishedPartner
   1.125 -@released
   1.126 -*/
   1.127 -const TUid KMmfUidDevSoundTimePlayedCustomInterface = {0x10285CE4};
   1.128 -
   1.129 -/**
   1.130 -This class provides an interface to querying current play time from DevSound.
   1.131 -
   1.132 -@publishedPartner
   1.133 -@released
   1.134 -*/	
   1.135 -class MMMFDevSoundTimePlayed
   1.136 -	{
   1.137 -public:
   1.138 -	/** Retrieves the current play time from the audio renderer.
   1.139 -	@param  aTime
   1.140 -	        A reference to TTimeIntervalMicroSeconds object which will be filled with the current play time by this function.
   1.141 -	@return An error code indicating if the function call was successful. 
   1.142 -			KErrNone on success,
   1.143 -			KErrNotSupported if the underlying HwDevice does not support this custominterface
   1.144 -	*/
   1.145 -	virtual TInt GetTimePlayed(TTimeIntervalMicroSeconds& aTime) = 0;
   1.146 -	};
   1.147 -
   1.148 -/*****************************************************************************/
   1.149 -/**
   1.150 -UID associated with the Custom interface MMMFDevSoundQueryIgnoresUnderflow
   1.151 -
   1.152 -@publishedPartner
   1.153 -@released
   1.154 -*/
   1.155 -const TUid KMmfUidDevSoundQueryIgnoresUnderflowCustomInterface = {0x10285E7B};
   1.156 -
   1.157 -/**
   1.158 -This class provides an interface for querying DevSound whether it ignores the underflow errors from the sound driver.
   1.159 -@publishedPartner
   1.160 -@released
   1.161 -*/	
   1.162 -class MMMFDevSoundQueryIgnoresUnderflow
   1.163 -	{
   1.164 -public:
   1.165 -	/** Queries the devsound whether it ignores the underflow errors from the sound driver
   1.166 -	@return ETrue 	if the devsound ignores all the underflow errors from the sound driver except for the last buffer. That means DevSound
   1.167 -					propagates the underflow error from sound driver to its clients only when client sets the last buffer flag on the CMMFBuffer type buffer.
   1.168 -			EFalse 	if devsound propagates the underflow errors from the sound driver in all the cases
   1.169 -	*/
   1.170 -	virtual TBool QueryIgnoresUnderflow() = 0;
   1.171 -	};
   1.172 -
   1.173 -
   1.174 -const TUid KMmfUidDevSoundTruePauseCustomInterface = {0x1028643E};
   1.175 -
   1.176 -/**
   1.177 -This class provides an interface to be able to Resume from DevSound.
   1.178 -@publishedPartner
   1.179 -@release
   1.180 -*/	
   1.181 -class MMMFDevSoundTruePause
   1.182 -	{
   1.183 -public:
   1.184 -	/** Queries the devsound whether it supports True Pause or not
   1.185 -	This call is only valid when DevSound is initialized
   1.186 -	@return ETrue if the current DevSound configuration does support this feature
   1.187 -			EFalse otherwise
   1.188 -	*/
   1.189 -	virtual TBool IsResumeSupported() = 0;
   1.190 -
   1.191 -	/** Resume the playback, recording or tone playing that was paused
   1.192 -	@return An error code indicating if the function call was successful. 
   1.193 -			KErrNone on success,
   1.194 -			KErrNotReady when is DevSound is not in pause
   1.195 -			KErrNotSupported if the DevSound configuration does support this feature
   1.196 -	*/
   1.197 -	virtual TInt Resume() = 0;
   1.198 -	};
   1.199 -
   1.200 -
   1.201  #endif // MMFDEVSOUNDCUSTOMINTERFACESUPPORT_H