Update contrib.
2 * Copyright (c) 2007 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: Audio Output Proxy header
19 #ifndef CAUDIOOUTPUTPROXY_H
20 #define CAUDIOOUTPUTPROXY_H
23 #include "AudioOutput.h"
24 #include <mmf/common/mmfcontrollerframework.h>
25 #include <MCustomCommand.h>
27 // FORWARD DECLARATIONS
28 class CCustomCommandUtility;
29 class CCustomInterfaceUtility;
30 class CAudioOutputProxyAO;
34 * ?one_line_short_description.
35 * ?other_description_lines
37 class CAudioOutputProxy: public CAudioOutput
39 friend class CAudioOutput;
40 public: // Constructors and destructor
42 IMPORT_C static CAudioOutputProxy* NewL(TMMFMessageDestinationPckg aMessageHandler,
43 MCustomCommand& aCustomCommand,
44 CCustomInterfaceUtility* aCustomInterfaceUtility);
49 virtual ~CAudioOutputProxy();
52 * ?member_description.
53 * @since Series 60 3.0
54 * @param aFlag EFalse=unregistered, ETrue=registered
57 IMPORT_C static const TUid Uid();
60 * ?member_description.
61 * @since Series 60 3.0
62 * @param aFlag EFalse=unregistered, ETrue=registered
65 virtual TAudioOutputPreference AudioOutput();
68 * ?member_description.
69 * @since Series 60 3.0
70 * @param aFlag EFalse=unregistered, ETrue=registered
73 virtual TAudioOutputPreference DefaultAudioOutput();
76 * ?member_description.
77 * @since Series 60 3.0
78 * @param aFlag EFalse=unregistered, ETrue=registered
81 virtual void RegisterObserverL( MAudioOutputObserver& aObserver );
84 * ?member_description.
85 * @since Series 60 3.0
86 * @param aFlag EFalse=unregistered, ETrue=registered
89 virtual TBool SecureOutput();
92 * ?member_description.
93 * @since Series 60 3.0
94 * @param aFlag EFalse=unregistered, ETrue=registered
97 virtual void SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference );
100 * ?member_description.
101 * @since Series 60 3.0
102 * @param aFlag EFalse=unregistered, ETrue=registered
105 virtual void SetSecureOutputL( TBool aSecureOutput = EFalse );
108 * ?member_description.
109 * @since Series 60 3.0
110 * @param aFlag EFalse=unregistered, ETrue=registered
113 virtual void UnregisterObserver( MAudioOutputObserver& aObserver );
117 * C++ default constructor.
119 CAudioOutputProxy(TMMFMessageDestinationPckg aMessageHandler,
120 MCustomCommand& aCustomCommand,
121 CCustomInterfaceUtility* aCustomInterfaceUtility);
130 MCustomCommand* iCustomCommand;
131 TAudioOutputPreference iDefaultOutput;
132 TAudioOutputPreference iOutput;
134 MAudioOutputObserver* iObserver;
135 TMMFMessageDestinationPckg iMessageHandler;
136 CAudioOutputProxyAO* iAsyncSender;
138 CCustomInterfaceUtility* iCustomInterfaceUtility;
142 #endif // CAUDIOINPUTPROXY_H