Update contrib.
2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: This is the definition of the CAudioOutput class.
25 #include <mdaaudiotoneplayer.h>
26 #include <mdaaudiooutputstream.h>
27 #include <midiclientutility.h>
28 #include <MCustomInterface.h>
30 // FORWARD DECLARATIONS
31 class MAudioOutputObserver;
33 class CMdaAudioPlayerUtility;
34 class CMdaAudioRecorderUtility;
36 class CDrmPlayerUtility;
37 class CVideoPlayerUtility;
41 * ?one_line_short_description.
42 * ?other_description_lines
44 class CAudioOutput : public CBase
47 enum TAudioOutputPreference
56 public: // Constructors and destructor
59 * Two-phased constructor.
61 IMPORT_C static CAudioOutput* NewL(CMdaAudioPlayerUtility& aUtility);
63 * Factory function for creating audio output object.
65 * @param CMdaAudioRecorderUtility& - a reference to CMdaAudioRecorderUtility object
66 * @return pointer to CAudioOutput object
68 IMPORT_C static CAudioOutput* CAudioOutput::NewL(CMdaAudioRecorderUtility& aUtility, TBool aRecordStream);
70 * Factory function for creating audio output object.
72 * @param CMdaAudioOutputStream& - a reference to CMdaAudioOutputStream object
73 * @return pointer to CAudioOutput object
75 IMPORT_C static CAudioOutput* CAudioOutput::NewL(CMdaAudioOutputStream& aUtility);
77 * Factory function for creating audio output object.
79 * @param CMdaAudioToneUtility& - a reference to CMdaAudioToneUtility object
80 * @return pointer to CAudioOutput object
82 IMPORT_C static CAudioOutput* CAudioOutput::NewL(CMdaAudioToneUtility& aUtility);
84 * Factory function for creating audio output object.
86 * @param CMMFDevSound& - a reference to CMMFDevSound object
87 * @return pointer to CAudioOutput object
89 IMPORT_C static CAudioOutput* CAudioOutput::NewL(CMMFDevSound& aDevSound);
91 * Factory function for creating audio output object.
93 * @param MCustomInterface& - a reference to MCustomInterface object
94 * @return pointer to CAudioOutput object
96 IMPORT_C static CAudioOutput* CAudioOutput::NewL(MCustomInterface& aUtility);
98 * Factory function for creating audio output object.
100 * @param MCustomCommand& - a reference to MCustomCommand object
101 * @return pointer to CAudioOutput object
103 IMPORT_C static CAudioOutput* CAudioOutput::NewL(MCustomCommand& aUtility);
105 * Factory function for creating audio output object.
107 * @param CMidiClientUtility& - a reference to CMidiClientUtility object
108 * @return pointer to CAudioOutput object
110 IMPORT_C static CAudioOutput* CAudioOutput::NewL(CMidiClientUtility& aUtility);
112 * Factory function for creating audio output object.
114 * @param CDrmPlayerUtility& - a reference to CDrmPlayerUtility object
115 * @return pointer to CAudioOutput object
117 IMPORT_C static CAudioOutput* /*CAudioOutput::*/NewL(CDrmPlayerUtility& aUtility);
120 * Factory function for creating audio output object.
122 * @param CVideoPlayerUtility& - a reference to CVideoPlayerUtility object
123 * @return pointer to CAudioOutput object
125 IMPORT_C static CAudioOutput* /*CAudioOutput::*/NewL(CVideoPlayerUtility& aUtility);
128 * ?member_description.
129 * @param ?arg1 ?description
130 * @return ?description
132 virtual TAudioOutputPreference AudioOutput() = 0;
135 * ?member_description.
136 * @param ?arg1 ?description
137 * @return ?description
139 virtual TAudioOutputPreference DefaultAudioOutput() = 0;
142 * ?member_description.
143 * @param ?arg1 ?description
144 * @return ?description
146 virtual void RegisterObserverL( MAudioOutputObserver& aObserver ) = 0;
149 * ?member_description.
150 * @param ?arg1 ?description
151 * @return ?description
153 virtual TBool SecureOutput() = 0;
156 * ?member_description.
157 * @param ?arg1 ?description
158 * @return ?description
160 virtual void SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference ) = 0;
163 * ?member_description.
164 * @param ?arg1 ?description
165 * @return ?description
167 virtual void SetSecureOutputL( TBool aSecure = EFalse ) = 0;
170 * ?member_description.
171 * @param ?arg1 ?description
172 * @return ?description
174 virtual void UnregisterObserver( MAudioOutputObserver& aObserver ) = 0;
178 #endif // CAUDIOOUTPUT_H