sl@0: /* sl@0: * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: Audio Output Proxy header sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef CAUDIOOUTPUTPROXY_H sl@0: #define CAUDIOOUTPUTPROXY_H sl@0: sl@0: // INCLUDES sl@0: #include "AudioOutput.h" sl@0: #include sl@0: #include sl@0: sl@0: // FORWARD DECLARATIONS sl@0: class CCustomCommandUtility; sl@0: class CCustomInterfaceUtility; sl@0: class CAudioOutputProxyAO; sl@0: // CLASS DECLARATION sl@0: sl@0: /** sl@0: * ?one_line_short_description. sl@0: * ?other_description_lines sl@0: */ sl@0: class CAudioOutputProxy: public CAudioOutput sl@0: { sl@0: friend class CAudioOutput; sl@0: public: // Constructors and destructor sl@0: sl@0: IMPORT_C static CAudioOutputProxy* NewL(TMMFMessageDestinationPckg aMessageHandler, sl@0: MCustomCommand& aCustomCommand, sl@0: CCustomInterfaceUtility* aCustomInterfaceUtility); sl@0: sl@0: /** sl@0: * Destructor. sl@0: */ sl@0: virtual ~CAudioOutputProxy(); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: IMPORT_C static const TUid Uid(); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual TAudioOutputPreference AudioOutput(); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual TAudioOutputPreference DefaultAudioOutput(); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual void RegisterObserverL( MAudioOutputObserver& aObserver ); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual TBool SecureOutput(); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual void SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference ); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual void SetSecureOutputL( TBool aSecureOutput = EFalse ); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @since Series 60 3.0 sl@0: * @param aFlag EFalse=unregistered, ETrue=registered sl@0: * @return void sl@0: */ sl@0: virtual void UnregisterObserver( MAudioOutputObserver& aObserver ); sl@0: sl@0: protected: sl@0: /** sl@0: * C++ default constructor. sl@0: */ sl@0: CAudioOutputProxy(TMMFMessageDestinationPckg aMessageHandler, sl@0: MCustomCommand& aCustomCommand, sl@0: CCustomInterfaceUtility* aCustomInterfaceUtility); sl@0: sl@0: private: sl@0: /** sl@0: * EPOC constructor. sl@0: */ sl@0: void ConstructL(); sl@0: sl@0: private: // Data sl@0: MCustomCommand* iCustomCommand; sl@0: TAudioOutputPreference iDefaultOutput; sl@0: TAudioOutputPreference iOutput; sl@0: TBool iSecureOutput; sl@0: MAudioOutputObserver* iObserver; sl@0: TMMFMessageDestinationPckg iMessageHandler; sl@0: CAudioOutputProxyAO* iAsyncSender; sl@0: TBool iRegistered; sl@0: CCustomInterfaceUtility* iCustomInterfaceUtility; sl@0: sl@0: }; sl@0: sl@0: #endif // CAUDIOINPUTPROXY_H sl@0: sl@0: // End of File