os/mm/inc/AudioOutputProxyAO.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  AudioOutput Proxy Active Object
    15 *
    16 */
    17 
    18 #ifndef CAUDIOOUTPUTPROXYAO_H
    19 #define CAUDIOOUTPUTPROXYAO_H
    20 
    21 //  INCLUDES
    22 #include <e32base.h>
    23 #include <mmf/common/mmfcontrollerframework.h>
    24 #include <MCustomCommand.h>
    25 // FORWARD DECLARATIONS
    26 class CCustomCommandUtility;
    27 class CAudioOutputProxy;
    28 //class CAudioOutput;
    29 
    30 // CLASS DECLARATION
    31 
    32 /**
    33 *  ?one_line_short_description.
    34 *  ?other_description_lines
    35 */
    36 class CAudioOutputProxyAO : public CActive
    37     {
    38     public:
    39         /**
    40         * Two-phased constructor.
    41         */
    42         static CAudioOutputProxyAO* NewL(CAudioOutput *aOutputProxy,MAudioOutputObserver& aObserver,MCustomCommand* aUtility);
    43 
    44         virtual ~CAudioOutputProxyAO();
    45 
    46 		/**
    47         * ?member_description.
    48         * @since Series 60 3.0
    49         * @param aDestination Handle of the message handler
    50         * @param aFunction Message handler function
    51         * @return void
    52         */
    53 		void SendAsyncMessage(const TMMFMessageDestinationPckg& aDestination,
    54 	                                      TInt aFunction );
    55 
    56 		/**
    57         * ?member_description.
    58         * @since Series 60 3.0
    59         * @param aFlag EFalse=unregistered, ETrue=registered
    60         * @return void
    61         */
    62 		void SetRegisterFlag(TBool aFlag);
    63 		
    64 		/**
    65         * ?member_description.
    66         * @since Series 60 3.0
    67         * @param aObserver Observer Instance
    68         * @return void
    69         */
    70 		void SetObserver(MAudioOutputObserver& aObserver);
    71 
    72 
    73     private:
    74 
    75         /**
    76         * C++ default constructor.
    77         */
    78         CAudioOutputProxyAO(CAudioOutput *aOutputProxy,MAudioOutputObserver& aObserver,MCustomCommand* aUtility);
    79 
    80         /**
    81         * By default Symbian 2nd phase constructor is private.
    82         */
    83         void ConstructL();
    84 
    85 		// Functions from base classes
    86 
    87         /**
    88         * From CActive ?member_description
    89         */
    90         void RunL();
    91 
    92         /**
    93         * From CActive ?member_description
    94         */
    95         void DoCancel();
    96 
    97 	private:
    98 		CAudioOutput*									iAudioOutputProxy;
    99 		MCustomCommand*							iCustomCommandUtility;
   100 		TPckgBuf<CAudioOutput::TAudioOutputPreference>	iCallbackData;
   101 		MAudioOutputObserver*							iObserver;
   102 		const TMMFMessageDestinationPckg*				iDestination;
   103 		TInt											iFunction;
   104 		TBool											iRegistered;
   105 
   106 
   107     };
   108 
   109 #endif 		// CAUDIOOUTPUTPROXYAO_H