--- a/tsrc/telephonyaudioroutingstub/inc/telephonyaudiorouting.h Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef TELEPHONYAUDIOROUTING_H
-#define TELEPHONYAUDIOROUTING_H
-
-#include <e32base.h>
-
-class MTelephonyAudioRoutingObserver;
-
-class CTelephonyAudioRouting
- {
-
- public: // DATA TYPES
-
- //Output types
- enum TAudioOutput
- {
- ENotActive,
- ENone,
- EHandset,
- ELoudspeaker,
- EWiredAudioAccessory,
- EBTAudioAccessory,
- ETTY
- };
-
- public:
-
-
- /**
- * Factory interface returning a new instance of CTelephonyAudioRouting.
- *
- * If the server is not created by the Adaptation, this leaves with KErrNotReady.
- * If the client does not have MultimediaDD capability, this leaves with
- * KErrPermissionDenied.
- *
- * Leaves on failure.
- *
- * @since Series 60 3.1
- */
- static CTelephonyAudioRouting* NewL(
- MTelephonyAudioRoutingObserver& aObserver );
-
- ~CTelephonyAudioRouting();
-
- /**
- * Returns array of currently available outputs.
- * The array contains list of following outputs depending on whether the
- * output is available or not at the time of query:
- * - EHandset
- * - ELoudspeaker
- * - EWiredAudioAccessory,
- * - EWiredAccessory,
- * - EBTAudioAccessory
- * - ETTY
- * Audio can be routed to any of the available outputs in the list.
- *
- * @since Series 60 3.1
- * @param none.
- * @return TArray<TAudioOutput>& Array of available outputs.
- */
- const TArray<TAudioOutput>& AvailableOutputs();
-
- /**
- * Returns the current output configured by the client application to play
- * telephony audio.
- * Possible values are:
- * - ENotActive : If output has not been set by any or one of the
- * telephony apps has called SetOutputL(ENotActive) successfully.
- * - ENone : If user has destroyed audio link by long key press on the
- * BT device.
- * - EHandset or ELoudspeaker or EWiredAudioAccessory or
- * EBTAudioAccessory or ETTY depending on the last successful
- * SetOutputL() call. EBTAudioAccessory is also returned when adaptation
- * routes audio from device to BT accessory automatically when user
- * initiated long key press event occurs.
- *
- * @since Series 60 3.1
- * @param none.
- * @return TAudioOutput Current output.
- */
- TAudioOutput Output();
-
- /**
- * Sends an asynchronous request to Adaptation to set the output
- * where telephony audio will be routed. This request is completed only
- * when the application receives
- * MTelephonyAudioRoutingObserver::SetOutputComplete callback.
- *
- * If MTelephonyAudioRoutingObserver::SetOutputComplete returns KErrNone,
- * aOutput requested by this application is configured by Adaptation.
- * Otherwise there was error configuring aOutput and application should
- * call CTelephonyAudioRouting::Output to get the active output.
- *
- * Leaves on following cases:
- * - System wide error code when failure to send request.
- * - KErrArgument when parameter is ENone.
- * - KErrHardwareNotAvailable if aOutput is not in the list of available
- * outputs.
- *
- * @since Series 60 3.1
- * @param aOutput : output requested by application. This can only be any
- * of the outputs from AvailableOutputs() list or ENotActive.
- * @return none.
- */
- void SetOutputL( TAudioOutput aOutput = ENotActive );
-
- /**
- * Returns the second last output that was successfully configured to
- * play telephony audio.
- * Possible values are:
- * - ENotActive : If output had not been set or one of the telephony
- * apps had previously called SetOutputL(ENotActive)
- * successfully.
- * - EHandset or ELoudspeaker or EWiredAudioAccessory or
- * EBTAudioAccessory or ETTY depending on the second last successful
- * SetOutputL() call.
- *
- * @since Series 60 3.1
- * @param none.
- * @return TAudioOutput Previous output that was configured for telephony
- * audio. ENone will never be returned since telephony apps cannot call
- * SetOutputL(ENone).
- */
- TAudioOutput PreviousOutput();
-
- /*
- * Sends the Show Note mode to server along with the next SetOutputL()
- * request.
- *
- * After SetOutputL() request from the Application is succesfully
- * processed by the server and application receives SetOutputComplete()
- * callback with KErrNone, it can query Show Note mode sent to server by
- * calling GetShowNote().
- *
- * Other observers wanting to query Show Note mode can call GetShowNote()
- * after receiving OutputChanged() callback.
- *
- * @since Series 60 3.1
- * @param TBool aMode Show Note mode. ETrue or EFalse.
- * @return KErrNone if succesfull, otherwise system-wide error code.
- */
- TInt SetShowNote( TBool aMode );
-
- /*
- * Returns the the Show Note mode for the last succesfully completed
- * SetOutputL() request.
- *
- * If the routing is initiated by the Adaptation with BT Long key press
- * this will return ETrue.
- *
- * Once the Show Note mode is sent to server along with the SetOutputL()
- * request, Show Note mode attribute for that client session will be
- * reset to EFalse. GetShowNote() function for this client session will
- * return EFalse until SetOutputL() request is completed and the observer
- * receives OutputComplete() callback. If there is no error completing
- * the request, GetShowNote() returns the Show Note value set by the
- * Application. If there is error completing the request, GetShowNote()
- * will return EFalse.
- *
- * For all other observers, After they receive OutputChanged() callback,
- * GetShowNote() will return the Show Note value set by the Application
- * that called SetOutputL().
- *
- * @since Series 60 3.1
- * @param TBool aMode. On return of this function will contain
- * Show Note mode. EFalse or ETrue.
- * @return KErrNone if succesfull, otherwise system-wide error code.
- */
- TInt GetShowNote( TBool& aMode );
-
- private:
-
- CTelephonyAudioRouting( MTelephonyAudioRoutingObserver& aObserver );
- void ConstructL();
-
- public: // stub data
-
- MTelephonyAudioRoutingObserver& iObserver;
-
- RArray<TAudioOutput> iAvailableOutputs;
- TAudioOutput iCurrentOutput;
- TAudioOutput iPreviousOutput;
-
- TBool iShowNoteMode;
-
- // If this variable is set to other value than KErrNone, next operation
- // with no-fail quarantee fails either by leaving or by using return
- // code. Failing code is value of variable. Operation requested is not
- // completed. Variable is set to KErrNone before failing simulation.
- TInt iForceFailWithCode;
- };
-
-
-// CLASS DECLARATION
-
-/**
-* This class defines the TAR default data structure.
-*
-* @lib TelephonyAudioRouting.lib
-* @since 3.0
-*/
-class TTelephonyAudioRoutingDefaultParams
- {
- public:
-
- /**
- * Constructor.
- */
- TTelephonyAudioRoutingDefaultParams() : iCurrentAudio(CTelephonyAudioRouting::ENotActive),iPreviousAudio(CTelephonyAudioRouting::ENotActive),iShowNoteMode(EFalse)
- {}
-
- CTelephonyAudioRouting::TAudioOutput iCurrentAudio;
- CTelephonyAudioRouting::TAudioOutput iPreviousAudio;
- TBool iShowNoteMode;
-
- };
-
-
-
-#endif // TELEPHONYAUDIOROUTING_H
-