diff -r 75a71fdb4c92 -r 7d11f9a6646f pnpmobileservices/pnpms/OnlineSupport/inc/CCMSocketsEngine.h --- a/pnpmobileservices/pnpms/OnlineSupport/inc/CCMSocketsEngine.h Tue Feb 02 00:03:17 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,249 +0,0 @@ -/* -* Copyright (c) 2003-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: Socket engine class used for the DNS query -* -*/ - - - -#ifndef CCMSOCKETSENGINE_H -#define CCMSOCKETSENGINE_H - -// INCLUDES -#include -#include -#include -#include -#include - -// CONSTANTS -const TInt KMaximumLengthOfAddress = 100; - -// MACROS -// None - -// DATA TYPES -// None - -// FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -// None - -// CLASS DECLARATION -class MCMSocketsEngineNotifier; - -/** -* Sockets engine class -* Used to test the DNS connection -* -* @lib Confmanager.app -* @since 2.0 -*/ -class CCMSocketsEngine : - public CActive, - public MHTTPTransactionCallback - { - public: // Constructors and destructor - - enum TEngineStatus - { - EStatusUnknown, - EStatusConnecting, - EStatusResolving, - EStatusMakingHttpHeadRequest, - EStatusReady - }; - /** - * Two-phased constructor. - */ - static CCMSocketsEngine* NewL( MCMSocketsEngineNotifier& aNotifier); - - /** - * Destructor. - */ - ~CCMSocketsEngine(); - - public: // New functions - - /** - * Starts the DNS query - * @since 2.0 - * @param aAp the access point id to use for the connection - * @param aAddress address - */ - void ConnectL( TUint32 aAp, const TDesC& aAddress ); - - /** - * Starts the DNS query - * @since 2.0 - * @param aAp the access point id to use for the connection - * @param aAddress address - */ - void ConnectL( const TDesC& aAddress ); - - /** - * Ends the DNS query - * @since 2.0 - */ - void Disconnect( ); - - /** - * Sets the value for the iLeaveOpen - * @since 2.0 - */ - void SetOpen( TBool aOpen ); - - const TDesC& ProxyIp(){ return *iProxyIp; }; - const TInt ProxyPort(){ return iProxyPort; }; - const TUint32 IapId(){ return iIapId; }; - const TBool ProxyDefined(){ return iProxyIp->Length() > 0; }; - - /*! - @return iSocketServ - */ - RSocketServ& SocketServ(){ return iSocketServ; }; - - /*! - @return iConnection - */ - RConnection& Connection(){ return iConnection; }; - - /*! - @return IAPID - */ - - TUint32 ReturnIAPID(); - - public: // from MHTTPTransactionCallback - - /*! - Called when the filter's registration conditions are satisfied - for events that occur on a transaction. Note that this function - is not allowed to leave if called with certain events - */ - void MHFRunL( RHTTPTransaction aTransaction, const THTTPEvent &aEvent ); - /*! - Called when RunL leaves from a transaction event. This works - in the same way as CActve::RunError; return KErrNone if you - have handled the error. If you don't completely handle the - error, a panic will occur. - */ - TInt MHFRunError( TInt aError, RHTTPTransaction aTransaction, const THTTPEvent& aEvent ); - - protected: // New functions - - - - protected: // Functions from base classes - - - - private: // Functions from base classes - - /** - * From CActive Handles an active object’s request completion event. - * @since 2.0 - * @return void - */ - void RunL(); - - /** - * From CActive Cancels any outstanding request - * @return void - */ - void DoCancel(); - - /** - * From CActive Cancels any outstanding request - * @return TInt should be always KErrNone - */ - TInt RunError(TInt aError); - - private: - - /** - * C++ default constructor. - */ - CCMSocketsEngine( MCMSocketsEngineNotifier& aNotifier); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - void MakeHttpHeadRequestL( const TDesC& aProxyAddress, const TUint aProxyPort ); - TBool CheckForProxyL( const TUint32 aIapId ); - public: // Data - - protected: // Data - - - private: // Data - /*! Interface to UI class */ - MCMSocketsEngineNotifier& iSocketsEngineNotifier; - // Socket server - RSocketServ iSocketServ; - // host name resolution (DNS) - RHostResolver iResolver; - /*! Connection */ - RConnection iConnection; - /*! Connection open flag */ - TBool iConnectionOpen; - // Name entry for the resolver - TNameEntry iNameEntry; - // if This is true then the iResolver exsists - TBool iResolverExsists; - // Status of the engine - TEngineStatus iEngineStatus; - // address to be resolved - TBuf iWapPage; - // If this is true then the connection will be left open after the engine is deleted - TBool iLeaveOpen; - // if this is true then the connection exsists - TBool iConnectionExsists; - /*! Proxy IP, empty descriptor for none */ - HBufC* iProxyIp; - /*! Proxy port, 0 for none */ - TInt iProxyPort; - /*! Tells if there is a proxy defined for the current AP */ - TBool iProxyDefined; - - /*! Http session */ - RHTTPSession iSession; - /*! Http session open flag */ - TBool iHttpSessionOpen; - /*! String pool for http session */ - RStringPool iSessionStringPool; - /*! Http transaction*/ - RHTTPTransaction iTransaction; - /*! Http transaction open flag */ - TBool iTransactionOpen; - - /** Id for the current AccessPoint this id refers to the WAP_IAP table.*/ - TUint32 iIapId; - - public: // Friend classes - - protected: // Friend classes - - private: // Friend classes - - - }; - -#endif // CCMSocketsEngine_H - -// End of File