os/mm/mm_plat/audio_routing_proxy_api/inc/AudioOutputProxy.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: Audio Output Proxy header
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
#ifndef CAUDIOOUTPUTPROXY_H
sl@0
    20
#define CAUDIOOUTPUTPROXY_H
sl@0
    21
sl@0
    22
//  INCLUDES
sl@0
    23
#include "AudioOutput.h"
sl@0
    24
#include <mmf/common/mmfcontrollerframework.h>
sl@0
    25
#include <MCustomCommand.h>
sl@0
    26
sl@0
    27
// FORWARD DECLARATIONS
sl@0
    28
class CCustomCommandUtility;
sl@0
    29
class CCustomInterfaceUtility;
sl@0
    30
class CAudioOutputProxyAO;
sl@0
    31
// CLASS DECLARATION
sl@0
    32
sl@0
    33
/**
sl@0
    34
*  ?one_line_short_description.
sl@0
    35
*  ?other_description_lines
sl@0
    36
*/
sl@0
    37
class CAudioOutputProxy: public CAudioOutput
sl@0
    38
	{
sl@0
    39
	friend class CAudioOutput;
sl@0
    40
    public:  // Constructors and destructor
sl@0
    41
sl@0
    42
		IMPORT_C static CAudioOutputProxy* NewL(TMMFMessageDestinationPckg aMessageHandler, 
sl@0
    43
												MCustomCommand& aCustomCommand, 
sl@0
    44
												CCustomInterfaceUtility* aCustomInterfaceUtility);
sl@0
    45
		
sl@0
    46
		/**
sl@0
    47
		* Destructor.
sl@0
    48
		*/
sl@0
    49
		virtual ~CAudioOutputProxy();
sl@0
    50
sl@0
    51
		/**
sl@0
    52
        * ?member_description.
sl@0
    53
        * @since Series 60 3.0
sl@0
    54
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
    55
        * @return void
sl@0
    56
        */
sl@0
    57
		IMPORT_C static const TUid Uid();
sl@0
    58
		
sl@0
    59
		/**
sl@0
    60
        * ?member_description.
sl@0
    61
        * @since Series 60 3.0
sl@0
    62
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
    63
        * @return void
sl@0
    64
        */
sl@0
    65
		virtual TAudioOutputPreference AudioOutput();
sl@0
    66
sl@0
    67
		/**
sl@0
    68
        * ?member_description.
sl@0
    69
        * @since Series 60 3.0
sl@0
    70
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
    71
        * @return void
sl@0
    72
        */
sl@0
    73
		virtual TAudioOutputPreference DefaultAudioOutput();
sl@0
    74
sl@0
    75
		/**
sl@0
    76
        * ?member_description.
sl@0
    77
        * @since Series 60 3.0
sl@0
    78
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
    79
        * @return void
sl@0
    80
        */
sl@0
    81
		virtual void RegisterObserverL( MAudioOutputObserver& aObserver );
sl@0
    82
sl@0
    83
		/**
sl@0
    84
        * ?member_description.
sl@0
    85
        * @since Series 60 3.0
sl@0
    86
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
    87
        * @return void
sl@0
    88
        */
sl@0
    89
		virtual TBool SecureOutput();
sl@0
    90
sl@0
    91
		/**
sl@0
    92
        * ?member_description.
sl@0
    93
        * @since Series 60 3.0
sl@0
    94
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
    95
        * @return void
sl@0
    96
        */
sl@0
    97
		virtual void SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference );
sl@0
    98
sl@0
    99
		/**
sl@0
   100
        * ?member_description.
sl@0
   101
        * @since Series 60 3.0
sl@0
   102
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
   103
        * @return void
sl@0
   104
        */
sl@0
   105
		virtual void SetSecureOutputL( TBool aSecureOutput = EFalse );
sl@0
   106
sl@0
   107
		/**
sl@0
   108
        * ?member_description.
sl@0
   109
        * @since Series 60 3.0
sl@0
   110
        * @param aFlag EFalse=unregistered, ETrue=registered
sl@0
   111
        * @return void
sl@0
   112
        */
sl@0
   113
		virtual void UnregisterObserver( MAudioOutputObserver& aObserver );
sl@0
   114
sl@0
   115
	protected:
sl@0
   116
		/**
sl@0
   117
		* C++ default constructor.
sl@0
   118
		*/
sl@0
   119
		CAudioOutputProxy(TMMFMessageDestinationPckg aMessageHandler,
sl@0
   120
								MCustomCommand& aCustomCommand, 
sl@0
   121
								CCustomInterfaceUtility* aCustomInterfaceUtility);
sl@0
   122
sl@0
   123
	private:
sl@0
   124
		/**
sl@0
   125
		* EPOC constructor.
sl@0
   126
		*/
sl@0
   127
		void ConstructL();
sl@0
   128
sl@0
   129
    private:    // Data
sl@0
   130
		MCustomCommand*                	      iCustomCommand;
sl@0
   131
		TAudioOutputPreference                iDefaultOutput;
sl@0
   132
		TAudioOutputPreference                iOutput;
sl@0
   133
		TBool                                 iSecureOutput;
sl@0
   134
		MAudioOutputObserver*		  		  iObserver;
sl@0
   135
		TMMFMessageDestinationPckg            iMessageHandler;
sl@0
   136
		CAudioOutputProxyAO*				  iAsyncSender;
sl@0
   137
		TBool								  iRegistered;
sl@0
   138
		CCustomInterfaceUtility* 			  iCustomInterfaceUtility;
sl@0
   139
sl@0
   140
	};
sl@0
   141
sl@0
   142
#endif      // CAUDIOINPUTPROXY_H
sl@0
   143
            
sl@0
   144
// End of File