Update contrib.
1 // Copyright (c) 2006-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef AUDIOSTREAMADAPTATION_H
17 #define AUDIOSTREAMADAPTATION_H
20 #include <ecom/ecom.h>
22 #include <a3f/a3fbase.h>
28 Implementation of the Audio Component Version
32 class TAudioComponentInfo
41 Implementation of the Stream Adaptation
45 class MAudioStreamAdaptationObserver;
46 class CFourCCConvertor;
50 const TUid KAudioComponentManagerUid = {0x10283462};
53 const TInt KServerStopping = 0x01;
54 const TInt KPreemptionRequest = 0x02;
60 This is the interface to AudioStreamAdaptation.
61 This is represent the stream loaded when the MMRC server
62 selects the adaptation.
64 This functionality includes audio playback and recording using different formats
65 CAudioStreamAdaptation provides the access point for clients to Adaptation Layer.
66 It is responsible for initializing connections to various subsystems
67 in audio adaptation. These include setting up and managing connection
68 to the low level audio adaptation API implementations. The connections are then made
71 class CAudioStreamAdaptation : public CBase
77 Constructs, and returns a pointer to, a new CAudioComponentManager object.
79 @return A pointer to the CAudioComponentManager instance.
81 static CAudioStreamAdaptation* NewL(TUid aType);
86 Deletes all objects and releases all resource owned by this instance.
88 virtual ~CAudioStreamAdaptation();
92 Returns if a message was passed through the adaptation.
97 Desired Chain after message
98 @return An error code indicating if the function call was successful. KErrNone on success, otherwise
99 another of the system-wide error codes.
102 virtual TInt Message(MLogicalChain& aCurrentChain, MLogicalChain& aDesiredChain, MAudioContext& aContext, TInt aFlags) = 0;
105 Returns if a Audio Stream Observer was Registered.
107 @param MAudioStreamAdaptationObserver
108 Observer object witch will be registered
109 @return An error code indicating if the function call was successful. KErrNone on success, otherwise
110 another of the system-wide error codes.
113 virtual TInt RegisterAudioStreamObserver(MAudioStreamAdaptationObserver& aObserver) = 0 ;
116 Returns if a Audio Stream Observer was UnRegistered.
118 @param MAudioStreamAdaptationObserver
119 Observer object witch will be unregistered
122 virtual void UnregisterAudioStreamObserver(MAudioStreamAdaptationObserver& aObserver) = 0;
124 virtual void UnregisterAllAudioStreamObserver() = 0;
126 virtual void SetFourCC(const CFourCCConvertor& aFourCCConvertor) = 0;
131 /** iDtor_ID_Key Instance identifier key. When instance of an
132 * implementation is created by ECOM framework, the
133 * framework will assign UID for it. The UID is used in
134 * destructor to notify framework that this instance is
135 * being destroyed and resources can be released.
140 #include "audiostreamadaptation.inl"
142 #endif // C_AUDIOCOMPONENTMANAGER_H