satengine/SatServer/Commands/LaunchBrowserCmd/inc/CLaunchBrowserHandler.h
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/satengine/SatServer/Commands/LaunchBrowserCmd/inc/CLaunchBrowserHandler.h	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/*
-* Copyright (c) 2002-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:  LaunchBrowser command handler
-*
-*/
-
-
-#ifndef CLAUNCHBROWSERHANDLER_H
-#define CLAUNCHBROWSERHANDLER_H
-
-#include <etelsat.h>
-#include <etelpckt.h>
-#include <w32std.h>             // WsSession
-#include <apgtask.h>            // TApaTask
-#include <DocumentHandler.h>    // KWmlcHandler
-
-#include "CSatCommandHandler.h"
-#include "SatSTypes.h"          // TSatQuery
-
-class MSatUtils;
-class RCmManager;
-class RCmConnectionMethod;
-
-/**
- *  Command handler for LaunchBrowser command.
- *
- *  @lib LaunchBrowserCmd.lib
- *  @since S60 v3.0
- */
-class CLaunchBrowserHandler : public CSatCommandHandler
-    {
-    
-public:
-
-    static CLaunchBrowserHandler* NewL( MSatUtils* aUtils );
-
-    virtual ~CLaunchBrowserHandler();
-
-// from base class MSatCommand
-
-    /**
-     * From MSatCommand.
-     * Response from the client.
-     *
-     */
-    void ClientResponse();
-
-// from base class CSatCommandHandler
-
-    /**
-     * From CSatCommandHandler.
-     * Event notification.
-     *
-     * @param aEvent An event that is occured.
-     */
-    void Event( TInt aEvent );
-
-protected:
-
-// from base class CActive
-
-    /**
-     * From CActive.
-     * Cancels the usat request.
-     *
-     */
-    void DoCancel();
-    
-// from base class CSatCommandHandler
-
-    /**
-     * From CSatCommandHandler.
-     * Requests the command notification.
-     *
-     * @param aStatus Request status
-     */
-    void IssueUSATRequest( TRequestStatus& aStatus );
-
-    /**
-     * From CSatCommandHandler.
-     * Precheck before executing the command.
-     *
-     * @return TBool indicating command is currently allowed.
-     */
-    TBool CommandAllowed();
-
-    /**
-     * From CSatCommandHandler.
-     * Need for ui session.
-     *
-     * @return TBool indicating need of ui session.
-     */
-    TBool NeedUiSession();
-
-    /**
-     * From CSatCommandHandler.
-     * Called when USAT API notifies that command.
-     *
-     */
-    void HandleCommand();
-
-    /**
-     * From CSatCommandHandler.
-     * Indicates the failure of launching ui client.
-     *
-     */
-    void UiLaunchFailed();
-
-private:
-
-    CLaunchBrowserHandler();
-
-    void ConstructL();
-
-    /**
-     * Checks if Browser application is launched.
-     *
-     * @return The result of the operation.
-     */
-    TBool BrowserExists();
-
-    /**
-     * Closes the Browser application if it is active.
-     *
-     * @return The result of the operation.
-     */
-    void CloseBrowser();
-
-    /**
-     * Launches The Browser with URL.
-     *
-     * @param aParam, Reference to the parameter for the Browser
-     * application.
-     * @param aAccessPointUid, Reference to the accesspoint uid.
-     */
-    void LaunchWithUrlL( 
-        const TDesC& aParam,
-        const TUid& aAccessPointUid );
-
-    /**
-     * Handle the Launch Browser command.
-     *
-     */
-    void LaunchBrowserL();
-
-    /**
-     * Starts timer. Function returns as the given time has elapsed or
-     * timer is cancelled.
-     *
-     * @param aDelay Delay from the function call to complete function in
-     *               microseconds
-     * @param aInterval Interval to complete wait after aDelay, zero by
-     *                  default
-     */
-    void After(
-        const TTimeIntervalMicroSeconds32& aDelay,
-        const TTimeIntervalMicroSeconds32& aInterval = 0 );
-
-    /**
-     * Called after given delay in After function.
-     * Causes the After function to complete
-     *
-     * @param aPtr Pointer to itself since this is static function
-     * @return whether to call function again after an interval
-     */
-    static TInt DelayCallBack( TAny* aPtr );
-
-    /**
-     * Create a new APN with given parameters using Access Point engine.
-     *
-     * @param aApName APN name.
-     * @param aProxyServerAddr Proxy/Gateway server address.
-     * @param aProxyPortNumber Proxy server port number.
-     * @param aIPvType Gateway address IP type.
-     *
-     * @return the ID for the new APN
-     */
-    TUint32 CreateAccessPointL( const TDesC16& aApName,
-        const TDesC16& aProxyServerAddr,
-        const TUint32 aProxyPortNumber,
-        const RPacketContext::TProtocolType& aIPvType );
-
-    /**
-     * Select an Access Point by the given gateway address. Create one if
-     * there is not a corresponding AP.
-     * 
-     * @return IAP id from GCF connection method.
-     */
-    TUint32 GetAccessPointByGatewayAddressL();
-    
-    /**
-     * Get an Access Point by default.
-     *
-     * @return IAP id from default connection method.
-     */ 
-    TUint32 GetAccessPointByDefaultL();
-
-    /**
-     * Get default Url by access point id.
-     *
-     * @param aApId Input IAP id by given connection method.
-     * @return Default Url by given connection method.
-     */    
-    HBufC* GetDefaultUrlByAccessPointLC( TUint32 aApId );
-
-    /**
-     * A gateway address is required to be a IP address in 
-     * connection method, so it is necessary to check 
-     * the validity of the gateway address to avioding leave in
-     * APE.
-     *
-     * @param aAddress A gateway address.
-     * @return EIPv4 if the gateway address is a valid IPv4 address.
-     *         EIPv6 if the gateway address is a valid IPv6 address.
-     *         otherwise return 0 to indicate a invalid IP address.
-     */
-    TInt ValidateGatewayAddress( const TDesC16& aAddress );
-
-    /**
-     * Check the validity of a IPv4 address.
-     *
-     * @param aAddress A IPv4 address.
-     * @return ETrue if the address is a valid IPv4 address.
-     */
-    TBool ValidateIPv4Address( const TDesC16& aAddress );
-
-    /**
-     * Check the validity of a IPv6 address.
-     *
-     * @param aAddress A IPv6 address.
-     * @return ETrue if the address is a valid IPv6 address.
-     */
-    TBool ValidateIPv6Address( const TDesC16& aAddress );
-
-    /**
-     * Convert a descriptor to a integer.
-     *
-     * @param aAddress A descriptor.
-     * @return Integer value.
-     */
-    TInt ConvertDesToInt( const TDesC16& aValue );
-         
-    /**
-     * Check the validity of a descriptor in hex.
-     *
-     * @param aAddress A descriptor.
-     * @return ETrue if each character in the descriptor is a valid 
-     *         hexadecimal.
-     */
-    TBool ValidateHexadecimal( const TDesC16& aHex );
-        
-    /**
-     * Separate the port number from a address if it is existing. For example, 
-     * 210.13.246.172:8080.
-     *
-     * @param aAddress A address.
-     * @param aPureAddr The pure address without any additional info.
-     * @param aPortNumber The port number.
-     * @return None.
-     */
-    void SeparatePortNumberFromAddress( const TDesC16& aAddress, 
-        TDes16& aPureAddr, TUint32& aPortNumber );
-         
-    /**
-     * Fulfill connecion method with default params.
-     *
-     * @param aCmManager Connection method manager.
-     * @param aCm Output reference to RCmConnectionMethod.
-     * @return None
-     */    
-    void FulfillConnnectionMethodL( RCmManager& aCmManager,
-                                    RCmConnectionMethod& aCm );
-   
-    /**
-     * Check the validity of offered bearer type
-     *
-     * @param aCm reference to RCmConnectionMethod.
-     * @param aIsValid Output KErrNone if connection method is valid.
-     * @return None
-     */     
-    void ValidateBearerTypeL( RCmConnectionMethod& aCm, TInt& aIsValid );
-    
-    /**
-     * Get default connection method.
-     *
-     * @param aCmManager Input Connection method manager.
-     * @param aDefCm Output reference to RCmConnectionMethod.
-     * @param aIsValid Output KErrNone if found
-     * @return None
-     */       
-    void GetDefConnMethodL( RCmManager& aCmManager,
-                            RCmConnectionMethod& aDefCm,
-                            TInt& aIsValid );  
-    
-private: // data
-
-    /**
-     * LaunchBrowser command data.
-     */
-    RSat::TLaunchBrowserV2 iLaunchBrowserData;
-
-    /**
-     * LaunchBrowser command package.
-     */
-    RSat::TLaunchBrowserV2Pckg iLaunchBrowserPckg;
-
-    /**
-     * Response from client
-     */
-    RSat::TLaunchBrowserRspV2 iLaunchBrowserRsp;
-
-    /**
-     * Response package.
-     */
-    RSat::TLaunchBrowserRspV2Pckg iLaunchBrowserRspPckg;
-
-    /**
-     * Query command data
-     */
-    TSatQueryV1 iQueryData;
-
-    /**
-     * Query package
-     */
-    TSatQueryV1Pckg iQueryPckg;
-
-    /**
-     * Query response
-     */
-    TSatQueryRspV1 iQueryRsp;
-
-    /**
-     * Query response package
-     */
-    TSatQueryRspV1Pckg iQueryRspPckg;
-
-    /**
-     * Window server session
-     */
-    RWsSession iWsSession;
-
-    /**
-     * Application UID of the Browser.
-     */
-    TUid iUidWmlBrowser;
-
-    /**
-     * Indicates does this command need UI session ot not
-     */
-    TBool iNeedUiSession;
-
-    /**
-     * Blocker for After
-     */
-    CActiveSchedulerWait iAfterWait;
-
-    /**
-     * Timer used in After
-     */
-    CPeriodic* iAfterTimer;
-                
-    /**
-     * Flag to signal that command has icon data
-     * To be removed when icons are allowed in this command
-     */
-    TBool iIconCommand;
-    };
-
-#endif      // CLAUNCHBROWSERHANDLER_H
-