diff -r cad71a31b7fc -r e36f3802f733 srsf/vcommandexecutor/inc/nssvcapplauncher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/srsf/vcommandexecutor/inc/nssvcapplauncher.h Wed Sep 01 12:29:17 2010 +0100 @@ -0,0 +1,290 @@ +/* +* Copyright (c) 2006 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: Does the application launching of the recognized voice command +* +*/ + + +#ifndef __NSSVCAPPLAUNCHER_H__ +#define __NSSVCAPPLAUNCHER_H__ + +// INCLUDES +//#include "AppControllerConstants.h" +#include "nssvcapplauncher.hrh" +#include +#include +#include +#include // RResourceFile + +#include + +#include +#include + +// FORWARD DECLARATIONS +class RFs; +class RResourceFile; + +// CLASS DECLARATION + +/** +* This is the implementation class for launching applications and initiating profiles. +* @lib AppController.lib +* @since 3.0 +*/ + +class CNssVCAppLauncher : public CBase, public MTtsClientUtilityObserver, public MRemConCoreApiControllerObserver + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CNssVCAppLauncher* NewL(); + + /** + * Destructor. + */ + virtual ~CNssVCAppLauncher(); + + public: // New functions + + /** + * Checks the id and calls the appropriate function. + * @since Averell 2.0 + * @param aCommandId ID of command to be executed. + * @return TInt KErrNone if OK, else value indicating error situation. + */ + TInt ExecuteCommandL( TUint aCommandId ); + + public: // Functions from base classes + + // From MTtsClientUtilityObserver + void MapcPlayComplete( TInt aError ); + + // From MTtsClientUtilityObserver + void MapcInitComplete( TInt aError, + const TTimeIntervalMicroSeconds& aDuration ); + + // Not implemented + void MapcCustomCommandEvent( TInt /*aEvent*/, TInt /*aError*/ ) {}; + + /** + A response has been received. + @param aOperationId The operation ID. The response is to a previous + command of this type. + @param The response error. + */ + void MrccacoResponse( TRemConCoreApiOperationId aOperationId, TInt aError ); + + + private: // Constructors + + /** + * C++ default constructor. + */ + CNssVCAppLauncher(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: // New functions + + /** + * Launches calendars day view to a selected day. + * @since 3.0 + * @param day Which day will be opened in the wiew: + today | tomorrow | monday | tuesday | ... + * @return void + */ + void CalendarDayViewL( const TInt aDay ); + + /** + * Launches calendars week view to a selected week. + * @since 3.0 + * @param week Which week will be opened in the wiew: + this week | next week + * @return void + */ + void CalendarWeekViewL( const TInt aWeek ); + + /** + * Launches calendars month view to a selected month. + * @since 3.0 + * @param month Which month will be opened in the wiew: + this month | next month | january | february | ... + * @return void + */ + void CalendarMonthViewL( const TInt aMonth ); + + /** + * Opens browser with the user defined homepage. + * @since 3.0 + * @return void + */ + void OpenHomepageL(); + + /** + * Activates SMS reader + * @since 3.0 + * @param aAppUid UID for SMS reader + * @return + */ + TInt SMSReaderL( const TUid aAppUid ); + + /** + * Provides the answer to the voice command "What time is it?" + * @since 3.0 + * @return void + */ + void StatusTimeL(); + + /** + * Provides the answer to the voice command "Who is my operator?" + * @since 3.0 + * @return void + */ + void StatusOperatorL(); + + /** + * Provides the answer to the voice command "What is the battery strength?" + * @since 3.0 + * @return void + */ + void StatusBatteryL(); + + /** + * Provides the answer to the voice command "What is the signal strength?" + * @since 3.0 + * @return void + */ + void StatusSignalL(); + + /** + * Performs text to speech answer for a status query. + * @since 3.0 + * @return void + */ + void PlaybackStatusInfoL(); + + /** + * Connects to RApaLsSession. + * @since 3.0 + * @return void + */ + void CreateApaConnectionL(); + + /* Activates an instance of an application. + * @since 3.0 + * @param aUid Application UID + * @param aCommandLine Command line parameters. + * @return void + */ + void ActivateAppInstanceL( const TUid aUid, + const TDesC16* aCmdLine = NULL ); + + /** + * Used to launch applications. Checks whether an instance of the launched + * application is already running. + * @since 3.0 + * @param aUid The Uid of the specific application. + * @param aCommandLine Command line parameters. + * @param aMultipleInstances If true, the application is activated + * in multiple instances. + * @return void + */ + void ActivateAppL( const TUid aUid, + const TDesC16* aCmdLine = NULL, + TBool aMultipleInstances = EFalse ); + + /** + * Tells whether it is am or pm. + * @since 3.0 + * @param aTime Current time + * @return TTimeOfDay enum value for am or pm is put here + */ + void GetAmOrPmL( const TTime& aTime, TAmPm& aTod ); + + /** + * Gets network operator's name. + * @since 3.0 + * @param aOperator The name of the operator will be put here + * if it is found. + * @return void + */ + void GetOperatorL( TDesC*& aOperator ); + + /** + * Gets the battery strength. + * @since 3.0 + * @param aBattStrength The battery strength will be put here + * return void + */ + void GetBatteryStrengthL( TSpokenStatusInfo& aBattStrength ); + + /** + * Gets the signal strength. + * @since 3.0 + * @param aSignalStrength The signal strength will be put here + * @return void + */ + void GetSignalStrengthL( TSpokenStatusInfo& aSignalStrength ); + + /** + * Gets the name of the currently selected TSY. + * @since 3.0 + * @param aTSYName The name of the currently selected TSY will be put + * here. + * @return void + */ + void GetTSYNameL( TDes& aTSYName ); + + /** + * Executes a media command using Symbian Remote Control FW. + * @since 3.0 + * @param aCommandId The media command to be executed + * @return void + */ + void ExecuteMediaCommandL( TUint aMediaCommandId ); + + /* + * Gets localized string from the resource file for text-to-speech + * status info. + * @since 3.0 + * @param aStringId The string which we want + * @param aString Localized string will be put here + */ + void GetLocalizedStringL( TSpokenStatusInfo aStringId, HBufC*& aString ); + + + private: // Data + + RApaLsSession* iApaLsSession; + + // Text to speech stuff + CTtsUtility* iTts; + CTtsParsedText* iParsedText; + TTtsStyle iStyle; + // Answer for a status query + HBufC* iStatusInfo; + + // Wait loop for TTS callbacks + CActiveSchedulerWait iWait; + }; + +#endif // __NSSVCAPPLAUNCHER_H__ + +// End of File \ No newline at end of file