diff -r 2580314736af -r 2669f8761a99 xdmprotocols/XcapProtocol/XcapHttpTransport/src/XcapHttpTransport.cpp --- a/xdmprotocols/XcapProtocol/XcapHttpTransport/src/XcapHttpTransport.cpp Thu Aug 19 10:19:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,287 +0,0 @@ -/* -* Copyright (c) 2005 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: CXcapHttpTransport -* -*/ - - - - -// INCLUDE FILES -#include -#include -#include -#include -#include "XdmCredentials.h" -#include "XcapHttpReqGet.h" -#include "XcapHttpReqPut.h" -#include "XcapHttpReqMkcol.h" -#include "XcapHttpReqHead.h" -#include "XcapHttpRequest.h" -#include "XcapHttpReqDelete.h" -#include "XcapHttpTransport.h" -#include "XcapHttpAuthManager.h" - -// ================= MEMBER FUNCTIONS ======================= -// - - -// ---------------------------------------------------------- -// CXcapHttpTransport::CXcapHttpTransport -// -// ---------------------------------------------------------- -// -CXcapHttpTransport::CXcapHttpTransport( MMsgConnManager& aConnManager) : - iCredValidity( EFalse ), - iSessionClosed( ETrue ), - iConnManager( aConnManager ) - { - } - -// ---------------------------------------------------------- -// CXcapHttpTransport::NewL -// -// ---------------------------------------------------------- -// -EXPORT_C CXcapHttpTransport* CXcapHttpTransport::NewL( const TDesC& aRootUri, - MMsgConnManager& aConnManager, - const TXdmCredentials& aDigestCredentials ) - { - CXcapHttpTransport* self = new ( ELeave ) CXcapHttpTransport( aConnManager ); - CleanupStack::PushL( self ); - self->ConstructL( aRootUri, aDigestCredentials ); - CleanupStack::Pop(); //self - return self; - } - -// ---------------------------------------------------- -// CXcapHttpTransport::~CXcapHttpTransport -// -// ---------------------------------------------------- -// -CXcapHttpTransport::~CXcapHttpTransport() - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::~CXcapHttpTransport()" ) ); - #endif - delete iRootUri; - delete iAuthManager; - iHttpSession.Close(); - iSessionClosed = ETrue; - delete iProxyBuffer; - #ifdef _DEBUG - WriteToLog( _L8( " Destructor ends." ) ); - #endif - delete iLogWriter; - } - -// ---------------------------------------------------------- -// CXcapHttpTransport::ConstructL -// -// ---------------------------------------------------------- -// -void CXcapHttpTransport::ConstructL( const TDesC& aRootUri, const TXdmCredentials& aDigestCredentials ) - { - #ifdef _DEBUG - iLogWriter = CXdmLogWriter::NewL( KTransportLogFile ); - WriteToLog( _L8( "CXcapHttpTransport::ConstructL" ) ); - #endif - SetRootUriL( aRootUri ); - InitialiseSessionL(); - iAuthManager = CXcapHttpAuthManager::NewL( iHttpSession, *this, aDigestCredentials ); - } - -// --------------------------------------------------------- -// CXcapHttpTransport::SetRootUriL -// -// --------------------------------------------------------- -// -EXPORT_C void CXcapHttpTransport::SetRootUriL( const TDesC& aRootUri ) - { - delete iRootUri; - iRootUri = NULL; - iRootUri = HBufC8::NewL( aRootUri.Length() ); - iRootUri->Des().Copy( aRootUri ); - } - -// ---------------------------------------------------- -// CXcapHttpTransport::GetL -// -// ---------------------------------------------------- -// -EXPORT_C CXcapHttpReqGet* CXcapHttpTransport::GetL( const TDesC& aRequestUri ) - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::GetRequestL()" ) ); - #endif - if( !iSessionClosed ) - return CXcapHttpReqGet::NewL( aRequestUri, iHttpSession, *iAuthManager, *this ); - else - { - User::Leave( KErrNotReady ); - return NULL; - } - } - -// ---------------------------------------------------- -// CXcapHttpTransport::PutL -// -// ---------------------------------------------------- -// -EXPORT_C CXcapHttpReqPut* CXcapHttpTransport::PutL( const TDesC& aRequestUri ) - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::PutRequestL()" ) ); - #endif - if( !iSessionClosed ) - return CXcapHttpReqPut::NewL( aRequestUri, iHttpSession, *iAuthManager, *this ); - else - { - User::Leave( KErrNotReady ); - return NULL; - } - } - -// ---------------------------------------------------- -// CXcapHttpTransport::Mkcol -// -// ---------------------------------------------------- -// -EXPORT_C CXcapHttpReqMkcol* CXcapHttpTransport::MkcolL( const TDesC& aRequestUri ) - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::MkcolRequestL()" ) ); - #endif - if( !iSessionClosed ) - return CXcapHttpReqMkcol::NewL( aRequestUri, iHttpSession, *iAuthManager, *this ); - else - { - User::Leave( KErrNotReady ); - return NULL; - } - } - -// ---------------------------------------------------- -// CXcapHttpTransport::Head -// -// ---------------------------------------------------- -// -EXPORT_C CXcapHttpReqHead* CXcapHttpTransport::HeadL( const TDesC& aRequestUri ) - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::HeadRequestL()" ) ); - #endif - if( !iSessionClosed ) - return CXcapHttpReqHead::NewL( aRequestUri, iHttpSession, *iAuthManager, *this ); - else - { - User::Leave( KErrNotReady ); - return NULL; - } - } - -// ---------------------------------------------------- -// CXcapHttpTransport::DeleteL -// -// ---------------------------------------------------- -// -EXPORT_C CXcapHttpReqDelete* CXcapHttpTransport::DeleteL( const TDesC& aRequestUri ) - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::DeleteRequestL()" ) ); - #endif - if( !iSessionClosed ) - return CXcapHttpReqDelete::NewL( aRequestUri, iHttpSession, *iAuthManager, *this ); - else - { - User::Leave( KErrNotReady ); - return NULL; - } - } - -// ---------------------------------------------------------- -// CXcapHttpTransport::RootUri -// -// ---------------------------------------------------------- -// -EXPORT_C TPtrC8 CXcapHttpTransport::RootUri() - { - return iRootUri != NULL ? iRootUri->Des() : TPtrC8(); - } - -// ---------------------------------------------------- -// CXcapHttpTransport::InitialiseSessionL -// -// ---------------------------------------------------- -// -void CXcapHttpTransport::InitialiseSessionL() - { - #ifdef _DEBUG - WriteToLog( _L8( "CXcapHttpTransport::InitialiseSessionL()" ) ); - #endif - iHttpSession.OpenL(); - RSocketServ& session = iConnManager.SocketSession(); - RConnection& connection = iConnManager.Connection(); - RHTTPConnectionInfo connInfo = iHttpSession.ConnectionInfo(); - RStringPool stringPool = iHttpSession.StringPool(); - TInt conn = reinterpret_cast ( &connection ); - connInfo.SetPropertyL( stringPool.StringF( HTTP::EHttpSocketServ, RHTTPSession::GetTable() ), - THTTPHdrVal( session.Handle() ) ); - connInfo.SetPropertyL( stringPool.StringF( HTTP::EHttpSocketConnection, RHTTPSession::GetTable() ), - THTTPHdrVal( conn ) ); - connInfo.SetPropertyL( stringPool.StringF( HTTP::EHTTPVersion, RHTTPSession::GetTable() ), - THTTPHdrVal( stringPool.StringF( HTTP::EHttp11, RHTTPSession::GetTable() ) ) ); - connInfo.SetPropertyL( stringPool.StringF( HTTP::ESecureDialog, RHTTPSession::GetTable() ), - THTTPHdrVal( stringPool.StringF( HTTP::EDialogPrompt, RHTTPSession::GetTable() ) ) ); - //CHttpDeflateFilter::InstallFilterL( iHttpSession ); - iSessionClosed = EFalse; - #ifdef _DEBUG - WriteToLog( _L8( "InitialiseSessionL() ends." ) ); - #endif - } - -#ifdef _DEBUG -// ---------------------------------------------------- -// CXcapHttpTransport::WriteToLog -// Writes to the log, 8-bit version -// ---------------------------------------------------- -// -void CXcapHttpTransport::WriteToLog( TRefByValue aFmt,... ) const - { - VA_LIST list; - VA_START( list, aFmt ); - TBuf8 buf; - buf.FormatList( aFmt, list ); - iLogWriter->WriteToLog( buf ); - } - -// ---------------------------------------------------- -// CXcapHttpTransport::WriteToLog -// Writes to the log, 16-bit version -// ---------------------------------------------------- -// -void CXcapHttpTransport::WriteToLog( TRefByValue aFmt,... ) const - { - VA_LIST list; - VA_START( list, aFmt ); - TBuf buf; - buf.FormatList( aFmt, list ); - iLogWriter->WriteToLog( buf ); - } -#endif //_DEBUG - - - - -// End of File