diff -r 63be7eb3fc78 -r f28ada11abbf hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h Wed Sep 01 12:20:32 2010 +0100 @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2007 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: Handle special load requests like Non-HTTP(S) load requests, +* and Non-HTML content. Control over network connections +* +*/ + + + +#ifndef HSBROWSERSPECIALLOADOBSERVER_H +#define HSBROWSERSPECIALLOADOBSERVER_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** +* CHsBrowserSpecialLoadObserver class. +* This class inherits from the MBrCtlSpecialLoadObserver interface which +* is used if the host application requires: Handling of non-HTTP(S) load requests; +* Handling of non-markup content; Control over network connections +*/ +class CHsBrowserSpecialLoadObserver : public CBase, public MBrCtlSpecialLoadObserver + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CHsBrowserSpecialLoadObserver* NewL(); + + /** + * Destructor. + */ + ~CHsBrowserSpecialLoadObserver(); + + public: // from MBrCtlSpecialLoadObserver + + /** + * Request to create a network connection. + * @since 2.8 + * @param aConnectionPtr A pointer to the new connection. If NULL, the proxy filter will automatically create a network connection + * @param aSockSvrHandle A handle to the socket server. + * @param aNewConn A flag if a new connection was created. If the connection is not new, proxy filter optimization will not read the proxy again from CommsBd + * @param aBearerType The bearer type of the new connection + * @return void + */ + void NetworkConnectionNeededL( TInt* aConnectionPtr, + TInt* aSockSvrHandle, + TBool* /*aNewConn*/, + TApBearerType* /*aBearerType*/ ); + /** + * Request the host applicaion to handle non-http request. + * @since 2.8 + * @param aTypeArray Array of download parameter types. These types indicates the type of data contained within the DesArray + * @param aDesArray Array of values associated with the types in the type array. + * @return ETrue, If the request is handled by the host application. EFalse if not + */ + TBool HandleRequestL( RArray* /*aTypeArray*/, + CDesCArrayFlat* /*aDesArray*/ ); + + /** + * Request the host applicaion to handle downloads + * @since 2.8 + * @param aTypeArray Array of download parameter types + * @param aDesArray Array of values associated with the types in the type array + * @return ETrue, If the request is handled by the host application. EFalse if not + */ + TBool HandleDownloadL( RArray* /*aTypeArray*/, + CDesCArrayFlat* /*aDesArray*/ ); + + public: // access methods + + /** + * Accessor method for iConnectionPtr. + */ + void SetConnectionPtr( TInt aConnectionPtr ); + + /** + * Accessor method for iSockSvrHandle. + */ + void SetSockSvrHandle( TInt aSockSvrHandle ); + + private: + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: + + /** + * Connection handle. + */ + TInt iConnectionPtr; + + /** + * Socket server handle. + */ + TInt iSockSvrHandle; + }; + +#endif // HSBROWSERSPECIALLOADOBSERVER_H + +// End of File +