--- a/emailservices/emailcommon/src/CFSMailRequestHandler.cpp Fri Apr 16 14:51:52 2010 +0300
+++ b/emailservices/emailcommon/src/CFSMailRequestHandler.cpp Mon May 03 12:23:15 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-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"
@@ -15,14 +15,17 @@
*
*/
+// <qmail>
+// Exports removed because entire class is exported from DLL
+#include <nmcommonheaders.h>
+// </qmail>
-#include <nmcommonheaders.h>
#include "emailtrace.h"
#include "CFSMailRequestHandler.h"
#include "CFSMailRequestObserver.h"
-// ================= MEMBER FUNCTIONS ==========================================
+// ================= MEMBER FUNCTIONS ==========================================
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::CFSMailRequestHandler
// -----------------------------------------------------------------------------
@@ -36,7 +39,7 @@
// reset
iPendingRequests.Reset();
iPluginList.Reset();
-
+
iTempDirName =NULL;
}
@@ -44,7 +47,7 @@
// CFSMailRequestHandler::~CFSMailRequestHandler
// -----------------------------------------------------------------------------
CFSMailRequestHandler::~CFSMailRequestHandler()
-{
+ {
FUNC_LOG;
TRAP_IGNORE( CancelAllRequestsL() );
RemoveAllRequests();
@@ -57,51 +60,56 @@
// close file server connection
iFs.Close();
}
-}
+
+ // clear TLS
+ Dll::FreeTls();
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::NewLC
// -----------------------------------------------------------------------------
CFSMailRequestHandler* CFSMailRequestHandler::NewLC(
- RPointerArray<CImplementationInformation>& aPluginInfo,
- RPointerArray<CFSMailPlugin>& aPlugins )
+ RPointerArray<CImplementationInformation>& aPluginInfo,
+ RPointerArray<CFSMailPlugin>& aPlugins )
{
FUNC_LOG;
- CFSMailRequestHandler* pluginHandler = new (ELeave) CFSMailRequestHandler();
- CleanupStack:: PushL(pluginHandler);
- pluginHandler->ConstructL( aPluginInfo, aPlugins );
- return pluginHandler;
+ CFSMailRequestHandler* pluginHandler = new (ELeave) CFSMailRequestHandler();
+ CleanupStack:: PushL(pluginHandler);
+ pluginHandler->ConstructL( aPluginInfo, aPlugins );
+ return pluginHandler;
}
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::NewL
// -----------------------------------------------------------------------------
CFSMailRequestHandler* CFSMailRequestHandler::NewL(
- RPointerArray<CImplementationInformation>& aPluginInfo,
- RPointerArray<CFSMailPlugin>& aPlugins )
+ RPointerArray<CImplementationInformation>& aPluginInfo,
+ RPointerArray<CFSMailPlugin>& aPlugins )
{
FUNC_LOG;
- CFSMailRequestHandler* pluginHandler =
- CFSMailRequestHandler::NewLC( aPluginInfo, aPlugins );
- CleanupStack:: Pop(pluginHandler);
- return pluginHandler;
+ CFSMailRequestHandler* pluginHandler =
+ CFSMailRequestHandler::NewLC( aPluginInfo, aPlugins );
+ CleanupStack:: Pop(pluginHandler);
+ return pluginHandler;
}
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::ConstructL
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::ConstructL(
- RPointerArray<CImplementationInformation> /*aPluginInfo*/,
- RPointerArray<CFSMailPlugin> /*aPlugins*/ )
+ RPointerArray<CImplementationInformation> /*aPluginInfo*/,
+ RPointerArray<CFSMailPlugin> /*aPlugins*/ )
{
FUNC_LOG;
+
+
}
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::GetPluginByUid
// -----------------------------------------------------------------------------
CFSMailPlugin* CFSMailRequestHandler::GetPluginByUid( TFSMailMsgId aObjectId )
-{
+ {
FUNC_LOG;
for(TInt i=0;i<iPluginList.Count();i++)
@@ -111,48 +119,50 @@
return iPluginList[i]->iPlugin;
}
}
+
+
return NULL;
-}
-
+ }
+
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::InitAsyncRequestL
// -----------------------------------------------------------------------------
TFSPendingRequest CFSMailRequestHandler::InitAsyncRequestL(
- TUid aPluginId,
- MFSMailRequestObserver& aOperationObserver )
-{
+ TUid aPluginId,
+ MFSMailRequestObserver& aOperationObserver)
+ {
FUNC_LOG;
- TFSPendingRequest newRequest;
- for(TInt i=0;i<iPendingRequests.Count();i++)
- {
- if(iPendingRequests[i].iRequestStatus != TFSPendingRequest::EFSRequestPending)
+ TFSPendingRequest newRequest;
+ for(TInt i=0;i<iPendingRequests.Count();i++)
{
- iPendingRequests[i].iPluginId = aPluginId;
- iPendingRequests[i].iRequestStatus = TFSPendingRequest::EFSRequestPending;
- iPendingRequests[i].iObserver->SetUserObserver(aOperationObserver);
- newRequest = iPendingRequests[i];
- return newRequest;
+ if(iPendingRequests[i].iRequestStatus != TFSPendingRequest::EFSRequestPending)
+ {
+ iPendingRequests[i].iPluginId = aPluginId;
+ iPendingRequests[i].iRequestStatus = TFSPendingRequest::EFSRequestPending;
+ iPendingRequests[i].iObserver->SetUserObserver(aOperationObserver);
+ newRequest = iPendingRequests[i];
+ return newRequest;
+ }
}
- }
- newRequest.iRequestId = iPendingRequests.Count();
- newRequest.iPluginId = aPluginId;
- newRequest.iRequestStatus = TFSPendingRequest::EFSRequestPending;
- CFSMailRequestObserver* observer =
+ newRequest.iRequestId = iPendingRequests.Count();
+ newRequest.iPluginId = aPluginId;
+ newRequest.iRequestStatus = TFSPendingRequest::EFSRequestPending;
+ CFSMailRequestObserver* observer =
CFSMailRequestObserver::NewL(*this, aOperationObserver);
- newRequest.iObserver = observer;
- iPendingRequests.Append(newRequest);
-
- return newRequest;
-}
+ newRequest.iObserver = observer;
+ iPendingRequests.Append(newRequest);
+
+ return newRequest;
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::CompleteRequest
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::CompleteRequest( TInt aRequestId )
-{
+ {
FUNC_LOG;
- for(TInt i=0;i<iPendingRequests.Count();i++)
+ for(TInt i=0;i<iPendingRequests.Count();i++)
{
if(iPendingRequests[i].iRequestId == aRequestId)
{
@@ -160,85 +170,87 @@
break;
}
}
-}
-
+
+ }
+
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::CancelRequestL
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::CancelRequestL( TInt aRequestId )
-{
+ {
FUNC_LOG;
- for(TInt i=0;i<iPendingRequests.Count();i++)
+ for(TInt i=0;i<iPendingRequests.Count();i++)
{
- if(iPendingRequests[i].iRequestId == aRequestId
- && iPendingRequests[i].iRequestStatus == TFSPendingRequest::EFSRequestPending)
+ if(iPendingRequests[i].iRequestId == aRequestId &&
+ iPendingRequests[i].iRequestStatus == TFSPendingRequest::EFSRequestPending)
{
TFSMailMsgId pluginId(iPendingRequests[i].iPluginId,0);
- CFSMailPlugin* plugin = GetPluginByUid(pluginId);
- plugin->CancelL(aRequestId);
+ if(CFSMailPlugin* plugin = GetPluginByUid(pluginId))
+ {
+ plugin->CancelL(aRequestId);
+ }
iPendingRequests[i].iRequestStatus = TFSPendingRequest::EFSRequestCancelled;
break;
}
}
-}
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::CancelAllRequestsL
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::CancelAllRequestsL( )
-{
+ {
FUNC_LOG;
- for(TInt i=0;i<iPendingRequests.Count();i++)
+ for(TInt i=0;i<iPendingRequests.Count();i++)
{
- if(iPendingRequests[i].iRequestStatus == TFSPendingRequest::EFSRequestPending)
- {
- TFSMailMsgId pluginId(iPendingRequests[i].iPluginId,0);
- CFSMailPlugin* plugin = GetPluginByUid(pluginId);
- plugin->CancelL(iPendingRequests[i].iRequestId);
- iPendingRequests[i].iRequestStatus = TFSPendingRequest::EFSRequestCancelled;
- }
+ if(iPendingRequests[i].iRequestStatus == TFSPendingRequest::EFSRequestPending)
+ {
+ TFSMailMsgId pluginId(iPendingRequests[i].iPluginId,0);
+ if(CFSMailPlugin* plugin = GetPluginByUid(pluginId))
+ {
+ plugin->CancelL(iPendingRequests[i].iRequestId);
+ }
+ iPendingRequests[i].iRequestStatus = TFSPendingRequest::EFSRequestCancelled;
+ }
}
-}
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::AddPluginL
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::AddPluginL( TUid aPluginId, CFSMailPlugin* aPlugin )
-{
+ {
FUNC_LOG;
CFSMailPluginData* pluginData = new (ELeave) CFSMailPluginData;
pluginData->iPluginId = aPluginId;
pluginData->iPlugin = aPlugin;
- iPluginList.Append(pluginData);
-}
+ iPluginList.Append(pluginData);
+
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::RemoveAllRequests
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::RemoveAllRequests()
-{
+ {
FUNC_LOG;
for(TInt i=0;i<iPendingRequests.Count();i++)
{
delete iPendingRequests[i].iObserver;
iPendingRequests[i].iObserver = NULL;
}
-}
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::GetTempFileL( )
// -----------------------------------------------------------------------------
-// <qmail>
RFile CFSMailRequestHandler::GetTempFileL( TFSMailMsgId aContentId, TFileName aFileName )
-// </qmail>
{
FUNC_LOG;
// get temp dir path
- // <qmail>
- if(!iTempDirName)
- // </qmail>
+ if(iTempDirName == NULL)
{
// open file server connection
User::LeaveIfError(iFs.Connect());
@@ -255,22 +267,22 @@
aFileName.AppendNum(aContentId.Id());
file.Replace(iFs,aFileName,EFileWrite);
return file;
-}
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::CleanTempDirL
// -----------------------------------------------------------------------------
void CFSMailRequestHandler::CleanTempDirL( )
-{
+ {
FUNC_LOG;
-}
+ }
// -----------------------------------------------------------------------------
// CFSMailRequestHandler::GetTempDirL
// -----------------------------------------------------------------------------
TDesC& CFSMailRequestHandler::GetTempDirL( )
-{
+ {
FUNC_LOG;
return *iTempDirName;
-}
+ }