Revision: 201021 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:04:07 +0300
branchRCL_3
changeset 15 88ee4cf65e19
parent 12 87c71b25c937
child 16 1aa8c82cb4cb
Revision: 201021 Kit: 201035
group/bld.inf
layers.sysdef.xml
remotestoragefw/MDebug/inc/mdebug.h
remotestoragefw/MDebug/src/mdebug.cpp
remotestoragefw/cenrep/backup_registration.xml
remotestoragefw/cenrep/keys_remote_storage_fw.xls
remotestoragefw/conf/remote_storage_fw.confml
remotestoragefw/conf/remote_storage_fw_101F9775.crml
remotestoragefw/group/bld.inf
remotestoragefw/gsplugin/data/101f9777.rss
remotestoragefw/gsplugin/data/rsfwgspluginrsc.rss
remotestoragefw/gsplugin/group/bld.inf
remotestoragefw/gsplugin/group/rsfwgsplugin.mmp
remotestoragefw/gsplugin/group/rsfwgspluginicons.mk
remotestoragefw/gsplugin/inc/mydebug.h
remotestoragefw/gsplugin/inc/rsfwgslocalviewids.h
remotestoragefw/gsplugin/inc/rsfwgsplugin.h
remotestoragefw/gsplugin/inc/rsfwgsplugin.hrh
remotestoragefw/gsplugin/inc/rsfwgsplugindrivelistcontainer.h
remotestoragefw/gsplugin/inc/rsfwgspluginsettinglist.h
remotestoragefw/gsplugin/inc/rsfwgspropertywatch.h
remotestoragefw/gsplugin/inc/rsfwgsremotedrivesend.h
remotestoragefw/gsplugin/inc/rsfwgsremotedrivesettingscontainer.h
remotestoragefw/gsplugin/inc/rsfwgssettingsdata.h
remotestoragefw/gsplugin/loc/rsfwgsplugin.loc
remotestoragefw/gsplugin/src/rsfwgsplugin.cpp
remotestoragefw/gsplugin/src/rsfwgsplugindrivelistcontainer.cpp
remotestoragefw/gsplugin/src/rsfwgspluginimplementationtable.cpp
remotestoragefw/gsplugin/src/rsfwgspluginsettinglist.cpp
remotestoragefw/gsplugin/src/rsfwgspropertywatch.cpp
remotestoragefw/gsplugin/src/rsfwgsremotedrivesend.cpp
remotestoragefw/gsplugin/src/rsfwgsremotedrivesettingscontainer.cpp
remotestoragefw/gsplugin/src/rsfwgssettingsdata.cpp
remotestoragefw/mountmanager/bwins/rsfwmountmanu.def
remotestoragefw/mountmanager/bwins/rsfwmountutilsu.def
remotestoragefw/mountmanager/eabi/rsfwmountmanu.def
remotestoragefw/mountmanager/eabi/rsfwmountutilsu.def
remotestoragefw/mountmanager/group/bld.inf
remotestoragefw/mountmanager/group/rsfwbootmounter.mmp
remotestoragefw/mountmanager/group/rsfwmountman.mmp
remotestoragefw/mountmanager/group/rsfwmountutils.mmp
remotestoragefw/mountmanager/inc/mydebug.h
remotestoragefw/mountmanager/inc/rsfwmountmanimpl.h
remotestoragefw/mountmanager/inc/rsfwmountutils.h
remotestoragefw/mountmanager/src/rsfwbootmounter.cpp
remotestoragefw/mountmanager/src/rsfwmountentry.cpp
remotestoragefw/mountmanager/src/rsfwmountman.cpp
remotestoragefw/mountmanager/src/rsfwmountmanimpl.cpp
remotestoragefw/mountmanager/src/rsfwmountutils.cpp
remotestoragefw/mountmanager/tsrc/public/basic/bwins/T_RSFW_TA_Basicu.def
remotestoragefw/mountmanager/tsrc/public/basic/eabi/T_RSFW_TA_Basicu.def
remotestoragefw/mountmanager/tsrc/public/basic/group/T_RSFW_TA_Basic.mmp
remotestoragefw/mountmanager/tsrc/public/basic/group/bld.inf
remotestoragefw/mountmanager/tsrc/public/basic/inc/T_RSFW_TA_Basic.h
remotestoragefw/mountmanager/tsrc/public/basic/rom/T_RSFW_TA_Basic.pkg
remotestoragefw/mountmanager/tsrc/public/basic/rom/t_rsfw_ta_basic.iby
remotestoragefw/mountmanager/tsrc/public/basic/src/T_RSFW_TA_Basic.cpp
remotestoragefw/mountmanager/tsrc/public/basic/src/T_RSFW_TA_BasicDllMain.cpp
remotestoragefw/mountstore/bwins/rsfwconfigu.def
remotestoragefw/mountstore/bwins/rsfwmountstoreu.def
remotestoragefw/mountstore/eabi/rsfwconfigu.def
remotestoragefw/mountstore/eabi/rsfwmountstoreu.def
remotestoragefw/mountstore/group/bld.inf
remotestoragefw/mountstore/group/rsfwconfig.mmp
remotestoragefw/mountstore/group/rsfwmountstore.mmp
remotestoragefw/mountstore/inc/mdebug.h
remotestoragefw/mountstore/inc/rsfwconfig.h
remotestoragefw/mountstore/inc/rsfwmountstore.h
remotestoragefw/mountstore/src/rsfwconfig.cpp
remotestoragefw/mountstore/src/rsfwmountstore.cpp
remotestoragefw/remotedriveconfigurationbiocontrol/bif/rsfwmountconfbcbif.rss
remotestoragefw/remotedriveconfigurationbiocontrol/bwins/rsfwmountconfbcu.def
remotestoragefw/remotedriveconfigurationbiocontrol/eabi/rsfwmountconfbcu.def
remotestoragefw/remotedriveconfigurationbiocontrol/group/bld.inf
remotestoragefw/remotedriveconfigurationbiocontrol/group/rsfwmountconfbc.mmp
remotestoragefw/remotedriveconfigurationbiocontrol/inc/mydebug.h
remotestoragefw/remotedriveconfigurationbiocontrol/inc/rsfwmountconfbc.h
remotestoragefw/remotedriveconfigurationbiocontrol/inc/rsfwmountconfbc.hrh
remotestoragefw/remotedriveconfigurationbiocontrol/inc/rsfwmountconfbc.rss
remotestoragefw/remotedriveconfigurationbiocontrol/loc/rsfwmountconfbc.loc
remotestoragefw/remotedriveconfigurationbiocontrol/src/rsfwmountconfbc.cpp
remotestoragefw/remotefileengine/bwins/rsfwcommonu.def
remotestoragefw/remotefileengine/bwins/rsfwcontrolu.def
remotestoragefw/remotefileengine/bwins/rsfwsessionu.def
remotestoragefw/remotefileengine/data/RemoteFileEngine.rss
remotestoragefw/remotefileengine/data/rsfw.cfg
remotestoragefw/remotefileengine/eabi/rsfwcommonu.def
remotestoragefw/remotefileengine/eabi/rsfwcontrolu.def
remotestoragefw/remotefileengine/eabi/rsfwsessionu.def
remotestoragefw/remotefileengine/group/bld.inf
remotestoragefw/remotefileengine/group/remotefe.mmp
remotestoragefw/remotefileengine/group/rsfwcommon.mmp
remotestoragefw/remotefileengine/group/rsfwcontrol.mmp
remotestoragefw/remotefileengine/group/rsfwsession.mmp
remotestoragefw/remotefileengine/inc/mydebug.h
remotestoragefw/remotefileengine/inc/rsfwattributerefreshingstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwclosestatemachine.h
remotestoragefw/remotefileengine/inc/rsfwcommon.h
remotestoragefw/remotefileengine/inc/rsfwconnectionmanager.h
remotestoragefw/remotefileengine/inc/rsfwcontrol.h
remotestoragefw/remotefileengine/inc/rsfwcreatefilestatemachine.h
remotestoragefw/remotefileengine/inc/rsfwdeletestatemachine.h
remotestoragefw/remotefileengine/inc/rsfwdirent.h
remotestoragefw/remotefileengine/inc/rsfwdirentattr.h
remotestoragefw/remotefileengine/inc/rsfwdormantmountloader.h
remotestoragefw/remotefileengine/inc/rsfwfetchandcachestatemachine.h
remotestoragefw/remotefileengine/inc/rsfwfetchdatastatemachine.h
remotestoragefw/remotefileengine/inc/rsfwfile.h
remotestoragefw/remotefileengine/inc/rsfwfileengine.h
remotestoragefw/remotefileengine/inc/rsfwfileentry.h
remotestoragefw/remotefileengine/inc/rsfwfileentry.inl
remotestoragefw/remotefileengine/inc/rsfwfiletable.h
remotestoragefw/remotefileengine/inc/rsfwfiletable.inl
remotestoragefw/remotefileengine/inc/rsfwflushstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwgetattributesstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwinterface.h
remotestoragefw/remotefileengine/inc/rsfwinterface.inl
remotestoragefw/remotefileengine/inc/rsfwlockmanager.h
remotestoragefw/remotefileengine/inc/rsfwlookupstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwlrulistnode.h
remotestoragefw/remotefileengine/inc/rsfwlruprioritylist.h
remotestoragefw/remotefileengine/inc/rsfwmetadatastore.h
remotestoragefw/remotefileengine/inc/rsfwmkdirstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwmountconnectionstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwmountstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwopenbypathstatemachine.h
remotestoragefw/remotefileengine/inc/rsfwpermanentstore.h
remotestoragefw/remotefileengine/inc/rsfwremoteaccess.h
remotestoragefw/remotefileengine/inc/rsfwremoteaccesssync.h
remotestoragefw/remotefileengine/inc/rsfwrenamefilestatemachine.h
remotestoragefw/remotefileengine/inc/rsfwrequestallocator.h
remotestoragefw/remotefileengine/inc/rsfwrfeasyncoperation.h
remotestoragefw/remotefileengine/inc/rsfwrfemessagerequest.h
remotestoragefw/remotefileengine/inc/rsfwrfeoperation.h
remotestoragefw/remotefileengine/inc/rsfwrferequest.h
remotestoragefw/remotefileengine/inc/rsfwrfeserver.h
remotestoragefw/remotefileengine/inc/rsfwrfesession.h
remotestoragefw/remotefileengine/inc/rsfwrfestatemachine.h
remotestoragefw/remotefileengine/inc/rsfwrfesyncoperation.h
remotestoragefw/remotefileengine/inc/rsfwsession.h
remotestoragefw/remotefileengine/inc/rsfwsyncoperations.h
remotestoragefw/remotefileengine/inc/rsfwvolume.h
remotestoragefw/remotefileengine/inc/rsfwvolumetable.h
remotestoragefw/remotefileengine/inc/rsfwwaitnotemanager.h
remotestoragefw/remotefileengine/inc/rsfwwaitnotestatemachine.h
remotestoragefw/remotefileengine/loc/RemoteFileEngine.loc
remotestoragefw/remotefileengine/src/rsfwattributerefreshingstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwclosestatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwconnectionmanager.cpp
remotestoragefw/remotefileengine/src/rsfwcontrol.cpp
remotestoragefw/remotefileengine/src/rsfwcreatefilestatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwdeletestatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwdirent.cpp
remotestoragefw/remotefileengine/src/rsfwdirentattr.cpp
remotestoragefw/remotefileengine/src/rsfwdormantmountloader.cpp
remotestoragefw/remotefileengine/src/rsfwfetchandcachestatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwfetchdatastatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwfileengine.cpp
remotestoragefw/remotefileengine/src/rsfwfileentry.cpp
remotestoragefw/remotefileengine/src/rsfwfiletable.cpp
remotestoragefw/remotefileengine/src/rsfwflushstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwgetattributesstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwinterface.cpp
remotestoragefw/remotefileengine/src/rsfwlockmanager.cpp
remotestoragefw/remotefileengine/src/rsfwlookupstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwlrulistnode.cpp
remotestoragefw/remotefileengine/src/rsfwlruprioritylist.cpp
remotestoragefw/remotefileengine/src/rsfwmetadatastore.cpp
remotestoragefw/remotefileengine/src/rsfwmkdirstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwmountconnectionstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwmountstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwopenbypathstatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwpermanentstore.cpp
remotestoragefw/remotefileengine/src/rsfwremoteaccess.cpp
remotestoragefw/remotefileengine/src/rsfwremoteaccesssync.cpp
remotestoragefw/remotefileengine/src/rsfwrenamefilestatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwrequestallocator.cpp
remotestoragefw/remotefileengine/src/rsfwrfeasyncoperation.cpp
remotestoragefw/remotefileengine/src/rsfwrfemessagerequest.cpp
remotestoragefw/remotefileengine/src/rsfwrfeoperation.cpp
remotestoragefw/remotefileengine/src/rsfwrferequest.cpp
remotestoragefw/remotefileengine/src/rsfwrfeserver.cpp
remotestoragefw/remotefileengine/src/rsfwrfesession.cpp
remotestoragefw/remotefileengine/src/rsfwrfestatemachine.cpp
remotestoragefw/remotefileengine/src/rsfwrfesyncoperation.cpp
remotestoragefw/remotefileengine/src/rsfwsession.cpp
remotestoragefw/remotefileengine/src/rsfwsyncoperations.cpp
remotestoragefw/remotefileengine/src/rsfwvolume.cpp
remotestoragefw/remotefileengine/src/rsfwvolumetable.cpp
remotestoragefw/remotefileengine/src/rsfwwaitnotemanager.cpp
remotestoragefw/remotefileengine/src/rsfwwaitnotestatemachine.cpp
remotestoragefw/remotefilesystemplugin/bwins/eremotefsu.def
remotestoragefw/remotefilesystemplugin/eabi/eremotefsu.def
remotestoragefw/remotefilesystemplugin/group/bld.inf
remotestoragefw/remotefilesystemplugin/group/eremotefs.mmp
remotestoragefw/remotefilesystemplugin/inc/rsfwfilesystem.h
remotestoragefw/remotefilesystemplugin/inc/rsfwfsdircb.h
remotestoragefw/remotefilesystemplugin/inc/rsfwfsfilecb.h
remotestoragefw/remotefilesystemplugin/inc/rsfwfsformatcb.h
remotestoragefw/remotefilesystemplugin/inc/rsfwfsmountcb.h
remotestoragefw/remotefilesystemplugin/src/rsfwfilesystem.cpp
remotestoragefw/remotefilesystemplugin/src/rsfwfs.cpp
remotestoragefw/remotefilesystemplugin/src/rsfwfsdircb.cpp
remotestoragefw/remotefilesystemplugin/src/rsfwfsfilecb.cpp
remotestoragefw/remotefilesystemplugin/src/rsfwfsformatcb.cpp
remotestoragefw/remotefilesystemplugin/src/rsfwfsmountcb.cpp
remotestoragefw/rom/rsfw.iby
remotestoragefw/rom/rsfw_resources.iby
remotestoragefw/rsfwnotifierplugins/bwins/rsfwnotpluginu.def
remotestoragefw/rsfwnotifierplugins/data/101f9770.rss
remotestoragefw/rsfwnotifierplugins/data/rsfwnotplugindialog.rss
remotestoragefw/rsfwnotifierplugins/eabi/rsfwnotpluginu.def
remotestoragefw/rsfwnotifierplugins/group/bld.inf
remotestoragefw/rsfwnotifierplugins/group/rsfwnotplugin.mmp
remotestoragefw/rsfwnotifierplugins/inc/mydebug.h
remotestoragefw/rsfwnotifierplugins/inc/rsfwauthenticationdlgrequest.h
remotestoragefw/rsfwnotifierplugins/inc/rsfwnotplugindlg.h
remotestoragefw/rsfwnotifierplugins/inc/rsfwnotpluginnamedialog.h
remotestoragefw/rsfwnotifierplugins/inc/rsfwnotpluginrequest.h
remotestoragefw/rsfwnotifierplugins/inc/rsfwsavetodlgrequest.h
remotestoragefw/rsfwnotifierplugins/loc/rsfwnotplugindialog.loc
remotestoragefw/rsfwnotifierplugins/src/rsfwnotplugindlg.cpp
remotestoragefw/rsfwnotifierplugins/src/rsfwnotpluginnamedialog.cpp
remotestoragefw/webdavaccessplugin/data/101f9769.rss
remotestoragefw/webdavaccessplugin/group/bld.inf
remotestoragefw/webdavaccessplugin/group/rsfwdavaccess.mmp
remotestoragefw/webdavaccessplugin/inc/mydebug.h
remotestoragefw/webdavaccessplugin/inc/rsfwdavaccess.h
remotestoragefw/webdavaccessplugin/inc/rsfwdavaccesscontext.h
remotestoragefw/webdavaccessplugin/inc/rsfwdavdefs.h
remotestoragefw/webdavaccessplugin/inc/rsfwdavfileinfo.h
remotestoragefw/webdavaccessplugin/inc/rsfwdavsession.h
remotestoragefw/webdavaccessplugin/inc/rsfwdavtransaction.h
remotestoragefw/webdavaccessplugin/inc/rsfwlockqueryparser.h
remotestoragefw/webdavaccessplugin/inc/rsfwpropfindparser.h
remotestoragefw/webdavaccessplugin/src/rsfwdavaccess.cpp
remotestoragefw/webdavaccessplugin/src/rsfwdavaccesscontext.cpp
remotestoragefw/webdavaccessplugin/src/rsfwdavfileinfo.cpp
remotestoragefw/webdavaccessplugin/src/rsfwdavproxy.cpp
remotestoragefw/webdavaccessplugin/src/rsfwdavsession.cpp
remotestoragefw/webdavaccessplugin/src/rsfwdavtransaction.cpp
remotestoragefw/webdavaccessplugin/src/rsfwlockqueryparser.cpp
remotestoragefw/webdavaccessplugin/src/rsfwpropfindparser.cpp
rsfw_plat/rsfw_access_protocol_plugin_api/group/bld.inf
rsfw_plat/rsfw_access_protocol_plugin_api/inc/rsfwmountentry.h
rsfw_plat/rsfw_access_protocol_plugin_api/inc/rsfwmountentryitem.h
rsfw_plat/rsfw_access_protocol_plugin_api/inc/rsfwmountman.h
rsfw_plat/rsfw_access_protocol_plugin_api/remote_storage_fw_mountman_api.metaxml
sysdef_1_4_0.dtd
--- a/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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: This file provides the information required for building the whole project
-*
-*/
-
-
-
-#include "../rsfw_plat/rsfw_access_protocol_plugin_api/group/bld.inf" 
-#include "../remotestoragefw/group/bld.inf"
-
-
-//  End of File  
--- a/layers.sysdef.xml	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
-  <!ENTITY layer_real_source_path "sf/mw/remotestorage" >
-]>
-
-<SystemDefinition name="remotestorage" schema="1.4.0">
-  <systemModel>
-    <layer name="mw_layer">
-      <module name="remotestorage">
-        <unit unitID="presdo.remotestorage" mrp="" bldFile="&layer_real_source_path;/group" name="remotestorage" />
-      </module>
-    </layer>
-  </systemModel>
-</SystemDefinition>
--- a/remotestoragefw/MDebug/inc/mdebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug printing to a log file
- *
-*/
-
-
-#ifndef MDEBUG_H
-#define MDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-
-#include "mydebug.h"
-
-// Take care that the correct mydebug.h will be included
-// In mydebug.h in your module inc directory,
-// define your application-specific configuration like this:
-// ----------------------------------------------------------
-// Debug file - debug output is disabled if the parent dir does not exist
-// _LIT(KDebugFileName, "C:\\logs\\remotefileengine\\remotefileengine.txt");
-
-// Replace the current debug file - if not defined appends to the file
-#ifndef APPEND_TO_DEBUG_FILE
-#define REPLACE_DEBUG_FILE
-#endif
-
-// Maximum formatted size resulting from a single DEBUG* call
-#ifndef MAX_DEBUG_STRING_LENGTH
-#define MAX_DEBUG_STRING_LENGTH 4096
-#endif
-// ----------------------------------------------------------
-
-// FUNCTION PROTOTYPES
-void DebugInit(TBool aDebugSuspended = EFalse);
-void SetDebugEnabled(TBool aValue);
-void SetDebugSuspended(TBool aValue);
-void DebugStringNarrowL(const char* aFmt, ...);
-void DebugStringWideL(const char* aFmt, ...);
-void DebugBufferL(const TDesC8& aBuf);
-void DebugBufferL(const TDesC& aBuf);
-void DebugTimeL(const TTime& aTime);
-
-// MACROS
-// If you output one or more narrow descriptors by using '%S',
-//    use DEBUGSTRING8
-// else if you output one or more unicode descriptors by using '%S',
-//    use DEBUGSTRING16
-// else
-//    use DEBUGSTRING
-//
-// Narrow and unicode cannot be mixed in a single DEBUGSTRINGx call.
-
-#ifdef _DEBUG
-#define DEBUGINIT() DebugInit()
-#define DEBUGINITSUSPENDED() DebugInit(ETrue)
-#define DEBUGENABLE() SetDebugEnabled(ETrue)
-#define DEBUGDISABLE() SetDebugEnabled(EFalse)
-#define DEBUGSUSPEND() SetDebugSuspended(ETrue)
-#define DEBUGCONTINUE() SetDebugSuspended(EFalse)
-#define DEBUGSTRING(x) DebugStringNarrowL x
-#define DEBUGSTRING8(x) DebugStringNarrowL x
-#define DEBUGSTRING16(x) DebugStringWideL x
-#define DEBUGBUFFER(x) DebugBufferL x
-#define DEBUGTIME(x) DebugTimeL x
-#else
-#define DEBUGINIT()
-#define DEBUGINITSUSPENDED()
-#define DEBUGENABLE()
-#define DEBUGDISABLE()
-#define DEBUGSUSPEND()
-#define DEBUGCONTINUE()
-#define DEBUGSTRING(x)
-#define DEBUGSTRING8(x)
-#define DEBUGSTRING16(x)
-#define DEBUGBUFFER(x)
-#define DEBUGTIME(x)
-#endif
-
-#endif // MDEBUG_H
-
-// End of File
--- a/remotestoragefw/MDebug/src/mdebug.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug printing to a log file
- *
-*/
-
-
-// INCLUDES
-#include <flogger.h>
-
-#include "mdebug.h"
-
-// FORWARD DECLARATIONS
-void DoOutput(TDesC8& aData);
-
-void DebugStringNarrowL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC8* buf = HBufC8::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(fmt, args);
-    buf->Des().Append('\n');
-    DoOutput(*buf);
-    CleanupStack::PopAndDestroy(); // buf
-       
-    VA_END(args);
-    }
-
-void DebugStringWideL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC* fmt16 = HBufC::NewLC(fmt.Length());
-    fmt16->Des().Copy(fmt);
-    HBufC* buf = HBufC::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(*fmt16, args);
-    buf->Des().Append('\n');
-    HBufC8* buf8 = HBufC8::NewLC(buf->Length());
-    buf8->Des().Copy(*buf);
-    DoOutput(*buf8);
-    CleanupStack::PopAndDestroy(3); // fmt16, buf, buf8
-
-    VA_END(args);
-    }
-
-void DebugBufferL(const TDesC8& aBuf)
-    {
-    DebugStringNarrowL("\"%S\"", &aBuf);
-    }
-
-void DebugBufferL(const TDesC& aBuf)
-    {
-    DebugStringWideL("\"%S\"", &aBuf);
-    }
-
-void DebugTimeL(const TTime& aTime)
-    {
-    TBuf<64> dateTimeString;
-    _LIT(KDateString, "%E%D%X%N%Y %1 %2 %3");
-    aTime.FormatL(dateTimeString, KDateString);
-    DebugBufferL(dateTimeString);
-    _LIT(KTimeString, "%-B%:0%J%:1%T%:2%S%.%*C4%:3%+B");
-    aTime.FormatL(dateTimeString, KTimeString);
-    DebugBufferL(dateTimeString);
-    }
-
-void DoOutput(TDesC8& aData)
-    {
-    RFileLogger::Write(KDebugDirName,
-                       KDebugFileName,
-                       EFileLoggingModeAppend,
-                       aData);
-    }
-
-// End of File
--- a/remotestoragefw/cenrep/backup_registration.xml	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-    <proxy_data_manager sid = "0x10202BE9" />
-    <restore requires_reboot = "yes"/>
-</backup_registration>
Binary file remotestoragefw/cenrep/keys_remote_storage_fw.xls has changed
Binary file remotestoragefw/conf/remote_storage_fw.confml has changed
Binary file remotestoragefw/conf/remote_storage_fw_101F9775.crml has changed
--- a/remotestoragefw/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Build info for RSFW
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-#include "../mountstore/group/bld.inf"
-#include "../rsfwnotifierplugins/group/bld.inf"
-#include "../remotefileengine/group/bld.inf" // rsfwcontrol.dll comes from here, and should be always included
-#include "../mountmanager/group/bld.inf"
-#include "../webdavaccessplugin/group/bld.inf"
-#include "../remotefilesystemplugin/group/bld.inf"
-#ifdef __REMOTE_STORAGE_FW
-#include "../gsplugin/group/bld.inf"
-#include "../remotedriveconfigurationbiocontrol/group/bld.inf"
-#endif
-
-PRJ_EXPORTS
-// .iby files (only for 5.0)
-../rom/rsfw.iby         CORE_MW_LAYER_IBY_EXPORT_PATH(rsfw.iby)
-../rom/rsfw_resources.iby           LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(rsfw_resources.iby)
-
-// conf files
-../conf/remote_storage_fw.confml                        APP_LAYER_CONFML(remote_storage_fw.confml)
-../conf/remote_storage_fw_101F9775.crml                 APP_LAYER_CRML(remote_storage_fw_101F9775.crml)
-
-//  End of File  
--- a/remotestoragefw/gsplugin/data/101f9777.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: 
-*        ECOM plugin resource file for RSFW GS plugin.
-*
-*
-*/
-
-#include <registryinfo.rh>
-
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid     = 0x101F9777; 
-	interfaces  = 
-		{
-		INTERFACE_INFO
-			{
-			interface_uid   = 0x10207236; // UID for CGSPluginInterface - do not change.
-			implementations = 
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = 0x101F9778; 
-					version_no          = 1;
-					display_name        = "RSFW GS plugin"; 
-					default_data        = "0x10207250"; // Parent UID connection settings
-					opaque_data         = "90"; // Order number
-					}
-				};
-			}
-		};
-	}
-
--- a/remotestoragefw/gsplugin/data/rsfwgspluginrsc.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,580 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Resource file for RSFW GS plugin
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    RSFW // 4 letter ID
-
-//  INCLUDES
-#include    <eikon.rh>
-#include    <avkon.rsg>
-#include    <avkon.rh>
-#include    <avkon.mbg>
-#include    <eikon.rsg>
-#include    <appinfo.rh>
-#include    <avkon.loc>
-#include    <AvkonIcons.hrh>
-#include    <data_caging_paths_strings.hrh>
-#include    "rsfwgsplugin.hrh"
-#include    <rsfwgsplugin.loc>
-#include    <remotefileengine.loc>
-#include    <cmmanager.loc>
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    EIK_APP_INFO
-//    It contains application information.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    }
-
-
-// **COMMON RESOURCES
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_menubar_open_exit
-//    Options menu with 'Open' and 'Exit' items.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_gs_menubar_open_exit
-    {
-    titles =
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_gs_menu_item_exit;
-            },
-        MENU_TITLE 
-            {
-            menu_pane = r_gs_menu_item_open;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_menubar_change_exit
-//    Options menu with 'Change' and 'Exit' items.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_gs_menubar_change_exit
-    {
-    titles =
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_gs_menu_item_exit;
-            },
-        MENU_TITLE 
-            {
-            menu_pane = r_gs_menu_item_change;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_menu_item_open
-//    Options menu item 'Open'.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_gs_menu_item_open
-    {
-    items =
-        {
-        MENU_ITEM 
-            {
-            command = EGSCmdAppOpen;
-            txt = qtn_set_options_open;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_menu_item_change
-//    Options menu item 'Change'.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_gs_menu_item_change
-    {
-    items =
-        {
-        MENU_ITEM 
-            {
-            command = EGSCmdAppChange;
-            txt = qtn_set_options_change;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_menu_item_exit
-//    Options menu items 'Help' and 'Exit'.
-//    Used instead of plain 'Exit' when help is wanted
-//    to be shown in UI.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_gs_menu_item_exit
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EAknCmdHelp;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM 
-            {
-            command = EAknCmdExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-
-// RSFW SETTINGS
-    
-//----------------------------------------------------
-//  r_gs_remote_drives_view_caption 
-// 
-// remote drives view caption
-//----------------------------------------------------
-//
-RESOURCE TBUF r_gs_remote_drives_view_caption
-    {
-    buf = qtn_set_folder_conn_remote_drives;
-    }
-    
-
-//------------------------------------------------------------------------------
-//   
-//  r_gs_menubar_remote_drives_view   
-//  Menubar for Remote drive list view.
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_gs_menubar_remote_drives_view
-    {
-    titles =
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_gs_menu_item_exit;
-            },
-        MENU_TITLE 
-            {
-            menu_pane = r_gs_remote_drives_menu;
-            }
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//  r_gs_remote_drives_menu
-//  Menu items in Profiles menu.
-//------------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_gs_remote_drives_menu
-    {
-    items=
-        {
-       MENU_ITEM 
-            {
-            command = EGSCmdAppChange;
-            txt = qtn_options_change; 
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM 
-            {
-            command = EGSCmdAppEdit;
-            txt = qtn_rd_opt_edit;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = EGSCmdAppNew;
-            txt = qtn_rd_opt_new_drive;
-            },
-        MENU_ITEM
-            {
-            command = EGSCmdAppConnect;
-            txt = qtn_rd_opt_connect;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = EGSCmdAppDisconnect;
-            txt = qtn_rd_opt_disconnect;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = EGSCmdAppSendLink;
-            txt = qtn_rd_opt_send_link;
-            flags = EEikMenuItemSpecific;
-            },            
-        MENU_ITEM
-            {
-            command = EGSCmdAppDelete;
-            txt = qtn_rd_opt_delete;
-            flags = EEikMenuItemSpecific;
-            }       
-        };
-    }
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_rsfw_main_view
-//    RSFW plugin main view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_gs_rsfw_main_view
-    {
-    menubar = r_gs_menubar_remote_drives_view;  
-    cba = r_rsfw_softkeys_options_back_edit;    
-    }
-      
-
-//------------------------------------------------------------------------------
-//   
-//    r_gs_rsfw_no_remote_drives
-//    Remote Drives view's listbox empty text.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_gs_rsfw_no_remote_drives
-    {
-    buf = qtn_rd_empty_list_primary;        
-    }
-    
- 
-//------------------------------------------------------------------------------
-//   
-//    r_gs_rsfw_no_remote_drives
-//    Remote Drives view's listbox empty text.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_gs_rsfw_no_remote_drives_explanatory
-    {
-    buf = qtn_rd_empty_list_secondary;        
-    }
-     
- 
-//------------------------------------------------------------------------------
-//   
-//    r_gs_rsfw_remote_drive_settings_view
-//    Remote drive settings view.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_gs_rsfw_remote_drive_settings_view
-    {
-    menubar = r_gs_menubar_change_exit;  
-    cba = r_rsfw_softkeys_options_back_change;    
-    }
-
-
-RESOURCE CBA r_rsfw_softkeys_options_back_edit
-    {
-    buttons = 
-        {
-        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
-        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
-        CBA_BUTTON { id = EGSCmdAppEdit; txt = qtn_msk_edit; }
-        };
-    }
-    
-RESOURCE CBA r_rsfw_softkeys_options_back_change
-    {
-    buttons = 
-        {
-        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
-        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
-        CBA_BUTTON { id = EGSCmdAppChange; txt = qtn_msk_change; }
-        };
-    } 
-    
-RESOURCE CBA r_rsfw_softkeys_options_back_empty
-		{    
-  	buttons =
-  			{
-  			CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; },
-        CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; },
-        CBA_BUTTON { id = EAknSoftkeyEmpty; txt = text_softkey_empty; }
-  			};
-  	}
-    
-//------------------------------------------------------------------------------
-//   
-//    r_gs_rsfw_remote_drive_settings_view_title
-//    Remote drives setting view's default title.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_gs_rsfw_remote_drive_settings_view_title
-    {
-    txt = qtn_rd_title_drives;        
-    }
-    
-// ---------------------------------------------------------
-//   
-// r_settings
-//
-// settings list - collection of all setting types
-//   
-// ---------------------------------------------------------
-RESOURCE AVKON_SETTING_ITEM_LIST r_settings
-    {
-    flags = EAknSettingItemIncludeHiddenInOrdinal;
-    title = qtn_rd_title_new_drive;
-    items = 
-        {
-        AVKON_SETTING_ITEM
-            {
-            identifier = ESettingItemDriveName;
-            setting_page_resource = r_server_name_editor_page;
-            name = qtn_rd_setting_drive_name;
-            empty_item_text = qtn_rd_default_drive_name;
-            compulsory_ind_string = "*";
-            },
-       AVKON_SETTING_ITEM
-            {
-            identifier = ESettingItemURL;
-            setting_page_resource = r_url_editor_page;
-            name = qtn_rd_setting_url;
-            compulsory_ind_string = "*";
-            },
-        AVKON_SETTING_ITEM
-            {
-            identifier = ESettingItemAccessPoint;
-            setting_page_resource = r_accesspoint_editor_page;
-            name = qtn_rd_setting_ap;
-            empty_item_text = qtn_netw_conset_sett_always_ask;
-            },            
-        AVKON_SETTING_ITEM
-            {
-            identifier = ESettingItemUserID;
-            setting_page_resource = r_user_id_editor_page;
-            name = qtn_rd_setting_user;
-            },
-        AVKON_SETTING_ITEM
-            {
-            identifier = ESettingItemPassword;
-            setting_page_resource = r_password_editor_page;
-            name = qtn_rd_setting_pw;
-            }
-        };
-    }
-    
-// ---------------------------------------------------------
-//   
-// Settings Pages
-//
-// defines the AVKON_SETTING_PAGE structures referred to in 
-// setting_page_resource fields above.
-// 
-// These structures define the way in which the editors used
-// to change the setting data are presented.
-// 
-// ---------------------------------------------------------
-//   
-RESOURCE AVKON_SETTING_PAGE r_server_name_editor_page
-    {
-    label= qtn_rd_setting_drive_name;
-    type = EEikCtEdwin;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    editor_resource_id = r_server_name_editor;
-    }
-  
-RESOURCE AVKON_SETTING_PAGE r_url_editor_page
-    {
-    label= qtn_rd_setting_url;
-    type = EEikCtEdwin;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    editor_resource_id = r_url_editor;
-    }  
-
-RESOURCE AVKON_SETTING_PAGE r_accesspoint_editor_page
-    {
-    label= qtn_rd_setting_ap;
-    type = EEikCtEdwin;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    editor_resource_id = r_accesspoint_editor;
-    }
-      
-RESOURCE AVKON_SETTING_PAGE r_user_id_editor_page
-    {
-    label= qtn_rd_setting_user;
-    type = EEikCtEdwin;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    editor_resource_id = r_user_id_editor;
-    }
-  
-RESOURCE AVKON_SETTING_PAGE r_password_editor_page
-    {
-    label= qtn_rd_setting_pw;
-    type = EEikCtSecretEd;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    editor_resource_id = r_password_editor;
-    }    
-    
-RESOURCE EDWIN r_user_id_editor
-    {
-    flags = EEikEdwinAutoSelection | EAknEditorLowerCase | EEikEdwinNoLineOrParaBreaks;
-    allowed_case_modes = EAknEditorLowerCase | EAknEditorUpperCase;
-    numeric_keymap=EAknEditorCalculatorNumberModeKeymap;
-    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
-    default_input_mode = EAknEditorTextInputMode;
-    special_character_table = R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG;
-    default_case = EAknEditorLowerCase;
-    avkon_flags = EAknEditorFlagLatinInputModesOnly;
-    width = 0;
-    lines = 0;
-    maxlength = KMaxUserIDLength;
-    }
-  
-RESOURCE SECRETED r_password_editor
-    {
-    num_letters = KMaxPasswordLength;
-    }
-
-RESOURCE EDWIN r_server_address_editor
-    {
-    maxlength = KMaxServerAddressLength;
-    }
-  
-RESOURCE EDWIN r_accesspoint_editor
-    {
-    maxlength = KMaxAccessPointNameLength;
-    }
-  
-RESOURCE EDWIN r_server_name_editor
-    {
-    width = 0;
-    lines = 0;
-    flags = EEikEdwinNoLineOrParaBreaks;
-    maxlength = KMaxFriendlyNameLength;
-    }
-  
-RESOURCE EDWIN r_url_editor
-    {
-    maxlength = KMaxURLLength;
-    numeric_keymap = EAknEditorCalculatorNumberModeKeymap;
-    allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
-    default_input_mode = EAknEditorTextInputMode;
-    special_character_table = R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG;
-    allowed_case_modes = EAknEditorLowerCase | EAknEditorUpperCase;
-    default_case = EAknEditorLowerCase;
-    flags = EEikEdwinAutoSelection | EAknEditorLowerCase | EEikEdwinNoLineOrParaBreaks;
-    avkon_flags = EAknEditorFlagLatinInputModesOnly;
-    width = 0;
-    lines = 0;
-    }    
-    
-RESOURCE DIALOG r_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items=
-        {
-        DLG_LINE 
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout =EConfirmationQueryLayout;
-                };
-            }
-        };
-    }  
-RESOURCE DIALOG r_rsfw_information_note
-    {
-    flags =  EAknInformationNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control = AVKON_NOTE
-                {
-                // localised string for default text, see Notes UI spec.
-                layout = EGeneralLayout;
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-    
-    
-RESOURCE DIALOG r_drive_unavailable_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items=
-        {
-        DLG_LINE 
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout =EConfirmationQueryLayout;
-                };
-            }
-        };
-    }      
-    
-//----------------------------------------------------
-//   
-//    string resouces
-//    the strings can be localized in loc file
-//
-//----------------------------------------------------
-//    
-RESOURCE TBUF r_str_remote_drive_new_name { buf = qtn_rd_title_new_drive; }
-RESOURCE TBUF r_str_rsfw_conf_delete { buf = qtn_rd_query_delete_drive; }
-RESOURCE TBUF r_str_remote_drive_conf_compulsory { buf = qtn_rd_query_incomplete; }
-RESOURCE TBUF r_str_remote_drives_view_title { buf = qtn_rd_title_drives; }
-RESOURCE TBUF r_str_remote_drive_name_already_exist { buf = qtn_rd_error_existing_name; }
-RESOURCE TBUF r_str_rsfw_error_max_drives { buf = qtn_rd_error_max_drives; }
-RESOURCE TBUF r_str_rsfw_error_edit_connected { buf = qtn_rd_error_edit_connected; }
-RESOURCE TBUF r_str_rsfw_error_illegal_characters { buf = qtn_fldr_illegal_characters; }
-RESOURCE TBUF r_str_rsfw_error_illegal_address { buf = qtn_rd_infonote_missing_http_prefix; }
-RESOURCE TBUF r_str_rsfw_send_credentials_query { buf = qtn_rd_conf_query_send_auth_info; }
-    
-//End of File
--- a/remotestoragefw/gsplugin/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Build information file for project GS Plugin
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/rsfwgsplugin.hrh   |../../inc/rsfwgsplugin.hrh
-// export localised loc file
-../loc/rsfwgsplugin.loc        MW_LAYER_LOC_EXPORT_PATH(rsfwgsplugin.loc)
-
-PRJ_MMPFILES
-
-rsfwgsplugin.mmp
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE rsfwgsplugin.mif
-  OPTION HEADERFILE rsfwgsplugin.mbg
-  OPTION SOURCES -c8,8 qgn_prop_set_conn_remotedrive \
-                 -c8,8 qgn_indi_connection_on_add
-END
\ No newline at end of file
--- a/remotestoragefw/gsplugin/group/rsfwgsplugin.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Project definition file for project GS plugin
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>    //this is needed for RESOURCE_FILES_DIR
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              rsfwgsplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x101F9777
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              rsfwgsplugin.cpp
-SOURCE              rsfwgsplugindrivelistcontainer.cpp
-SOURCE              rsfwgsremotedrivesettingscontainer.cpp
-SOURCE              rsfwgspluginsettinglist.cpp
-SOURCE              rsfwgssettingsdata.cpp
-SOURCE              rsfwgspluginimplementationtable.cpp
-SOURCE              rsfwgspropertywatch.cpp
-SOURCE              rsfwgsremotedrivesend.cpp          
-SOURCEPATH              ../../MDebug/src
-SOURCE                  mdebug.cpp
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE       /epoc32/include/ecom
-USERINCLUDE     ../inc
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      101f9777.rss 
-TARGET              rsfwgsplugin.rsc 
-END // ECOM resource definition
-
-//Resource file
-START RESOURCE      rsfwgspluginrsc.rss 
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // resource
-
-LIBRARY             euser.lib
-//LIBRARY             ecom.lib
-LIBRARY             gsecomplugin.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib // For CEikMenuPane
-LIBRARY             eikcore.lib // For MEikMenuObserver
-LIBRARY             eikctl.lib	// Column Listbox 
-LIBRARY             commonengine.lib	//For RConeResourceLoader
-//LIBRARY             egul.lib 	// CGulIcon
-LIBRARY             apsettingshandlerui.lib  // access point UI
-LIBRARY             apengine.lib  //AP engine 
-LIBRARY             commdb.lib // AP handling
-//LIBRARY             fbscli.lib // For CFbsBitmap
-LIBRARY             aknicon.lib // For AknIconUtils
-LIBRARY             agentdialog.lib // To show access points only in emulator
-LIBRARY             rsfwmountman.lib  // For remote mount handling
-LIBRARY             rsfwmountstore.lib // for CMountEntry
-LIBRARY             rsfwmountutils.lib
-LIBRARY             hlplch.lib // HlpLauncher
-LIBRARY             connectionuiutilities.lib
-LIBRARY             sendui.lib
-LIBRARY             etext.lib 
-LIBRARY             charconv.lib // for CnvUtfConverter
-LIBRARY             aknskins.lib // AknsUtils.h
-LIBRARY             featmgr.lib
-LIBRARY             ecom.lib
-LIBRARY             sysutil.lib // DiskSpaceBelowCriticalLevel
-LIBRARY             flogger.lib
-LIBRARY             inetprotutil.lib
-
-
-// This is optional - used only by Codewarrior for convenience.
-//DOCUMENT            101F9777.rss
-
-// End of File
--- a/remotestoragefw/gsplugin/group/rsfwgspluginicons.mk	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# Copyright (c) 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:  icons makefile for project RsfwGsPlugin
-#
-
-ifeq (WINS,$(findstring WINS,$(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=$(EPOCROOT)epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\rsfwgsplugin.mif
-HEADERFILENAME=$(HEADERDIR)\rsfwgsplugin.mbg
-
-MAKMAKE : ;
-
-BLD : ;
-
-CLEAN : ;
-
-LIB : ;
-
-CLEANLIB : ;
-
-RESOURCE : 
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,8 qgn_prop_set_conn_remotedrive.svg \
-		/c8,8 qgn_indi_connection_on_add.svg 
-
-FREEZE : ;
-
-SAVESPACE : ;
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : ;
--- a/remotestoragefw/gsplugin/inc/mydebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug printing to a log file
- *
-*/
-
-
-#ifndef MYDEBUG_H
-#define MYDEBUG_H
-
-// Debug defines for MountMan:
-
-#define APPEND_TO_DEBUG_FILE
-
-_LIT(KDebugDirName, "gsplugin");
-_LIT(KDebugFileName, "gsplugin.txt");
-
-#endif // MYDEBUG_H
-
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgslocalviewids.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-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:  View ID's for all RsfwGsPlugin views.
-*
-*/
-
-
-#ifndef GS_RSFW_LOCAL_VIEW_IDS_H
-#define GS_RSFW_LOCAL_VIEW_IDS_H
-
-// CONSTANTS
-const TUid KRemoteDriveSettingsViewId = {11};
-
-/** 
-* This UID is used for both the view UID and the ECOM plugin implementation 
-* UID.
-*/
-const TUid KGSRsfwPluginUID = { 0x101F9778 };
-
-#endif // GS_RSFW_LOCAL_VIEW_IDS_H
-
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgsplugin.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +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:  Rsfw GS plugin, UI(CAknView) interface header
-*
-*/
-
-
-
-#ifndef CRSFWGSPLUGIN_H
-#define CRSFWGSPLUGIN_H
-
-// INCLUDES
-#include <ConeResLoader.h>
-#include <gsplugininterface.h>
-#include <aknnotewrappers.h>
-#include "rsfwgsplugin.hrh"
-#include "rsfwgsremotedrivesend.h"
-
-// CONSTANTS
-
-// the drive letter is required in these
-// resource file
-_LIT( KRsfwGsPluginResourceFileName, "Z:\\resource\\rsfwgspluginrsc.rsc" );
-// icons
-_LIT(KGSPluginBitmapFile,       "Z:\\resource\\apps\\rsfwgsplugin.mif");
-
-// FORWARD DECLARATIONS
-class CRsfwGsPluginDriveListContainer;
-class CRsfwGsPluginDriveSettingsContainer;
-class CRsfwMountMan;
-
-/**
-*  CRsfwGsPlugin view class (CAknView).
-*
-* This is RSFW GS plugin.
-*/
-class CRsfwGsPlugin : public CGSPluginInterface
-    {
-    
-    public: // Constructors and destructor
-        
-        /**
-        * Symbian OS two-phased constructor
-        * @return 
-        */
-        static CRsfwGsPlugin* NewL( TAny* aInitParams );
-    
-        /**
-        * Destructor.
-        */
-        ~CRsfwGsPlugin();
-        
-        /**
-        * Load the SettingsView with specified mount entry and type of loading
-        * The types are EEditExisting, ENewDefault, ENewFromExisting
-        */
-        void LoadSettingsViewL(TRsfwSettingsViewType aType, TDesC& aMountName, TBool aAddToViewStack);
-
-        /**
-        * Loads the Main View where list of remote drives is visible
-        */
-        void LoadMainViewL();
-        
-		/**
-        * Help launcher method.
-        * @param aContext The help context
-        */
-        void LaunchHelpL( const TDesC& aContext );
-        
-    public: // From CAknView
-        
-        /**
-        * This function is used for identifying the plugin
-        */
-        TUid Id() const;
-        
-        /**
-        * See CAknView
-        */
-        void HandleViewRectChange();
-
-        /**
-        * See CAknView
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-        /**
-        * See CAknView
-        */
-        void DoDeactivate();
-
-        /**
-        * See CAknView
-        */
-        void HandleCommandL( TInt aCommand );
-        
-  public:
-        
-        /**
-        * Is the current remote drive connected?
-        * Fetches the information from RFE
-        */
-        TBool IsDriveConnectedL();
-        
-        /**
-        * Update softkeys
-        */
-        void UpdateCbaL();
-        
-        /**
-        * This function deletes the current remote drive.
-        */
-        void DeleteRemoteDriveL();
-        
-        /**
-        * Return the currently active container
-        */   
-        CCoeControl* CurrentContainer();
-        
-        /**
-        * Process the existed deleting dialog
-        */   
-        void ProcessDeletingDialog();
-
-    protected:
-
-        /**
-        * C++ default constructor.
-        */
-        CRsfwGsPlugin( );
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-        
-    private:
-    
-        /**
-        * See base classes
-        */
-        void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
-        
-       
-        /**
-        * Connect he current remote drive
-        */
-        void ConnectRemoteDriveL();
-
-        /**
-        * Disconnect he current remote drive
-        */
-        void DisconnectRemoteDriveL();
-        
-        
-        /**
-        * Sends a link to the current remote drive as a smart message
-        */
-        void SendLinkL();
-        
-        
-        /**
-        * Process "Send As"
-        */
-        void DoSendAsL();
-        
- 
-    public: // From CGSPluginInterface
-    
-        /**
-        * See CGSPluginInterface
-        */
-        void GetCaptionL( TDes& aCaption ) const;
-        
-        /**
-        * See CGSPluginInterface
-        */
-        CGulIcon* CreateIconL( const TUid aIconType );
-    
-    public:    
-        
-        void HandleResourceChangeManual(TInt aType);
-        
-    protected: //Data        
-        
-        // Reference to application UI - not owned.
-        CAknViewAppUi* iAppUi;
-        
-        // RConeResourceLoader
-        RConeResourceLoader iResources;
-        
-        // Previous View ID
-        TVwsViewId iPrevViewId; // Previous view.
-        
-    private:
-    
-        // Pointer to the main list container - owned
-        CRsfwGsPluginDriveListContainer* iMainListContainer;
-        
-        // Pointer to the setting list container - owned.
-        CRsfwGsPluginDriveSettingsContainer* iSettingListContainer;
-        
-        // Pointer to the model - owned
-        CRsfwMountMan*  iMountMan;
-        
-        // Pointer to the current container - not owned.
-        CCoeControl* iCurrentContainer;   
-        
-        // for sending remote drive links - owned
-        CRsfwGsRemoteDriveSend*	iSender;
-        
-        // Pointer to the possible deleting dialog
-        CAknQueryDialog* iDialog;
-        
-        // The deleting id of remote drive
-        TChar iDeletingId;
-    };
-  
-
-
-#endif // CRSFWGSPLUGIN_H
-
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgsplugin.hrh	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2002-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:  contains comman definitions for menu id:s
-*
-*/
-
-
-#ifndef GS_RSFW_PLUGIN_HRH
-#define GS_RSFW_PLUGIN_HRH
-
-
-/**
- * TSettingItems - identifiers for individual setting items
- */
-enum TSettingItems
-    {
-    ESettingItemDriveName = 1,
-    ESettingItemURL,
-    ESettingItemAccessPoint,
-    ESettingItemServerAddress,
-    ESettingItemUserID,
-    ESettingItemPassword  
-    };
-    
-
-// DATA TYPES
-// CONSTANTS
-#define MAXCONFITEMLENGTH 128
-
-// Menu commands
-enum TGSRsfwPluginMenuCommands
-    {
-    EGSCmdAppConnect = 400,
-    EGSCmdAppOpen,
-    EGSCmdAppDisconnect,
-    EGSCmdAppEdit,
-    EGSCmdAppChange,
-    EGSCmdAppNew,
-    EGSCmdAppDelete,
-    EGSCmdAppSendLink,
-    EGSCmdUpdateList
-    };
-    
-/**
- * Constants used in application
- */
-enum TRsfwSettingsIndex
-    {
-    ESettingNameIndex = 0,
-    EServerAddressIndex,
-    EAccessPointIndex,
-    EUserIDIndex,
-    EPasswordIndex
-    };    
-    
-/**
- * TRsfwSettingsViewType - Used inside UI to differentiate
- * different kinds of editing
- */ 
-enum TRsfwSettingsViewType
-    {
-    EEditExisting,
-    ENewDefault,
-    ENewFromExisting        
-    };    
-    
-/**
- * Constants used in resources and in application
- */
-// maximum length for the drive name
-#define KMaxFriendlyNameLength 20 // from UI spec
-#define KMaxSettingSetNameArrayGran 10
-#define KMaxUserIDLength 50
-#define KMaxServerAddressLength 200
-#define KMaxPasswordLength 50
-#define KMaxURLLength 200 // from UI spec
-#define KMaxServerNameLength 20
-#define KMaxAccessPointNameLength 100 // from ApSettingsHandlerUI
-#define KMaxAccessPointDesLength 10
-#define KMaxCompulsoryTextLength 25
-#define KMaxInactivityTimeoutString 10
-// maximum length for menu pane title
-#define KMaxMenuPaneTitleLength 25
-
-// List items of remote drive settings view   
-enum {
-    KGSRsfwSettingsName,
-    KGSRsfwSettingsAddress,
-    KGSRsfwSettingsAccessPoint,
-    KGSRsfwSettingsUserName,
-    KGSRsfwSettingsPassword
-    };
-
-#endif  // GS_RSFW_PLUGIN_HRH
-
-
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgsplugindrivelistcontainer.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-/*
-* Copyright (c) 2003 - 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:  The control container (view) of the remote drives list view
-*
-*/
-
-
-#ifndef CRSFWGSPLUGINDRIVELISTCONTAINER_H
-#define CRSFWGSPLUGINDRIVELISTCONTAINER_H
-
-// INCLUDES
-// System includes
-#include <eikclb.h>
-#include <akntitle.h>
-
-#include "rsfwgsplugin.hrh"
-#include "rsfwgspropertywatch.h"
-
-// FORWARD DECLARATIONS
-
-class CRsfwGsPlugin;
-class CRsfwMountMan;
-class CEikButtonGroupContainer;
-class CAknColumnListBox;
-
-// CLASS DECLARATION
-
-/**
-*  CRsfwGsPluginDriveListContainer container class
-*  @since 3.1
-*  container class for Remote Drives view
-*/
-class CRsfwGsPluginDriveListContainer : public CCoeControl, 
-                                               MEikListBoxObserver,
-                                               MCoeForegroundObserver
-    {
-    public:  // Constructors and destructor
-    
-    	/**
-        * Constructor
-        */
-        CRsfwGsPluginDriveListContainer(CRsfwGsPlugin* aView);
-        
-        
-         /**
-        * Symbian OS default constructor.
-        *
-        * @param aRect gives the correct TRect for construction.
-        */
-        void ConstructL( const TRect& aRect, CRsfwMountMan* aMountMan );
-
-        /**
-        * Destructor.
-        */
-        ~CRsfwGsPluginDriveListContainer();    
- 
-  public: // From CCoeControl
-        
-        /**
-        * See CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * See CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * See CCoeControl
-        */
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent, TEventCode aType );
-
-        /**
-        * See CCoeControl
-        */
-        void SizeChanged();         
-
-        /**
-        * See CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-         * Gets help context
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-        /**
-         * See CCoeControl
-         */
-        void FocusChanged(TDrawNow aDrawNow);
-        
- public: // MCoeForegroundObserver
-
-        /** Handles the drive list view coming to the foreground. */
-        void HandleGainingForeground();
-        /** Handles the drive list view going into the background. */
-        void HandleLosingForeground();
-
-        
- public: // own methods
-        
-        /**
-        * Invokes editing on current item, in response to UI Edit command
-        */
-        void EditCurrentItemL();
-        
-        /**
-        * See MEikListBoxObserver
-        */
-        void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-        
-        /**
-        * Finds whether main list is empty
-        * @return ETrue if main list is empty.
-        */
-        TBool IsListEmpty();
-        
-        /**
-        * Finds whether the current item is the last item in main list
-        * @return ETrue if current item is last in main list.
-        */
-        TBool IsLastItem();
-        
-        /**
-        * Delete the currently focused drive. Also deletes it from CentRep
-        */
-        void DeleteCurrentRemoteDriveL();
-        
-        /**
-        * Is drive connected?
-        * Fetches the information from RFE
-        * @param the Friendly name of the drive
-        */
-        TBool IsDriveConnectedL(const TDesC& aName);
-        
-        /**
-        * Sets drive in the list to 'connected' or 'disconnected'
-        * (modifies the icon)
-        * @param the Friendly name of the drive
-        */
-        void SetDriveConnectedStateL(const TDesC& aName, TBool aConnected);
-        
-        /**
-        * Connects the currently chose remote drive
-        */
-        void ConnectCurrentRemoteDriveL();
-                 
-        /**
-        * Disconnects the remote drive
-        */
-        void DisconnectCurrentRemoteDriveL();
-        
-        /**
-        * Loads remote drives from Central Repository
-        * @return TInt the number of remote drives
-        */
-        TInt LoadRemoteDriveListArrayL();
-        
-        /**
-        * Suggests next new remote drive name, this usually called by UI when
-        * user create a new remote drive.
-        * @return TDesC& new remote drive name
-        */
-        TDesC& GetNextRemoteDriveNameL();
-        
-        /**
-        * Get the name of currently focused drive. Usually called by UI.
-        * The pointer to buffer remains on heap, which is deleted by caller.
-        * @return HBufC* pointer to currently focused remote drive name
-        */
-        HBufC* GetCurrentRemoteDriveNameLC();
-        
-         /**
-        * Get the name of remote drive at index aIndex. Usually called by UI
-        * @return TPtrC16 Pointer to a buffer owned by the list array
-        */
-        TPtrC GetRemoteDriveNameL(TInt aIndex);
-        
-         /**
-        * Sets the model
-        */   
-        void SetModel(CRsfwMountMan* iMountMan);
-      
-         /**
-        * Returns the number of remote drives in the list
-        */  		
-		TInt RemoteDriveCount();
-		
-        /**
-        * Sets the focus
-        */
-        void SetFocus();
-
-        /**
-        * Sets the focus to given drive
-        */
-        void SetFocusL(const TDes& aDriveName);       
-
-        /**
-        * Get the ID of the current remote drive. 
-        * ID is the drive letter under which the drive is mounted
-        * @return TInt ID of the current remote drive
-        */
-       TChar GetCurrentRemoteDriveIdL();
-
-		
-		void HandleResourceChangeManual(TInt aType);
-
-    private: // own methods
-    
-        /**
-        * Perform the initial setup of the main list. Called by Constructor
-        */
-      void SetupListL();
-          
-      
-        /**
-        * Get Remote drive names 
-        * @return CDesCArray remote drives
-        */
-      CDesCArray* GetRemoteDriveNamesL();
-
-        /**
-        * Handles the drive list view coming to the foreground.
-        * Leaving variant
-        */
-      void HandleGainingForegroundL();
-
-    public:  // data
-      
-      // model, not owned	
-      CRsfwMountMan*           iMountMan;
-      
-           // for setting focus
-      TInt iCurrentItemIndex;
-    
-    private: // data
-    
-    // Pointer to the main list, owned
-      CAknColumnListBox* iMainList;
-
-      // Pointer to the application view, not owned
-      CRsfwGsPlugin* iView; // not owned
-      
-      // The remote drive names list array, not owned
-      CDesCArray* iRemoteDriveListArray;
-      
-      // Buffer for holding remote drive setting name
-      TBuf<KMaxFriendlyNameLength>  iSettingNewName;
-      
-      // Title for menu pane
-      TBuf<KMaxMenuPaneTitleLength>  iTitle;
-      
-      // Pointer to title pane, not owned
-      CAknTitlePane* iTitlePane;
-      
-      // P&S notifier about changes in drive connection state
-      CRsfwGsPropertyWatch* iDriveConnectObserver;
-      
- 
-    
-    };
-
-#endif //CRSFWGSPLUGINDRIVELISTCONTAINER_H
-            
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgspluginsettinglist.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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:  Rsfw GS plugin, Setting List class
-*
-*/
-
-
-#ifndef CRSFWGSPLUGINSETTINGSLIST_H
-#define CRSFWGSPLUGINSETTINGSLIST_H
-
-// INCLUDE FILES
-//#include <coecntrl.h>
-#include <aknsettingitemlist.h>
-#include <agentdialog.h>
-#include "rsfwgsplugin.hrh"
-
-// FORWARD DECLARATIONS
-class CRsfwGsSettingsData;
-
-/**
-*  CRsfwGsPluginSettingsList derived from CAknSettingItemList
-*/
-class CRsfwGsPluginSettingsList : public CAknSettingItemList
-    {
-    
-    public:
-        
-        /**
-        * Symbian OS two-phased constructor
-        * @param reference to CRsfwGsSettingsData from which data to be displayed
-        */
-        static CRsfwGsPluginSettingsList* NewL(CRsfwGsSettingsData &aData);
-        
-        /**
-        * Symbian OS two-phased constructor, leave pointer to stack
-        * @param reference to CRsfwGsSettingsData from which data to be displayed
-        */
-        static CRsfwGsPluginSettingsList* NewLC(CRsfwGsSettingsData &aData);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CRsfwGsPluginSettingsList();
-
-        /**
-        * Inherited from base classes. See CCoeControl
-        */
-        void SizeChanged();
-      
-        /**
-        * Edit the indexed item. This probably came as a result of UI command
-        * @param aIndex index to the item
-        * aCalledFromMenu ETrue of this call resulted from UI command
-        */
-        void EditItemL (TInt aIndex, TBool aCalledFromMenu);
-      
-        /**
-        * Actual editing of item done here, from whereever the call is made from
-        */
-        void EditCurrentItemL();
-      
-        /**
-        * Gets the Access point name
-        * @param aAP Access point number as integer
-        * aAccessPoint reference to TDes, doesnt change if AP not found
-        * otherwise access point name returns here
-        */
-        void GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint);
-      
-        /**
-        * Sets the focus to the first item of the settings list
-        */
-        void ResetItemIndex();
-
-    private:
-        
-        /**
-        * C++ constructor
-        * @param reference to CRsfwGsSettingsData
-        */
-        CRsfwGsPluginSettingsList(CRsfwGsSettingsData &aData);
-
-        /**
-        * See CAknSettingItemList
-        */
-        CAknSettingItem* CreateSettingItemL (TInt aSettingId);
-      
-        /**
-        * Edit the AccessPoint, We edit the access point differently than other
-        * settings. We bypass the list's text editor and open the S60 standard
-        * access point editor 
-        */
-        void EditAccessPointL();
-      
-        /**
-        * Saves the changed settings to the list's data
-        * @param aIndex index of the setting to be saved
-        */
-        void SaveSettingL(TInt aIndex);
-      
-        /**
-        * Sets the title pane text with given discriptor
-        * @param aTitleText text to be shown on title pane
-        */
-        void SetTitlePaneTextL( const TDesC& aTitleText ) const;
-
-    private:
-    
-        // Reference to the data owned by container
-        CRsfwGsSettingsData& iSettingsData;
-      
-      	// Dialog server for access point selection
-		RGenConAgentDialogServer iDlgSrv;
-		
-		// Request status for requests made to RGenConAgentDialogServer
-		TRequestStatus iStatus;
-    };
-
-#endif // CRSFWGSPLUGINSETTINGSLIST_H
\ No newline at end of file
--- a/remotestoragefw/gsplugin/inc/rsfwgspropertywatch.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-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:  P&S observer
-*
-*/
-
-
-#ifndef CRSFWGSPROPERTYWATCH_H
-#define CRSFWGSPROPERTYWATCH_H
-
-#include <e32base.h>
-#include <e32property.h>
-#include <f32file.h>
-
-// FORWARD DECLARATIONS
-class CRsfwGsPluginDriveListContainer;
-
-class CRsfwGsPropertyWatch : public CActive
-{
-	enum { EPriority=0 };
-	
-public:
-	static CRsfwGsPropertyWatch* NewL(CRsfwGsPluginDriveListContainer* aContainer);
-	~CRsfwGsPropertyWatch();
-private:
-	CRsfwGsPropertyWatch();
-	void ConstructL(CRsfwGsPluginDriveListContainer* aContainer);
-	void RunL();
-	void DoCancel();
-private:
-	RProperty iProperty;
-	CRsfwGsPluginDriveListContainer* iContainer;
-	TDriveList iDriveList;
-};
-
-#endif // CRSFWGSPROPERTYWATCH_H
-
-// End of File
\ No newline at end of file
--- a/remotestoragefw/gsplugin/inc/rsfwgsremotedrivesend.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Rsfw GS plugin, for sending drive
- *
-*/
-
-
-#ifndef CRSFWGSREMOTEDRIVESEND_H
-#define CRSFWGSREMOTEDRIVESEND_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS;
-class CRsfwMountEntry;
-class CEikMenuPane;
-class CSendUi;
-class TParse;
-class RFile;
-
-// path and filename for vCalendar attachment
-_LIT( KRemoteDriveAttachmentFilename, "c:\\system\\data\\rsfw_cache\\rdrive.cfg" );
-
-NONSHARABLE_CLASS( CRsfwGsRemoteDriveSend ) : public CBase
-    {
-public: // Factory method and destructor 
-    static CRsfwGsRemoteDriveSend* NewL(TInt aMenuCommandId);
-    virtual ~CRsfwGsRemoteDriveSend();
-
-public: // API 
-    TBool CanSend();
-    void DisplaySendMenuItemL(CEikMenuPane& aMenuPane, TInt aIndex);
-    void DisplaySendCascadeMenuL();
-    void SendL(const CRsfwMountEntry& aEntry);
-    
-private: // utility functions
-    void DoSendAsAttachmentFileL(TInt aCommand, TParse& aFilename);
-
-    void DoSendAsAttachmentHandleL(const RFile& aHandle);
-    
-    HBufC8* ConvertToUtf7LC(const TDesC16& aText);
-
-private: // constrution 
-    CRsfwGsRemoteDriveSend();
-    void ConstructL(TInt aMenuCommandId);
-private: // data
-    CSendUi* iSendUi;
-    TInt iSendAsCmdId;
-    TUid iSelectedMtmUid;
-    CArrayFixFlat<TUid>* iSendMtmsToDim;
- 
-
-    }; 
-
-#endif // CRSFWGSREMOTEDRIVESEND_H
-
-
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgsremotedrivesettingscontainer.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2002-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:  The control container (view) of the settings list view
-*
-*/
-
-
-#ifndef CRSFWGSPLUGINDRIVESETTINGSCONTAINER_H
-#define CRSFWGSPLUGINDRIVESETTINGSCONTAINER_H
-
-// INCLUDES
-#include    <akncheckboxsettingpage.h>
-//#include    "rsfwgsplugin.h"
-
-
-// FORWARD DECLARATIONS
-//class CGSListBoxItemTextArray;
-class CRsfwGsPluginSettingsList;
-class CRsfwGsSettingsData;
-class CRsfwMountMan;
-class CAknView;
-class CRsfwMountEntry;
-
-
-// CLASS DECLARATION
-
-/**
-*  CRsfwGsPluginDriveSettingsContainer container class
-*  container class for Remote drive settings view
-*
-*  @lib rsfwgsplugin.dll
-*  @since Series 60 3.1
-*/
-class CRsfwGsPluginDriveSettingsContainer : public CCoeControl, 
-                                            MEikListBoxObserver,
-                                            MCoeForegroundObserver
-                                            
-    {
-    public: // Constructors and destructor
-
-         /**
-        * Constructor.
-        */
-        CRsfwGsPluginDriveSettingsContainer(CAknView* aView);
-
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        * @param aRect gives the correct TRect for construction
-        * @param aModel for the model
-        */
-        void ConstructL( const TRect& aRect, 
-                         CRsfwMountMan* aMountMan );
-
-
-        /**
-        * Destructor.
-        */
-        ~CRsfwGsPluginDriveSettingsContainer();
-
-    public: // From CCoeControl
-    
-        /**
-        * See CCoeControl.
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * See CCoeControl.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * See CCoeControl.
-        */
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent, TEventCode aType );
-            
-        /**
-        * See CCoeControl.
-        */
-        void SizeChanged();
-        
-        /**
-        * See CCoeControl.
-        */
-        void Draw(const TRect& aRect) const;
-       
-        /**
-        * See CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-
-        /**
-         * Gets help context
-         */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-        /**
-         * See CCoeControl
-         */
-        void FocusChanged(TDrawNow aDrawNow);
-        
-    public: // MCoeForegroundObserver
-
-        /** Handles the drive list view coming to the foreground. */
-        void HandleGainingForeground();
-        /** Handles the drive list view going into the background. */
-        void HandleLosingForeground();
-     
-        
-    public:
-    
-        /**
-        * Edit currently focused item on settings list. called from UI
-        */
-        void EditCurrentItemL();
-        
-        /**
-        * See MEikListBoxObserver
-        */
-        void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-        
-        /**
-        * Prepare a Remote drive with given name for editing
-        * @param aRemoteDriveName reference to the remote drive to be edited
-        */
-        void PrepareRemoteDriveForEditingL(const TDesC& aRemoteDriveName);
-        
-        /**
-        * Prepare the a new remote drive with default values with given name
-        * @param aRemoteDrive name reference to the new remote drive name
-        */
-        void PrepareRemoteDriveNewDefaultL(TDesC& aRemoteDriveName);
-        
-              
-        /**
-        * Called by the UI when back button is pressed, to perform needed steps
-        * @return ETrue if settings list is allowed to close
-        */
-        TBool IsExitProcessingOKL(); 
-        
-        /**
-        * Save current drive settings
-        */        
-        void SaveSettingsL();
-        
-        /*
-        * Return the name of current set in iData
-        * @return TDes reference to current set
-        */
-        TDes& GetCurrentRemoteDriveName();
-
-      
-        void HandleResourceChangeManual(TInt aType);
-      
-    private: // Most of these methods perform operations using iData
-    
-        /**
-        * Sets the title pane text with given discriptor
-        * @param aTitleText text to be shown on title pane
-        */
-        void SetTitlePaneTextL( const TDesC& aTitleText ) const;
-        
-        /**
-        * Finds out whether compulsory items are filled
-        * @return ETrue if compulsory items are filled
-        */
-        TBool AreCompulsoryItemsFilled();
-        
-        /**
-        * Display a query dialog to user that compulsory settings are not
-        * filled, and if user wants to delete the settings
-        * @return ETrue if user wants to delete the settings
-        */
-        TBool DisplayDeleteOrDontSaveDialogL();
-        
-        /**
-        * Update a remote drive if it already exist or create it if it doesnt exist
-        * @param aShowDialog if false then possible error notes won't be shown
-        * @return ETrue if save procedure goes ok
-        */
-        TBool SaveOrCreateAndSaveRemoteDriveL(TBool aShowDialog);
-        
-        /**
-        * Deletes the remote drive if it exist in the Central Repository
-        */
-        void DeleteRemoteDriveIfExistL();
-        
-        /**
-        * Load Remote drive names with trap, useful when list doesnt have anything
-        * @param Reference to setting ids
-        * @return CDesCArray remote drives
-        */
-      	CDesCArray* LoadRemoteDriveNamesL();  
-   
-        /**
-        * See if the remote drive setting under edit was changed
-        * @param Reference to the current mount conf 
-        * @return ETrue if something has been changed
-        */   	
-      	TBool DataChanged(const CRsfwMountEntry* aCurrentData);   
-      	
-      	/**
-        * Check whether some other drive (some other drive letter) already uses this name
-        * @param aRemoteDriveNamereference the remote drive name
-        * @param aDriveLetter the drive letter
-        * @return ETrue if remote drive exist with given name
-        */
-        TBool IsRemoteDriveNameConflictL(TDesC& aRemoteDriveName, const TDesC& aDriveLetter);
-
-        /**
-        * Returns ETrue if the address (URL) for a remote drive is valid
-        * Calls RsfwMountUtils API
-        * @since S60 3.2
-        * @param aFriendlyName remote drive friendly name
-        */
-        TBool IsDriveAddressValidL(const TDesC& aDriveAddress);
-            
-    private: // data
-        
-        // CRsfwGsPluginSettingsList owned
-      	CRsfwGsPluginSettingsList* iSettingList;        
-  
-      	// Pointer to settings data owned
-      	CRsfwGsSettingsData* iData;
-      	
-      	  // Pointer to the application view, not owned
-     	 CAknView* iView; // not owned
-      	    	
-    	// model, not owned	
-      	CRsfwMountMan*           iMountMan; 
-    };
-
-
-#endif  // CRSFWGSPLUGINDRIVESETTINGSCONTAINER_H
-
-// End of File
--- a/remotestoragefw/gsplugin/inc/rsfwgssettingsdata.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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:  Rsfw GS plugin data holding class for Rsfw setting list
-*
-*/
-
-
-#ifndef CRSFWGSSETTINGSDATA_H
-#define CRSFWGSSETTINGSDATA_H
-
-// INCLUDE FILES
-#include <e32base.h>
-
-#include "rsfwgsplugin.hrh"
-
-
-// CONSTANTS
-const TInt KDefaultInactivityTimeout        = 600; // 5min
-
-/**
-*  CRsfwGsSettingsData holds single remote drive configuration
-*/
-class CRsfwGsSettingsData : public CBase
-    {
-    public:
-
-        /**
-        * Default 1st phase factory method.
-        * Creates an instance of CRsfwGsSettingsData
-        */
-      static CRsfwGsSettingsData* NewL();
-      
-        /**
-        * Default 1st phase factory method.
-        * Creates an instance of CRsfwGsSettingsData, leaves it on stack
-        */
-        static CRsfwGsSettingsData* NewLC();
-        
-        /**
-        * Destructor
-        */
-      virtual ~CRsfwGsSettingsData();
-      
-        /**
-        * Resets all data to initial values
-        */
-      void Reset();
-      
-    private:
-
-        /**
-        * 2nd Phase constructor
-        */
-      void ConstructL();
-      
-        /**
-        * C++ Constructor
-        */
-      CRsfwGsSettingsData();
-      
-    public:
-        
-      // Buffer holding the remote drive friendly name
-      TBuf<KMaxFriendlyNameLength>  iSettingName;
-
-      // Access point number
-      TInt32                          iAccessPoint;
-      
-      // Buffer holding the access point number as a descriptor
-      TBuf<KMaxAccessPointDesLength>  iAccessPointDes;
-      
-      // Buffer holding the URL
-      TBuf<KMaxURLLength>          iURL;
-
-        // Buffer holding the User ID
-      TBuf<KMaxUserIDLength>          iUserID;
-      
-      // Buffer holding the password
-      TBuf<KMaxPasswordLength>        iPassword;
-      
-      // Buffer holding the access point name
-      TBuf<KMaxAccessPointNameLength> iAccessPointName;
-      
-      // Inactivity timeout
-      TBuf<KMaxInactivityTimeoutString> iInActivityTimeout;
-      
-      // drive letter
-      TChar iDriveLetter;
-    };
-
-#endif // CRSFWGSSETTINGSDATA_H
\ No newline at end of file
--- a/remotestoragefw/gsplugin/loc/rsfwgsplugin.loc	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for RsfwGSPlugin
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-//d:error note; not able to add a new drive
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_error_max_drives "Maximum number of remote drives configured. Remove old configurations to create new."
-
-//d:error note; not able to edit settings for a connected drive
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_error_edit_connected  "%U connected. Drive configuration cannot be changed during active connection."
-
-//d:error note; new configuration is incomplete
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_query_incomplete  "Remote drive configuration incomplete. Delete configuration?"
-
-//d:error note; drive name already exists
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_error_existing_name  "Drive name %U already exists. Please enter unique drive name."
-
-//d:Default name for a new remote drive
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_default_drive_name  "New drive"
-
-//d:Password setting for a remote drive
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_setting_pw  "Password"
-
-//d:User name setting for a remote drive
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_setting_user  "User name"
-
-//d:Access point setting for a remote drive
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_setting_ap	 "Access point"
-
-//d:Address setting for a remote drive
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_setting_url  "Address"
-
-//d:Drive name setting for a remote drive
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_setting_drive_name  "Drive name"
-
-//d:Default title for settings for a new remote drive
-//l:title_pane_t2/opt9
-//w:
-//r:3.1
-//
-#define qtn_rd_title_new_drive "New drive"
-
-//d:Text in confirmation query when deleting a drive
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_query_delete_drive "Delete configuration for %U?"
-
-//d:Options list text for deleting a remote drive
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_opt_delete "Delete"
-
-//d:Options list text for new remote drive
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_opt_new_drive "New remote drive"
-
-//d:Options list text for editing a remote drive
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_opt_edit  "Edit"
-
-//d:Options list text for connecting a remote drive
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_opt_connect  "Connect"
-
-//d:Options list text for disconnecting a remote drive
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_opt_disconnect  "Disconnect"
-
-//d:Options list text for sending a remote drive configuration
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_opt_send_link  "Send link"
-
-//d:Text for empty listbox item
-//l:main_pane_empty_t1/opt2
-//w:
-//r:3.1
-//
-#define qtn_rd_empty_list_primary  "(no remote drives)"
-
-//d:Secondary text for empty listbox item
-//l:main_list_empty_pane/opt2
-//w:
-//r:3.1
-//
-#define qtn_rd_empty_list_secondary  "Select New remote drive from options menu"
-
-//d:Text in title pane
-//l:title_pane_t2/opt9
-//w:
-//r:3.1
-//
-#define qtn_rd_title_drives  "Remote drives"
-
-//d:Title showed by Control Panel application for this plugin
-//l:list_double_large_graphic_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_set_folder_conn_remote_drives  "Remote drives"
-
-//d:Default value for access point name
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_rd_default_access_point  "Always ask"
-
-//d:Information note 
-//l:popup_note_window
-//d:There has to be '\' character before '"' character.
-//d: This combination is shown as '"' character
-//w:
-//r:3.2
-#define qtn_rd_infonote_missing_http_prefix  "Add a supported prefix to drive address. For example \"https://\" or \"http://\"."
-
-// End of File
-
-
--- a/remotestoragefw/gsplugin/src/rsfwgsplugin.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,699 +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:  RsfwPlugin Implementation
-*
-*/
-
-
-// Includes
-#include <StringLoader.h>
-#include <rsfwgspluginrsc.rsg> 
-#include <gsfwviewuids.h> // for KUidGS
-#include <aknnotewrappers.h>
-#include <hlplch.h>
-#include <utf.h>
-#include <rsfwgsplugin.mbg>
-#include <featmgr.h>
-#include <csxhelp/cp.hlp.hrh>
-#include <rsfwmountman.h>
-#include <rsfwmountentry.h>
-
-#include "rsfwgsplugin.h"
-#include "rsfwinterface.h"
-#include "rsfwgsplugindrivelistcontainer.h"
-#include "rsfwgsremotedrivesettingscontainer.h"
-#include "rsfwgslocalviewids.h"
-
-
-#define KUidGeneralSettings   0x100058EC
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::CRsfwGsPlugin()
-// Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPlugin::CRsfwGsPlugin( )
-    : iAppUi( CAknView::AppUi() ), iResources( *CCoeEnv::Static() )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::~CRsfwGsPlugin()
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPlugin::~CRsfwGsPlugin()
-    {    
-    FeatureManager::UnInitializeLib();
-    
-    if (iCurrentContainer && iAppUi)
-        {
-        iAppUi->RemoveFromViewStack( *this, iCurrentContainer );
-        }
-    delete iMainListContainer;
-    delete iSettingListContainer;
-    delete iMountMan;
-    delete iSender;
-    iResources.Close();
-    /** Nice to know when the plugin is cleaned up */
-    #ifdef _DEBUG
-    RDebug::Print( _L( "[CRsfwGsPlugin] ~CRsfwGsPlugin()" ) );
-    #endif
-
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::ConstructL()
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::ConstructL()
-    {
-    // To know if the plugin is loaded (for debugging)
-    #ifdef _DEBUG
-    RDebug::Print(_L("[CRsfwGsPlugin] ConstructL()" ));
-    RDebug::Print( _L( "[CRsfwGsPlugin] Loading resource from :" ) );
-    RDebug::Print( KRsfwGsPluginResourceFileName );
-    #endif
-    
-   	iMountMan = CRsfwMountMan::NewL(0, NULL);   
-   	
-   	iSender = CRsfwGsRemoteDriveSend::NewL(EGSCmdAppSendLink);
-    
-    TFileName fileName( KRsfwGsPluginResourceFileName );
-    iResources.OpenL( fileName ); 
-    BaseConstructL( R_GS_RSFW_MAIN_VIEW );
-    	
-    FeatureManager::InitializeLibL();		
-   	
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::NewL()
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPlugin* CRsfwGsPlugin::NewL( TAny* /*aInitParams*/ )
-    {
-    CRsfwGsPlugin* self = new(ELeave) CRsfwGsPlugin( );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::Id() const
-// ---------------------------------------------------------------------------
-//
-TUid CRsfwGsPlugin::Id() const
-    {
-    return KGSRsfwPluginUID;
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::HandleClientRectChange()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::HandleViewRectChange()
-    {
-    if ( iMainListContainer->IsVisible() )
-        {
-        iMainListContainer->SetRect( ClientRect() );
-        }
-        
-    if ( iSettingListContainer->IsVisible() )
-        {
-        iSettingListContainer->SetRect( ClientRect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::DoActivateL( const TVwsViewId& aPrevViewId,
-                                  TUid aCustomMessageId,
-                                  const TDesC8& aCustomMessage )
-    {
-    iPrevViewId = aPrevViewId;
-    if (iCurrentContainer)
-        {
-        iAppUi->RemoveFromViewStack( *this, iCurrentContainer );
-        iCurrentContainer = NULL;
-        }
-        
-
-    if( iMainListContainer )
-        {
-        delete iMainListContainer;
-        iMainListContainer=NULL;
-        }
-
-    if( iSettingListContainer )
-        {
-        delete iSettingListContainer;
-        iSettingListContainer = NULL;
-        }
-            
-    iMainListContainer = new( ELeave ) CRsfwGsPluginDriveListContainer(this);
-    iMainListContainer->SetMopParent(this);
-    TRAPD( error, iMainListContainer->ConstructL( ClientRect(), iMountMan ) );
-    if (error)
-        {
-        delete iMainListContainer;
-        iMainListContainer = NULL;
-        User::Leave( error );
-        }
-        
-    iSettingListContainer = new( ELeave ) CRsfwGsPluginDriveSettingsContainer(this);
-    iSettingListContainer->SetMopParent(this);
-    TRAPD( error1, iSettingListContainer->ConstructL( ClientRect(), iMountMan));
-    if (error1)
-        {
-        delete iSettingListContainer;
-        iSettingListContainer = NULL;
-        User::Leave( error1 );
-        }
-
-  if (aCustomMessageId == KRemoteDriveSettingsViewId)  
-    	{
-    	TBuf<KMaxFriendlyNameLength> remoteDrive;
-    	CnvUtfConverter::ConvertToUnicodeFromUtf8(remoteDrive, aCustomMessage);
-    	iSettingListContainer->MakeVisible(ETrue);
-    	if (remoteDrive.Length() > 0) 
-    	    {
-    	    LoadSettingsViewL(EEditExisting, remoteDrive, EFalse); 
-    	    }
-    	 else 
-    	    {
-    	    LoadSettingsViewL(ENewDefault, 
-                    iMainListContainer->GetNextRemoteDriveNameL(), EFalse);
-    	    }
-    	iCurrentContainer = iSettingListContainer;
-    	} 
-    else 
-    	{
-    	iSettingListContainer->MakeVisible(EFalse);
-    	iCurrentContainer = iMainListContainer;
-    	}
-
-    UpdateCbaL();
-    iAppUi->AddToViewStackL( *this, iCurrentContainer ); 
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::DoDeactivate()
-    {
-    // try to save settings if in settings list container
-    if ( iCurrentContainer && iSettingListContainer
-        && iCurrentContainer == iSettingListContainer )
-        {
-        TRAP_IGNORE(iSettingListContainer->SaveSettingsL());
-        }
-        
-    if ( iCurrentContainer )
-        {
-        iAppUi->RemoveFromViewStack( *this, iCurrentContainer );
-        }
-    iCurrentContainer = NULL;
-
-    if( iMainListContainer )
-        {
-        delete iMainListContainer;
-        iMainListContainer = NULL;
-        }
-        
-    if( iSettingListContainer )
-        {
-        delete iSettingListContainer;
-        iSettingListContainer = NULL;
-        }        
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::HandleCommandL( TInt aCommand )
-    {
-  	switch ( aCommand )
-        {
-        case EAknSoftkeyBack:
-            if (iCurrentContainer == iSettingListContainer)
-                {
-                if (iSettingListContainer->IsExitProcessingOKL()) 
-                	{
-                	// if we are called from GS, go back to the main view
-                	// otherwise we are called e.g. from FileManager =>
-                	// go back to the previous view
-                	if (iPrevViewId.iAppUid == KUidGS)
-                		{
-                		LoadMainViewL();
-                		// set focus on the newly created/modified drive
-                		// we have to pass the name cause in case a drive has just been created
-                		// we don't know its position on the list
-                		iMainListContainer->SetFocusL(iSettingListContainer->GetCurrentRemoteDriveName());
-                		}
-                	else 
-                		{
-                		iAppUi->ActivateLocalViewL( iPrevViewId.iViewUid );	
-                		}
-                	
-                	}              
-                }
-            else  
-          	  {
-               iAppUi->ActivateLocalViewL( iPrevViewId.iViewUid );
-           	  }
-                
-            break;
-        case EGSCmdAppEdit:
-            if (!(iMainListContainer->IsListEmpty())) 
-                {
-                iMainListContainer->EditCurrentItemL();
-                }
-        	break;
-        case EGSCmdAppChange:
-            iSettingListContainer->EditCurrentItemL();                       
-            break;   
-        case EGSCmdAppNew:
-        	// Number of remote drives is limited to 9, so that drive
-        	// letters are also available for other technologies.
-        	if (iMainListContainer->RemoteDriveCount() < KMaxRemoteDrives) 
-        	{
-      			LoadSettingsViewL(ENewDefault, 
-                    iMainListContainer->GetNextRemoteDriveNameL(), ETrue);
-        	}
-        	else 
-        	{
-                HBufC* myDisplayMessage = NULL;
-                myDisplayMessage = StringLoader::LoadLC(R_STR_RSFW_ERROR_MAX_DRIVES);
-                CAknErrorNote* errorNote = new CAknErrorNote(EFalse);
-                errorNote->ExecuteLD(*myDisplayMessage);
-                CleanupStack::PopAndDestroy(myDisplayMessage);
-        	}
-            break;
-        case EGSCmdAppDelete:
-            DeleteRemoteDriveL();
-            break;
-       	case EGSCmdAppConnect:
-       		ConnectRemoteDriveL();
-       		break;
-       	case EGSCmdAppDisconnect:
-       		DisconnectRemoteDriveL();
-       		break;	
-        case EAknCmdHelp:
-        	{
-            if (iCurrentContainer == iSettingListContainer)
-                {
-                LaunchHelpL(KRD_HLP_REMOTE_DRIVE_CONFIG);
-                }
-               
-            else 
-                {
-                LaunchHelpL(KRD_HLP_REMOTE_DRIVES);
-                }
-            
-        	}
-        	break;
-        case EGSCmdAppSendLink:
-        	{
-        	SendLinkL();
-        	}
-        	break;
-        default:
-            iAppUi->HandleCommandL( aCommand );
-            break;
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::GetCaptionL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    StringLoader::Load( aCaption, R_GS_REMOTE_DRIVES_VIEW_CAPTION );
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::CreateIconL()
-// ---------------------------------------------------------------------------
-//
- CGulIcon* CRsfwGsPlugin::CreateIconL( const TUid aIconType )
- 	{
- 	 CGulIcon* icon;
-       
-    if( aIconType == KGSIconTypeLbxItem )
-        {
-        icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnPropSetConnRemotedrive, 
-        KGSPluginBitmapFile,
-        EMbmRsfwgspluginQgn_prop_set_conn_remotedrive,
-        EMbmRsfwgspluginQgn_prop_set_conn_remotedrive_mask);
-        }
-     else
-        {
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
- 	return icon;
- 	}
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::LoadSettingsViewL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::LoadSettingsViewL(TRsfwSettingsViewType aType, TDesC& aRemoteDrive, TBool aAddToViewStack)
-    {
-    switch(aType)
-        {
-        case EEditExisting:
-            iSettingListContainer->PrepareRemoteDriveForEditingL(aRemoteDrive);
-            break;
-        case ENewDefault:
-            iSettingListContainer->PrepareRemoteDriveNewDefaultL(aRemoteDrive);
-            break;
-        default:
-            break;
-        }
-    if (iCurrentContainer)
-        iAppUi->RemoveFromViewStack( *this, iCurrentContainer );
-    iCurrentContainer = iSettingListContainer;
-    if (aAddToViewStack) 
-        {
-        iAppUi->AddToViewStackL( *this, iCurrentContainer );
-        }
-    iMainListContainer->MakeVisible(EFalse);
-    iSettingListContainer->MakeVisible(ETrue);
-    UpdateCbaL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::LoadMainViewL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::LoadMainViewL()
-    {
-    iMainListContainer->LoadRemoteDriveListArrayL();
-    if (iCurrentContainer)
-        iAppUi->RemoveFromViewStack( *this, iCurrentContainer );
-    iCurrentContainer = iMainListContainer;
-    iAppUi->AddToViewStackL( *this, iCurrentContainer );
-   
-    iMainListContainer->SetFocus();
-   
-    iSettingListContainer->MakeVisible(EFalse);  
-    UpdateCbaL();
-    iMainListContainer->MakeVisible(ETrue);
-    Cba()->DrawDeferred();  
-    }
-    
-
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::DynInitMenuPaneL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::DynInitMenuPaneL( TInt aResourceId, 
-                                      CEikMenuPane* aMenuPane )
-    {
-    if ( aResourceId == R_GS_REMOTE_DRIVES_MENU )
-        {
-        if (iCurrentContainer == iMainListContainer)
-       		{
-        	aMenuPane->SetItemDimmed(EGSCmdAppChange, ETrue);
-        	if (iMainListContainer->IsListEmpty())
-            	{
-				aMenuPane->SetItemDimmed( EGSCmdAppEdit, ETrue );
-            	aMenuPane->SetItemDimmed( EGSCmdAppDelete, ETrue ); 
-            	aMenuPane->SetItemDimmed( EGSCmdAppConnect, ETrue );
-            	aMenuPane->SetItemDimmed( EGSCmdAppDisconnect, ETrue );  
-            	aMenuPane->SetItemDimmed( EGSCmdAppSendLink, ETrue );
-            	}
-            else 
-                {
-                TBool isDriveConnected = IsDriveConnectedL();
-                aMenuPane->SetItemDimmed( EGSCmdAppDelete, isDriveConnected ); 
-                aMenuPane->SetItemDimmed( EGSCmdAppConnect, isDriveConnected );  
-                aMenuPane->SetItemDimmed( EGSCmdAppEdit, isDriveConnected );  
-            	aMenuPane->SetItemDimmed( EGSCmdAppDisconnect, !isDriveConnected );  	
-                }
-       		}
-        else 
-        	{
-        	aMenuPane->SetItemDimmed( EGSCmdAppNew, ETrue );
-    		aMenuPane->SetItemDimmed( EGSCmdAppEdit, ETrue );
-            aMenuPane->SetItemDimmed( EGSCmdAppDelete, ETrue ); 
-            aMenuPane->SetItemDimmed( EGSCmdAppConnect, ETrue );
-            aMenuPane->SetItemDimmed( EGSCmdAppDisconnect, ETrue );  
-            aMenuPane->SetItemDimmed( EGSCmdAppSendLink, ETrue );
-        	}
-        
-        }
-        
-     if (aResourceId == R_GS_MENU_ITEM_EXIT) 
-        {
-       if (!FeatureManager::FeatureSupported( KFeatureIdHelp )) 
-            {
-            aMenuPane->SetItemDimmed( EAknCmdHelp , ETrue );
-            }
-        }       
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::DeleteRemoteDriveL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::DeleteRemoteDriveL()
-    {
-  
-    HBufC* myFormatMessage = NULL;
-    HBufC* here = iMainListContainer->GetCurrentRemoteDriveNameLC();
-    TChar driveId = iMainListContainer->GetCurrentRemoteDriveIdL();
-    
-    if (!iMainListContainer->IsDriveConnectedL(*here)) 
-        {
-        if ( here->Length() )
-            {
-            myFormatMessage = StringLoader::LoadLC( R_STR_RSFW_CONF_DELETE, *here );
-            }
-        else
-            {
-            myFormatMessage = StringLoader::LoadLC( R_STR_RSFW_CONF_DELETE );
-            }
-    
-        CAknQueryDialog* query = CAknQueryDialog::NewL(CAknQueryDialog::EConfirmationTone);
-        
-        iDialog = query;
-        iDeletingId = iMainListContainer->GetCurrentRemoteDriveIdL();
-   
-        if ( query->ExecuteLD( R_CONFIRMATION_QUERY, *myFormatMessage ) )
-            {
-            if (iMainListContainer->RemoteDriveCount() > 0) 
-                {
-                TChar currentdriveId = iMainListContainer->GetCurrentRemoteDriveIdL();
-                if (driveId == currentdriveId) 
-                    {
-                    iMainListContainer->DeleteCurrentRemoteDriveL();
-                    }
-                }
-            }
-        iDialog = NULL;
-        
-        CleanupStack::PopAndDestroy(myFormatMessage); 
-    
-        UpdateCbaL();  
-
-        }
-    CleanupStack::PopAndDestroy(here);
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::ProcessDeletingDialog()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPlugin::ProcessDeletingDialog()
-    {
-	  if ( (iMainListContainer->RemoteDriveCount() == 0) || 
-            (iDeletingId != iMainListContainer->GetCurrentRemoteDriveIdL()) )
-        {
-        if (iDialog)
-            {
-            delete iDialog;
-			      iDialog = NULL;
-			      }
-		    }
-	  }
-    
-// ---------------------------------------------------------
-// CRsfwGsPlugin::LaunchHelpL()
-// ---------------------------------------------------------
-//
-void CRsfwGsPlugin::LaunchHelpL( const TDesC& aContext )
-	{
-	//make context array
-    //granurality 1 is ok cos there is added just one item
-    CArrayFix< TCoeHelpContext >* cntx = new( ELeave ) CArrayFixFlat< TCoeHelpContext >( 1 );
-    CleanupStack::PushL( cntx );
-
-    cntx->AppendL( TCoeHelpContext( TUid::Uid(KUidGeneralSettings), aContext ) );
-    CleanupStack::Pop( cntx );
-
-    //and launch help - takes ownership of context array
-    HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), cntx);
-	}    
-	
-// ---------------------------------------------------------
-// CRsfwGsPlugin::HandleResourceChangeManual
-// ---------------------------------------------------------
-//
-void CRsfwGsPlugin::HandleResourceChangeManual(TInt aType)
-    {
-    if (iCurrentContainer==iSettingListContainer)
-        iMainListContainer->HandleResourceChangeManual(aType);
-    else if (iCurrentContainer==iMainListContainer)
-        iSettingListContainer->HandleResourceChangeManual(aType);    
-    }  
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::IsDriveConnected()
-// ---------------------------------------------------------------------------
-//    
-TBool CRsfwGsPlugin::IsDriveConnectedL()
-    {
-    TBool connected;
-	HBufC* currentDriveName = iMainListContainer->GetCurrentRemoteDriveNameLC();
-	if (!currentDriveName) 
-	    {
-	    User::Leave(KErrNotFound);
-	    }
-    TPtrC drivePtr = currentDriveName->Ptr();
-    connected = iMainListContainer->IsDriveConnectedL(drivePtr.Left(currentDriveName->Length()));
-    CleanupStack::PopAndDestroy(currentDriveName);
-    return connected;  
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::ConnectRemoteDrive()
-// ---------------------------------------------------------------------------
-//    
-void CRsfwGsPlugin::ConnectRemoteDriveL()
-    {
-    iMainListContainer->ConnectCurrentRemoteDriveL();  
-    }    
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPlugin::DisconnectRemoteDrive()
-// ---------------------------------------------------------------------------
-//    
-void CRsfwGsPlugin::DisconnectRemoteDriveL()
-    {
-    iMainListContainer->DisconnectCurrentRemoteDriveL();  
-    }    
-   
-   
-
-// ----------------------------------------------------
-//  CRsfwGsPlugin::DoSendAsL
-// ----------------------------------------------------
-//
-void CRsfwGsPlugin::DoSendAsL()
-    {
-    // read the source setting
-    const CRsfwMountEntry* mountEntry = NULL;
-    HBufC* currentDriveName = iMainListContainer->GetCurrentRemoteDriveNameLC();
-    TPtrC drivePtr = currentDriveName->Ptr();
-    mountEntry = iMountMan->MountEntryL(
-    						drivePtr.Left(currentDriveName->Length()));
-    CleanupStack::PopAndDestroy(currentDriveName);
-    iSender->SendL( *mountEntry );
-    }
-   
-   
-void CRsfwGsPlugin::SendLinkL( )
-	{
-	HBufC* driveBuf = iMainListContainer->GetCurrentRemoteDriveNameLC();	
-	iSender->DisplaySendCascadeMenuL();
-
-    // make sure that the mountentry was not deleted
-    if (driveBuf) 
-        {	
-        const CRsfwMountEntry* mountentry = iMountMan->MountEntryL(*driveBuf);
-	    CleanupStack::PopAndDestroy(driveBuf);
-	    if (mountentry) 
-	        {
-	        if (iSender->CanSend()) 
-		        {
-		        DoSendAsL();
-		        }   
-	        }
-        }
-
-	}
-	
-void CRsfwGsPlugin::UpdateCbaL() 
-    {
-    CEikButtonGroupContainer* cbaGroup = Cba();
-    
-    if (iCurrentContainer == iMainListContainer) 
-        {
-        cbaGroup->SetCommandSetL(R_RSFW_SOFTKEYS_OPTIONS_BACK_EDIT);
-        if (iMainListContainer->IsListEmpty())
-            {
-            cbaGroup->MakeCommandVisible(EGSCmdAppEdit, EFalse);
-            }
-        else if (IsDriveConnectedL()) 
-            {
-            cbaGroup->MakeCommandVisible(EGSCmdAppEdit, EFalse);
-            }
-        else
-            {
-            cbaGroup->MakeCommandVisible(EGSCmdAppEdit, ETrue);
-            }
-        }
-    else if (iCurrentContainer == iSettingListContainer) 
-        {
-        cbaGroup->SetCommandSetL(R_RSFW_SOFTKEYS_OPTIONS_BACK_CHANGE);
-        // it is possible that the MSK command was dimmed 
-        cbaGroup->MakeCommandVisible(EGSCmdAppChange, ETrue);
-        }
-    
-    Cba()->DrawDeferred();    
-    }
-  
-CCoeControl* CRsfwGsPlugin::CurrentContainer() 
-    {
-    return iCurrentContainer;
-    }  
-    
-// End of file
-
--- a/remotestoragefw/gsplugin/src/rsfwgsplugindrivelistcontainer.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,735 +0,0 @@
-/*
-* Copyright (c) 2003 - 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:  The control container (view) of the remote drives list view
-*
-*/
-
-
-// INCLUDE FILES
-#include    <aknappui.h> 
-#include    <eikspane.h>
-#include    <StringLoader.h>
-#include    <aknlists.h>
-#include 	<AknIconArray.h> 
-#include	<eikclbd.h>
-#include    <rsfwgspluginrsc.rsg>
-#include 	<avkon.mbg>
-#include	<AknQueryDialog.h>
-#include 	<rsfwgsplugin.mbg>
-#include    <aknnotewrappers.h>
-
-#include   	"rsfwgslocalviewids.h"
-#include    "rsfwgsplugindrivelistcontainer.h"
-#include    "rsfwgsplugin.h"
-#include	"rsfwmountman.h"
-#include    "rsfwcontrol.h"
-#include	"rsfwmountentry.h"
-
- _LIT(KTabulator, "\t");
- _LIT(KConnectedIcon, "\t0");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::CRsfwGsPluginDriveListContainer()
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPluginDriveListContainer::CRsfwGsPluginDriveListContainer(CRsfwGsPlugin* aView) : iView(aView)
-    {
-    
-    }
-    
-
-// -----------------------------------------------------------------------------
-// GSSettListRemoteDrivesListContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::ConstructL(
-    const TRect& aRect,
-   	CRsfwMountMan* aMountMan)
-    {
-	iMountMan = aMountMan;
-
-    CEikStatusPane* sp = static_cast<CAknAppUi*> 
-        ( iEikonEnv->EikAppUi() )->StatusPane();
-    iTitlePane = static_cast<CAknTitlePane*> 
-        ( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-    // Set title
-    StringLoader::Load ( iTitle, R_STR_REMOTE_DRIVES_VIEW_TITLE );
-    iTitlePane->SetTextL(iTitle);// FromResourceL( rReader );
-    CreateWindowL(); // Makes the control a window-owning control
-
-    // Main List creation and initialization
-    iMainList = new(ELeave) CAknSingleStyleListBox();
-    iMainList->SetContainerWindowL(*this);
-    iMainList->ConstructL(this, EAknListBoxLoopScrolling);
-
-    // Main list scroll bar issues
-    iMainList->CreateScrollBarFrameL(EFalse);
-    iMainList->ScrollBarFrame()->SetScrollBarVisibilityL(
-    CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-
-	 // Empty text processing
-	 _LIT (KStringHeader, "%S\n%S");
-    HBufC* emptyText = iEikonEnv->AllocReadResourceLC(R_GS_RSFW_NO_REMOTE_DRIVES);  
-    HBufC* emptyText2 = iEikonEnv->AllocReadResourceLC(R_GS_RSFW_NO_REMOTE_DRIVES_EXPLANATORY); 
-  	HBufC* myString = HBufC::NewLC(emptyText->Length() + emptyText2->Length() + 5);
-  	TPtr emptyStringPtr = myString->Des();
-  	emptyStringPtr.Format(KStringHeader, emptyText, emptyText2);
-    
-    iMainList->SetListBoxObserver(this);
-    iMainList->View()->SetListEmptyTextL(*myString);
-    CleanupStack::PopAndDestroy( 3 ); //emptyText, emptyText2, myString
-	
-	CArrayPtrFlat<CGulIcon>* iconArray = new(ELeave) CAknIconArray(4);
-	
-	CGulIcon* icon2;
-	icon2 = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnIndiConnectionOnAdd, 
-        KGSPluginBitmapFile,
-        EMbmRsfwgspluginQgn_indi_connection_on_add,
-        EMbmRsfwgspluginQgn_indi_connection_on_add_mask);
-
-	CleanupStack::PushL(icon2);
-	iconArray->AppendL(icon2);
-	CleanupStack::Pop(icon2);  
-	
-	CGulIcon* icon3;
-	icon3 = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnIndiMarkedAdd, 
-        AknIconUtils::AvkonIconFileName(),
-        EMbmAvkonQgn_indi_marked_add,
-        EMbmAvkonQgn_indi_marked_add_mask);
-
-	CleanupStack::PushL(icon3);
-	iconArray->AppendL(icon3);
-	CleanupStack::Pop(icon3);  
-	
-	(static_cast<CAknSingleStyleListBox *>(iMainList))->
-	    ItemDrawer()->ColumnData()->SetIconArray(iconArray);
- 
-    SetupListL();
-    
-    // Start receiving P&S notifier about the changes in drive connection states
-    // if the key is not found, will leave with an error code
-    // just ignore for now...
-    TRAP_IGNORE(iDriveConnectObserver = CRsfwGsPropertyWatch::NewL(this));
-        
-    SetRect( aRect );
-    ActivateL();
-    
-    iCoeEnv->AddForegroundObserverL( *this );
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::~CRsfwGsPluginDriveListContainer()
-// Destructor
-//  
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPluginDriveListContainer::~CRsfwGsPluginDriveListContainer()
-    {
-    if (iMainList)
-        {
-         delete iMainList;
-        }
-   
-   if (iDriveConnectObserver)
-        {
-         delete iDriveConnectObserver;
-        }   
-    iCoeEnv->RemoveForegroundObserver( *this );     
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::SizeChanged()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::SizeChanged()
-    {
-    iMainList->SetRect(Rect());
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::CountComponentControls() const
-// ---------------------------------------------------------------------------
-//
-TInt CRsfwGsPluginDriveListContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::ComponentControl() const
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CRsfwGsPluginDriveListContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iMainList;
-        default:
-            return NULL;
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::EditCurrentItemL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::EditCurrentItemL()
-    { 
-    HBufC* currentDriveName = GetCurrentRemoteDriveNameLC();
-    if (!(iView->IsDriveConnectedL())) 
-        {       
-        TPtrC drivePtr = currentDriveName->Ptr();
-        iCurrentItemIndex=iMainList->CurrentItemIndex();
-        TPtrC namePtr = drivePtr.Left(currentDriveName->Length());
-        iView->LoadSettingsViewL(EEditExisting, namePtr, ETrue); 
-          
-        }
-    else 
-        {
-        HBufC* myDisplayMessage = NULL;
-        if ( currentDriveName->Length() )
-            {
-            myDisplayMessage = StringLoader::LoadLC( R_STR_RSFW_ERROR_EDIT_CONNECTED, *currentDriveName );
-            }
-        else
-            {
-            myDisplayMessage = StringLoader::LoadLC( R_STR_RSFW_ERROR_EDIT_CONNECTED );
-            }
-        CAknErrorNote* errorNote = new CAknErrorNote(EFalse);
-        errorNote->ExecuteLD(*myDisplayMessage);
-        CleanupStack::PopAndDestroy(myDisplayMessage);
-        }
-    CleanupStack::PopAndDestroy(currentDriveName);    
-    }
-    
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::GetCurrentRemoteDriveNameLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CRsfwGsPluginDriveListContainer::GetCurrentRemoteDriveNameLC()
-    {
-    TPtrC16 remoteDriveName, remoteDriveNameClipped, remoteDriveNamePtr;
-    TInt currentItemIndex = iMainList->CurrentItemIndex();
-    if (currentItemIndex == KErrNotFound)
-	    {
-	    User::Leave(KErrNotFound);
-	    }
-    remoteDriveName.Set(iRemoteDriveListArray->MdcaPoint(currentItemIndex));
-    // remove '\t' from the beginning 
-    remoteDriveNameClipped.Set(remoteDriveName.Mid(1)); 
-   	// remove the trailing '\tn'if exists
-    TInt posit = remoteDriveNameClipped.Find(KTabulator);
-    if (posit != KErrNotFound) 
-        {
-        remoteDriveNamePtr.Set(remoteDriveNameClipped.Left(posit));
-        }
-    else 
-        {
-        remoteDriveNamePtr.Set(remoteDriveNameClipped);
-        }
-
-    return remoteDriveNamePtr.AllocLC();    
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::GetRemoteDriveNameLC(TInt aIndex)
-// ---------------------------------------------------------------------------
-//
-TPtrC CRsfwGsPluginDriveListContainer::GetRemoteDriveNameL(TInt aIndex)
-    {
-	TPtrC16 remoteDriveName, remoteDriveNameClipped, remoteDriveNamePtr;
-    remoteDriveName.Set(iRemoteDriveListArray->MdcaPoint(aIndex));
-    // remove '\t' from the beginning 
-    remoteDriveNameClipped.Set(remoteDriveName.Mid(1)); 
-   	// remove the trailing '\tn'
-    TInt posit = remoteDriveNameClipped.Find(KTabulator);
-    if (posit != KErrNotFound) 
-        {
-        remoteDriveNamePtr.Set(remoteDriveNameClipped.Left(posit));
-        }
-    else 
-        {
-        remoteDriveNamePtr.Set(remoteDriveNameClipped);
-        }
-
-    return remoteDriveNamePtr;    
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CRsfwGsPluginDriveListContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                                            TEventCode aType )
-    {
-    if (iMainList)
-        {
-        // if cancel key is pressed and list is not empty, invoke deletion
-        if ((aKeyEvent.iCode == EKeyBackspace ) && (aType == EEventKey) )
-            {
-            if(!IsListEmpty())
-                {
-                CRsfwGsPlugin* iTempView = static_cast<CRsfwGsPlugin*> (iView);
-                iTempView->DeleteRemoteDriveL();
-                }  
-            return EKeyWasConsumed;
-            }
-        else 
-            {
-            TKeyResponse returnValue = iMainList->OfferKeyEventL (aKeyEvent, aType);
-            if ((aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow ) 
-                        && (aType == EEventKey))
-                {
-                // Cba needs to be updated any time the user goes through the drive list
-                // as MSK "Edit" is dependent on connection state
-                // Note that we had to call iMainList->OfferKeyEventL() first 
-                // to make sure that the correct drive is highlighted
-                iCurrentItemIndex = iMainList->CurrentItemIndex();
-                iView->UpdateCbaL();            
-                }
-            return returnValue;
-            }
-        }
-    return EKeyWasNotConsumed;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::HandleListBoxEventL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aListBoxEvent)
-    {
-    // if the Select Key has been pressed
-    if ((aListBoxEvent == MEikListBoxObserver::EEventEnterKeyPressed) ||
-    (aListBoxEvent == MEikListBoxObserver::EEventItemSingleClicked))
-        {
-        EditCurrentItemL();           
-        }
-    }
-      
-    
-  
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::SetupListL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::SetupListL()
-    {
-    CTextListBoxModel* model = iMainList->Model();
-    model->SetOwnershipType(ELbmOwnsItemArray);
-    
-    iRemoteDriveListArray = static_cast<CDesCArray*>(model->ItemTextArray());
-    LoadRemoteDriveListArrayL();
-    }    
-    
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::LoadSettingsListArrayL()
-// ---------------------------------------------------------------------------
-//
-TInt CRsfwGsPluginDriveListContainer::LoadRemoteDriveListArrayL()
-    {
-    iTitlePane->SetTextL(iTitle);
-    
-    CDesCArray* remoteDriveList = NULL;
-    remoteDriveList = GetRemoteDriveNamesL();
-    CleanupStack::PushL(remoteDriveList);
-    TInt remoteDriveListCount = remoteDriveList->Count();
-    iRemoteDriveListArray->Reset();
-    for (TInt i = 0; i< remoteDriveListCount; i++)
-        {
-        TBuf <KMaxFriendlyNameLength+5> string; // maximum name + \t + \tn
-   		string.Append(KTabulator);
-        string.Append(remoteDriveList->MdcaPoint(i));
-        if ( IsDriveConnectedL(remoteDriveList->MdcaPoint(i))) 
-       		{
-       		string.Append(KConnectedIcon);
-        	}
-        iRemoteDriveListArray->AppendL(string);	
- 
-        }
-    CleanupStack::PopAndDestroy(remoteDriveList); 
-    iMainList->HandleItemRemovalL();
-    iMainList->HandleItemAdditionL();
-    return remoteDriveListCount;
-    }
-
-
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::IsListEmpty()
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveListContainer::IsListEmpty()
-    {
-    if (iRemoteDriveListArray->Count())
-        return EFalse;
-    return ETrue;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::IsLastItem()
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveListContainer::IsLastItem()
-    {
-    if (iRemoteDriveListArray->Count() == 1)
-        return ETrue;
-    return EFalse;    
-    }    
-    
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::DeleteCurrentRemoteDriveL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::DeleteCurrentRemoteDriveL()
-    {
-    TBool deletingLast = EFalse;
-    if (iMainList->CurrentItemIndex() == iMainList->BottomItemIndex()) 
-        {
-    	deletingLast = ETrue;
-        }
-    
-    HBufC* currentDriveName = GetCurrentRemoteDriveNameLC();
-    TPtrC drivePtr = currentDriveName->Ptr();
-    iMountMan->DeleteMountEntryL(drivePtr.Left(currentDriveName->Length()));  
-    iRemoteDriveListArray->Delete(iMainList->CurrentItemIndex());
-    iMainList->HandleItemRemovalL();
-    iMainList->DrawDeferred();
-    CleanupStack::PopAndDestroy(currentDriveName);
-    
-    if (deletingLast) 
-        {
-    	if (iRemoteDriveListArray->Count() > 0) 
-    		{
-    		iMainList->SetCurrentItemIndex(iMainList->BottomItemIndex());	
-    		}
-    	
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::IsDriveConnectedL()
-// ---------------------------------------------------------------------------
-//    
-TBool CRsfwGsPluginDriveListContainer::IsDriveConnectedL(const TDesC& aName)
-    {
-    
-    TInt err;
-    const CRsfwMountEntry* mountEntry;
-    TRsfwMountInfo mountInfo;
-    TChar driveL;
-    mountEntry = mountEntry = iMountMan->MountEntryL(aName);
-    if (!mountEntry) 
-        {
-        User::Leave(KErrNotFound);
-        }
-    const HBufC* drive = (mountEntry->Item(EMountEntryItemDrive));
-    if (drive && drive->Length())
-        {
-        driveL =(*drive)[0];
-        } 
-    else 
-    	{
-    	// getting drive letter failed
-    	return EFalse;
-    	}
-    err = iMountMan->GetMountInfo(driveL, mountInfo);
-    if ((err == KErrNone) && (mountInfo.iMountStatus.iConnectionState == KMountStronglyConnected)) 
-    	{
-    	return ETrue;
-    	}
-    return EFalse;  
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::SetDriveConnectedStateL()
-// ---------------------------------------------------------------------------
-// 
-void CRsfwGsPluginDriveListContainer::SetDriveConnectedStateL(const TDesC& aName, TBool aConnected)
-	{
-	TInt i;
-	for (i=0; i < iRemoteDriveListArray->Count(); i++) 
-		{
-		TPtrC driveString =  GetRemoteDriveNameL(i);
-		if (driveString.Compare(aName) == 0) 
-			{
-			// newString has space for the friendly name, tabulator and connected icon
-			TBuf<KMaxFriendlyNameLength+5> newString; 
-			newString.Append(KTabulator);
-		    newString.Append(driveString);	
-   			if (aConnected) 
-   				{
-   				newString.Append(KConnectedIcon);
-   				}
-   			iRemoteDriveListArray->Delete(i);
-    		iRemoteDriveListArray->InsertL(i, newString);	
-    		iMainList->DrawDeferred();
-    		// Cba needs to be updated as MSK "Edit" is dependent on connection state
-    		iView->UpdateCbaL();		
-		break;
-			}
-	
-		}
-	
-	}
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::ConnectCurrentRemoteDriveL()
-// ---------------------------------------------------------------------------
-//  
-void CRsfwGsPluginDriveListContainer::ConnectCurrentRemoteDriveL() 
-{  
-	User::LeaveIfError(iMountMan->SetMountConnectionStateBlind(GetCurrentRemoteDriveIdL(), 
-	                                    KMountStronglyConnected));
-}
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::DisconnectCurrentRemoteDriveL()
-// ---------------------------------------------------------------------------
-//  
-void CRsfwGsPluginDriveListContainer::DisconnectCurrentRemoteDriveL() 
-{
-	User::LeaveIfError(iMountMan->SetMountConnectionState(GetCurrentRemoteDriveIdL(), 
-	                                    KMountNotConnected));
-
-}
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::GetNextRemoteDriveNameL
-// ---------------------------------------------------------------------------
-//
-TDesC& CRsfwGsPluginDriveListContainer::GetNextRemoteDriveNameL()
-    {
-    // Always return "New drive" as the default starting name
-    // in case there is already a drive with the name "new name"
-    // user is not allowed to save the new drive before changing the name.
-    StringLoader::Load(iSettingNewName, R_STR_REMOTE_DRIVE_NEW_NAME);
-    return iSettingNewName; 
-    }
-    
-    
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::GetCurrentRemoteDriveIdL
-// ---------------------------------------------------------------------------
-//
-TChar CRsfwGsPluginDriveListContainer::GetCurrentRemoteDriveIdL()
-    {
-    const CRsfwMountEntry* mountEntry;
-   	HBufC* currentDriveName = GetCurrentRemoteDriveNameLC();
-   	TPtrC drivePtr = currentDriveName->Ptr();
- 	mountEntry = iMountMan->MountEntryL(drivePtr.Left(currentDriveName->Length()));
- 	if (!mountEntry) 
- 	    {
- 	    User::Leave(KErrNotFound);
- 	    }
-   	CleanupStack::PopAndDestroy(currentDriveName);
-   	const HBufC* drive = (mountEntry->Item(EMountEntryItemDrive));
-    if (drive && drive->Length())
-        {
-        return (*drive)[0];
-        }
-    
-    // should not come here....
-    // return the drive letter of the default drive
-    RFs fs;
-	User::LeaveIfError(fs.Connect());
-	TChar defaultd;
-	fs.DriveToChar(EDriveC, defaultd);
-	fs.Close();
-	return defaultd;
-    }    
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::GetRemoteDriveNamesL
-// ---------------------------------------------------------------------------
-//
-CDesCArray* CRsfwGsPluginDriveListContainer::GetRemoteDriveNamesL()
-    {
-    CDesCArray* myArray = new (ELeave) CDesC16ArraySeg(4);
-    iMountMan->GetMountNamesL(myArray);
-    return myArray;
-    }
-          
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::RemoteDriveCount
-// ---------------------------------------------------------------------------
-//
-TInt CRsfwGsPluginDriveListContainer::RemoteDriveCount()
-    {
-   	return iRemoteDriveListArray->Count();
-    }
-          
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::HandleResourceChange()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KAknsMessageSkinChange ||
-         aType == KEikDynamicLayoutVariantSwitch )
-        {
-        if (aType != KAknsMessageSkinChange) 
-            {
-            TRect mainPaneRect;
-            AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
-                                           mainPaneRect);
-            SetRect( mainPaneRect );
-            }
-        DrawDeferred();
-        CRsfwGsPlugin* iTempView = static_cast<CRsfwGsPlugin*> (iView);    
-
-        iTempView->HandleResourceChangeManual(aType);      
-        }
-    CCoeControl::HandleResourceChange( aType );
-    }
-  
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::HandleResourceChangeManual()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::HandleResourceChangeManual(TInt aType)
-    {
-    if (aType != KAknsMessageSkinChange) 
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
-                                       mainPaneRect);
-        SetRect( mainPaneRect );
-        }
-    DrawDeferred();
-    iMainList->HandleResourceChange(aType);
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::FocusChanged
-// Set focus on the selected listbox. For animated skins feature.
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::FocusChanged(TDrawNow /*aDrawNow*/)
-    {
-    if(iMainList)
-        {
-        iMainList->SetFocus( IsFocused() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::GetHelpContext
-// This function is called when Help application is launched.
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KGSRsfwPluginUID;
-    }    
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::HandleGainingForeground
-// ---------------------------------------------------------------------------
-//    
-void CRsfwGsPluginDriveListContainer::HandleGainingForeground() 
-    {
-    TRAP_IGNORE(HandleGainingForegroundL());
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::HandleGainingForegroundL
-// Called from HandleGainingForeground in order to trap potential leaves.
-// ---------------------------------------------------------------------------
-//    
-void CRsfwGsPluginDriveListContainer::HandleGainingForegroundL() 
-    {
-    if (iView->CurrentContainer() == this) 
-        {
-        // update the drive list
-        LoadRemoteDriveListArrayL();
-        SetFocus();
-        iView->ProcessDeletingDialog();
-        iView->UpdateCbaL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::HandleLosingForeground
-// ---------------------------------------------------------------------------
-//        
-void CRsfwGsPluginDriveListContainer::HandleLosingForeground() 
-    {
-    
-    }   
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::SetFocus
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::SetFocus()
-    { 
-    TInt remoteDriveCount = iRemoteDriveListArray->Count();
-    
-    if (remoteDriveCount > 0) 
-        {
-        if (iCurrentItemIndex >= remoteDriveCount) 
-            {
-            // set to the beginning of the list
-            iCurrentItemIndex = 0;
-            }
-        
-        iMainList->SetCurrentItemIndex(iCurrentItemIndex);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveListContainer::SetFocusL
-// finds the given name on the drive list and sets focus accordingly
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveListContainer::SetFocusL(const TDes& aDriveName)
-    {
-    CDesCArray* remoteDriveList = NULL;
-    remoteDriveList = GetRemoteDriveNamesL();
-    CleanupStack::PushL(remoteDriveList);
-    
-    for ( TInt i = 0; i < remoteDriveList->Count(); i++ )
-        { 
-        if (aDriveName.Compare(remoteDriveList->MdcaPoint(i)) == 0)
-            {
-            iMainList->SetCurrentItemIndex(i);
-            CleanupStack::PopAndDestroy(remoteDriveList); 
-            return;
-            }
-        }
-    CleanupStack::PopAndDestroy(remoteDriveList);
-        
-    // if drive name not found on the list, use default behaviour
-    SetFocus();
-    }
-    
-        
-//  End of File  
--- a/remotestoragefw/gsplugin/src/rsfwgspluginimplementationtable.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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: 
-*        ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <implementationproxy.h>
-
-// User includes
-#include "rsfwgsplugin.h"
-
-// Constants
-const TImplementationProxy KGSRsfwPluginImplementationTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( 0x101F9778,	CRsfwGsPlugin::NewL )
-	};
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// 
-// Gate/factory function
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-                                                  TInt& aTableCount )
-	{
-	aTableCount = sizeof( KGSRsfwPluginImplementationTable ) 
-        / sizeof( TImplementationProxy );
-	return KGSRsfwPluginImplementationTable;
-	}
-
--- a/remotestoragefw/gsplugin/src/rsfwgspluginsettinglist.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,347 +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:  Rsfw GS plugin, Setting List class implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include <akntitle.h>
-#include <ApSettingsHandlerUI.h>
-#include <ApUtils.h>
-#include <commdb.h>
-#include <eikspane.h>
-#include <akntextsettingpage.h>
-#include <ConnectionUiUtilities.h>
-
-#include "rsfwgspluginsettinglist.h"
-#include "rsfwgssettingsdata.h"
-#include "mdebug.h"
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::NewL(CRsfwGsSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList *CRsfwGsPluginSettingsList::NewL(CRsfwGsSettingsData &aData)
-    {
-    CRsfwGsPluginSettingsList* self = CRsfwGsPluginSettingsList::NewLC(aData);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::NewLC(CRsfwGsSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList *CRsfwGsPluginSettingsList::NewLC(CRsfwGsSettingsData &aData)
-    {
-    CRsfwGsPluginSettingsList* self = new (ELeave) CRsfwGsPluginSettingsList(aData);
-    CleanupStack::PushL(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::CRsfwGsPluginSettingsList(CRsfwGsSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList::CRsfwGsPluginSettingsList(CRsfwGsSettingsData &aData) : 
-    CAknSettingItemList(),
-    iSettingsData(aData)  
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::~CRsfwGsPluginSettingsList()
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList::~CRsfwGsPluginSettingsList()
-  {
-#if defined __WINS__ 
-  iDlgSrv.Close();
-#endif
-  }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::SizeChanged()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::SizeChanged()
-    {
-    // if size changes, make sure component takes whole available space
-    if (ListBox()) 
-        {
-        ListBox()->SetRect(Rect());
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::EditCurrentItemL()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::EditCurrentItemL()
-    {
-    // invoke EditItemL on the current item
-    
-    TInt index = ListBox()->CurrentItemIndex();
-	EditItemL(index,ETrue); // invoked from menu
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::EditItemL (TInt aIndex, TBool aCalledFromMenu)
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::EditItemL (TInt aIndex, TBool aCalledFromMenu)
-    {
-    if (aIndex == EAccessPointIndex)
-      {
-      EditAccessPointL();
-      }
-    else
-        {
-      	TInt cflags = (*SettingItemArray())[aIndex]->SettingPageFlags();
-      	// allow user to exit address field without typing anything,
-      	// if he e.g. realizes that he does not remember the address
-        if ((aIndex == EUserIDIndex) || (aIndex == EServerAddressIndex))
-       		{
-        	cflags |= CAknTextSettingPage::EZeroLengthAllowed;
-       	 	}
-    	else
-       		{
-            //coverity[logical_vs_bitwise]
-        	cflags &= (!CAknTextSettingPage::EZeroLengthAllowed);
-        	}
-        (*SettingItemArray())[aIndex]->SetSettingPageFlags(cflags);	
-         CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
-        (*SettingItemArray())[aIndex]->StoreL();
-        }
-    SaveSettingL(aIndex);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::SaveSettingL(TInt aIndex)
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::SaveSettingL(TInt aIndex)
-    {
-    
-    switch (aIndex)
-        {
-        case ESettingNameIndex:
-            SetTitlePaneTextL(iSettingsData.iSettingName);         
-            break;
-        case EServerAddressIndex:
-            break;
-        
-        case EAccessPointIndex:
-            if (iSettingsData.iAccessPoint > -1) // if Valid AP number
-                {
-                (iSettingsData.iAccessPointDes).Num(iSettingsData.iAccessPoint);
-                GetAccessPointNameL(iSettingsData.iAccessPoint, 
-                                                    iSettingsData.iAccessPointName);
-                }
-            break;
-        case EUserIDIndex:
-            break;
-            
-        case EPasswordIndex:
-            break;
-            
-        default:
-            break;
-        }
-    LoadSettingsL();  
-    DrawNow();  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::CreateSettingItemL (TInt aIdentifier) 
-// -----------------------------------------------------------------------------
-// 
-CAknSettingItem * CRsfwGsPluginSettingsList::CreateSettingItemL (TInt aIdentifier) 
-    {
-    // method is used to create specific setting item as required at run-time.
-    // aIdentifier is used to determine what kind of setting item should be 
-    // created
-
-    CAknSettingItem* settingItem = NULL;
-
-    switch (aIdentifier)
-        {
-        case ESettingItemDriveName:
-            settingItem = new (ELeave) CAknTextSettingItem ( aIdentifier,
-                                                   iSettingsData.iSettingName);
-            break;
-       case ESettingItemURL:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iURL);           
-            break;    
-
-        case ESettingItemAccessPoint:
-            GetAccessPointNameL(iSettingsData.iAccessPoint, iSettingsData.iAccessPointName);
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, iSettingsData.iAccessPointName);
-            break;
-
-   
-
-        case ESettingItemUserID:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iUserID);
-            settingItem->SetEmptyItemTextL(KNullDesC);
-            settingItem->LoadL();        
-            break;
-        case ESettingItemPassword:
-            settingItem = new (ELeave) CAknPasswordSettingItem (
-                          aIdentifier, 
-                          CAknPasswordSettingItem::EAlpha,
-                          iSettingsData.iPassword);         
-            break;
-        default:
-            break;
-        }
-    return settingItem;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::EditAccessPoint()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::EditAccessPointL()
-    {
-
-    CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
-    CleanupStack::PushL(commsDb);
-    CApUtils* aPUtils = CApUtils::NewLC( *commsDb );
-
-    TUint32 id = 0;
-    TRAP_IGNORE(id = aPUtils->WapIdFromIapIdL(iSettingsData.iAccessPoint));
-    
-    CConnectionUiUtilities* connUiUtils = 
-                CConnectionUiUtilities::NewL();            
-	CleanupStack::PushL( connUiUtils );
-	
-    TCuuAlwaysAskResults result;
-    // determine how radio button will be initially displayed to the user
-    // (depending on what is the current IAP choice)
-    iSettingsData.iAccessPoint < 0 ? result = ECuuAlwaysAsk : result = ECuuUserDefined;
-	
-	if (connUiUtils->AlwaysAskPageL(result)) 
-		{
-		if (result == ECuuUserDefined) 
-			{
-			
-#if defined __WINS__ 
-    		// In wins emulator mode we need to show emulator-lan access point so we
-    		// different technique
-			TConnectionPrefs prefs;
-
-    		User::LeaveIfError(iDlgSrv.Connect());
-
-   			prefs.iRank = 1;
-    		prefs.iDirection = ECommDbConnectionDirectionOutgoing;
-    		prefs.iBearerSet = ECommDbBearerCSD | ECommDbBearerWcdma | ECommDbBearerVirtual;
-    
-    		TUint32 id = iSettingsData.iAccessPoint;
-
-			TRAPD( err, iDlgSrv.IapConnection( id, prefs, iStatus ) );
-    		User::LeaveIfError( err );
-	
-    		User::WaitForRequest( iStatus );
-    		iSettingsData.iAccessPoint = id;
-    		iDlgSrv.Close();	
-
-#else		
-	   	   CApSettingsHandler *ApUi = CApSettingsHandler::NewLC(
-                                                        ETrue, 
-                                                        EApSettingsSelListIsPopUp,
-                                                        EApSettingsSelMenuSelectNormal,
-                                                        KEApIspTypeAll,
-                                                        EApBearerTypeAllBearers,
-                                                        KEApSortNameAscending,
-                                                        EIPv4 | EIPv6
-                                                        );
-			ApUi->RunSettingsL( id, id );
-			CleanupStack::PopAndDestroy(ApUi);	
-    		iSettingsData.iAccessPoint = aPUtils->IapIdFromWapIdL(id);
-#endif
-			}
-		else if (result == ECuuAlwaysAsk) 
-			{
-			iSettingsData.iAccessPoint = -1;
-			iSettingsData.iAccessPointDes = KNullDesC;
-			iSettingsData.iAccessPointName = KNullDesC;
-			}
-		}
-    
-
-    CleanupStack::PopAndDestroy(3); //commsDb, aPUtils, CConnectionUtilities
-  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint)
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint)
-    {
-       // Fetch CommDB data for a matching IAP Id or IAP Name
-    CCommsDatabase* commsDb = CCommsDatabase::NewL();
-    CleanupStack::PushL(commsDb);
-    CCommsDbTableView* table;
-    table = commsDb->OpenViewMatchingUintLC(TPtrC(IAP),
-                                                TPtrC(COMMDB_ID),
-                                                aAP);
-        
-    TInt err = table->GotoFirstRecord();
-    if (err != KErrNone)
-        {
-        CleanupStack::PopAndDestroy(2, commsDb); // table, commsDb
-        return;
-        }
-
-    // Read name for IAP information
-    table->ReadTextL(TPtrC(COMMDB_NAME), aAccessPoint);
-    CleanupStack::PopAndDestroy(2, commsDb); // table, commsDb
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::SetTitlePaneTextL( const TDesC& aTitleText ) const
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::SetTitlePaneTextL( const TDesC& aTitleText ) const
-    {
-    DEBUGSTRING(("CRsfwGsPluginSettingsList::SetTitlePaneTextL"));
-    CAknTitlePane* title = static_cast< CAknTitlePane* >
-        ( iEikonEnv->AppUiFactory()->StatusPane()->ControlL(
-                                        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    if ( !title )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    title->SetTextL( aTitleText );
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::ResetItemIndex()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::ResetItemIndex()
-    {
-    ListBox()->SetCurrentItemIndex(NULL);   
-    }
-
-// End of File
--- a/remotestoragefw/gsplugin/src/rsfwgspropertywatch.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  RsfwPlugin Implementation
-*
-*/
-
-
-#include <rsfwmountman.h>
-#include <rsfwmountentry.h>
-
-#include "rsfwgspropertywatch.h"
-//#include "rsfwgsplugin.hrh"
-#include "rsfwgsplugindrivelistcontainer.h"
-#include "rsfwcommon.h"
-
-
-CRsfwGsPropertyWatch* CRsfwGsPropertyWatch::NewL(CRsfwGsPluginDriveListContainer* aContainer) 
-	{
-	CRsfwGsPropertyWatch* me=new(ELeave) CRsfwGsPropertyWatch;
-	CleanupStack::PushL(me);
-	me->ConstructL(aContainer);
-	CleanupStack::Pop(me);
-	return me;
-	}
-
-CRsfwGsPropertyWatch::CRsfwGsPropertyWatch()
-	:CActive(EPriority)
-	{}
-	
-void CRsfwGsPropertyWatch::ConstructL(CRsfwGsPluginDriveListContainer* aContainer)
-	{
-	iContainer = aContainer;
-	User::LeaveIfError(iProperty.Attach(KRfeServerSecureUid, ERsfwPSKeyConnect));
-	CActiveScheduler::Add(this);
-	iProperty.Subscribe(iStatus);
-	SetActive();
-	}
-	
-CRsfwGsPropertyWatch::~CRsfwGsPropertyWatch()	
-	{
-	Cancel();
-	iProperty.Close();
-	}
-	
-void CRsfwGsPropertyWatch::DoCancel()
-{
-	iProperty.Cancel();
-}
-
-void CRsfwGsPropertyWatch::RunL()
-{
-	// resubscribe before processing new value to prevent missing updates
-	iProperty.Subscribe(iStatus);
-	SetActive();
-	if ((iProperty.Get(KRfeServerSecureUid, ERsfwPSKeyConnect, iDriveList) == KErrNone) &&
-	// if the key is defined but not written to, the length of the list is zero
-		(iDriveList.Length() == KMaxDrives))  
-	{
-		TDriveList fsDriveList;
-		RFs fs;
-		User::LeaveIfError(fs.Connect());
-		CleanupClosePushL(fs);
-		fs.DriveList(fsDriveList, KDriveAttRemote);		
-		TInt drive = EDriveY;
-		while (drive >=0) {
-        	if (fsDriveList[drive] && (fsDriveList[drive] & KDriveAttRemote)) {
-        		// get the friendly name for this drive
-        		TChar driveChar;
-        		fs.DriveToChar(drive, driveChar);
-        		const CRsfwMountEntry* mountEntry;
-        		mountEntry = iContainer->iMountMan->MountEntryL(driveChar);
-        		if (!mountEntry) 
-        		    {
-        		    User::Leave(KErrNotFound);
-        		    }
-        		const HBufC* mountName;
-        		mountName= mountEntry->Item(EMountEntryItemName);
-        		if (!mountName) 
-        		    {
-        		    User::Leave(KErrNotFound);
-        		    }
-        		if (iDriveList[drive] == 0) 
-        		{
-        			 iContainer->SetDriveConnectedStateL(*mountName, EFalse);
-        		}
-        		else if (iDriveList[drive] == 1) 
-        		{
-        			iContainer->SetDriveConnectedStateL(*mountName, ETrue);	
-        		}
-        	}
-        	drive--;	
-		}
-       CleanupStack::PopAndDestroy(); // fs
-	}
-}
-
-// End of File
--- a/remotestoragefw/gsplugin/src/rsfwgsremotedrivesend.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +0,0 @@
-/*
-* Copyright (c) 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:  Sending remote drive configuration entries
-*
-*/
-
-
-#include <eikenv.h>
-#include <sendui.h>
-#include <CMessageData.h>
-#include <SendUiConsts.h>
-#include <txtrich.h>
-#include <utf.h> // for CnvUtfConverter
-#include <StringLoader.h>
-#include <AknQueryDialog.h>
-#include <sysutil.h>
-#include <rsfwgspluginrsc.rsg>
-#include <rsfwmountentry.h>
-
-#include "rsfwgsremotedrivesend.h"
-#include "rsfwmountutils.h"
-#include "rsfwgsplugin.hrh"
-
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::NewL
-// Static constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CRsfwGsRemoteDriveSend* CRsfwGsRemoteDriveSend::NewL(TInt aMenuCommandId)
-    {
-    CRsfwGsRemoteDriveSend* self = new (ELeave) CRsfwGsRemoteDriveSend();
-    CleanupStack::PushL(self);
-    self->ConstructL(aMenuCommandId);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::CRsfwGsRemoteDriveSend
-// C++ constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CRsfwGsRemoteDriveSend::CRsfwGsRemoteDriveSend()
-    {
-    }
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::ConstructL
-// 2nd phase constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CRsfwGsRemoteDriveSend::ConstructL(TInt aMenuCommandId)
-    {
-    iSendUi = CSendUi::NewL();
-    iSendAsCmdId=aMenuCommandId;
-    iSendMtmsToDim = new (ELeave) CArrayFixFlat<TUid>(4);
-
-    // for the time being, dim everything else but SMS
-    // for some reason technology-group UIDs do not seem to work
-    // e-mail Mtmss
-    iSendMtmsToDim->AppendL(KSenduiMtmSmtpUid);
-    iSendMtmsToDim->AppendL(KSenduiMtmImap4Uid);
-    iSendMtmsToDim->AppendL(KSenduiMtmPop3Uid);
-    
-    // MMS, BT, Irda, Postcard
-    iSendMtmsToDim->AppendL(KSenduiMtmMmsUid);
-    iSendMtmsToDim->AppendL(KSenduiMtmPostcardUid);
-    iSendMtmsToDim->AppendL(KSenduiMtmBtUid);
-    iSendMtmsToDim->AppendL(KSenduiMtmIrUid);
-    
-    // Audio Message
-    iSendMtmsToDim->AppendL(KSenduiMtmAudioMessageUid);
-    
-    iSendMtmsToDim->AppendL(KSenduiMtmSyncMLEmailUid  );
-    
-    // filters out EMail Via Exchange, as we only support SMS
-    // for some reason this cannot be found from headers currently
-    const TUid KEmailViaExchange        = {  0x102826F8    };
-    iSendMtmsToDim->AppendL(KEmailViaExchange );
-      
-    }
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::~CRsfwGsRemoteDriveSend
-// Destructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CRsfwGsRemoteDriveSend::~CRsfwGsRemoteDriveSend()
-    {
-    delete iSendUi;
-    delete iSendMtmsToDim;
-    }
-
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::CanSendL
-// Check wheter sending is possible
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CRsfwGsRemoteDriveSend::CanSend()
-    {
-    if( iSelectedMtmUid != KNullUid )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::DisplaySendMenuItemL
-// Show sendui menu
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CRsfwGsRemoteDriveSend::DisplaySendMenuItemL(CEikMenuPane& aMenuPane, 
-                                               TInt aIndex)
-    {
-    iSendUi->AddSendMenuItemL( aMenuPane, aIndex, iSendAsCmdId, TSendingCapabilities() );
-    }
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::DisplaySendCascadeMenuL
-// Show send quesry / cascaded menu
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CRsfwGsRemoteDriveSend::DisplaySendCascadeMenuL()
-    {
-    iSelectedMtmUid = iSendUi->ShowSendQueryL( NULL, KCapabilitiesForAllServices, iSendMtmsToDim, KNullDesC );
-    }
-
-    
-
-// ---------------------------------------------------------
-// CRsfwGsRemoteDriveSend::SendL
-// Send a remote drive entry via SendUi
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CRsfwGsRemoteDriveSend::SendL(const CRsfwMountEntry& anEntry)
-    {
-
-    // the old entry can be deleted in the middle of the operation
-    // e.g. from the File Manager
-    CRsfwMountEntry* entryToBeSent = anEntry.CloneL();
-    CleanupStack::PushL(entryToBeSent);
-    
-    CEikonEnv* eikonEnv = CEikonEnv::Static();
-    CRichText* text = CRichText::NewL(
-        eikonEnv->SystemParaFormatLayerL(),
-        eikonEnv->SystemCharFormatLayerL());
-    CleanupStack::PushL(text);
-    
-    
-     // if user name has been set
-    // ask user whether he would like to send the login credentials
-    TBool sendCredentials = EFalse;
-    if ((entryToBeSent->Item(EMountEntryItemUserName))->Length() > 0) 
-        {
-        HBufC* myDisplayMessage = NULL;
-        myDisplayMessage = StringLoader::LoadLC(R_STR_RSFW_SEND_CREDENTIALS_QUERY);
-        CAknQueryDialog* query = CAknQueryDialog::NewL
-                                        (CAknQueryDialog::EConfirmationTone);    
-        sendCredentials = 
-                query->ExecuteLD( R_CONFIRMATION_QUERY, *myDisplayMessage);
-        CleanupStack::PopAndDestroy(myDisplayMessage);
-        }
-    
-    
-     // Encode configuration entry
-    HBufC* vcal = HBufC::NewLC(KMaxMountConfLength);
-    TPtr p = vcal->Des();
-    RsfwMountUtils::ExportMountEntryL(*entryToBeSent, sendCredentials, p);   
-    
-    // convert to 8-bit
-    // note that safe conversion is needed both when sending
-    // as an attachement and when sending as message text
-    HBufC8* temp = ConvertToUtf7LC(p); 
-
-    TUid mtmUid = iSelectedMtmUid;
-    TSendingCapabilities capabilities;
-    iSendUi->ServiceCapabilitiesL( mtmUid, capabilities );
-    if (capabilities.iFlags & TSendingCapabilities::ESupportsAttachments)
-        {
-         // send as Attachment
-        RFs fs;
-        User::LeaveIfError( fs.Connect() );
-        CleanupClosePushL( fs );
-        // must share the handle between processes
-        User::LeaveIfError( fs.ShareProtected() );
-        TInt err = fs.MkDirAll(KRemoteDriveAttachmentFilename);
-        RFile file;
-        err = file.Replace(fs,KRemoteDriveAttachmentFilename,EFileWrite | EFileShareAny );
-        CleanupClosePushL(file);
-        TInt spaceNeeded = vcal->Size();
-        if ( SysUtil::FFSSpaceBelowCriticalLevelL( &fs, spaceNeeded ) )
-            {
-            // don't show any own notes here
-            User::Leave( KErrDiskFull );
-            }
-
-        User::LeaveIfError(file.Write(*temp));
-
-        TParse parse;
-        User::LeaveIfError(parse.SetNoWild(KRemoteDriveAttachmentFilename,
-                                           NULL, NULL));
-
-        CMessageData* messageData = CMessageData::NewL();
-        CleanupStack::PushL( messageData );
-        messageData->AppendAttachmentHandleL(file);
-        iSendUi->CreateAndSendMessageL( iSelectedMtmUid, messageData, KUidBIOMountConfMsg, ETrue );
-      
-        CleanupStack::PopAndDestroy( 2 ); // messageData, file
-        fs.Delete(parse.FullName());
-        CleanupStack::PopAndDestroy( &fs );;
-        }
-   else
-        {
-        // send as message body
-        // message data interface is 16-bit
-        // however, along the way 8-bit interface is used 
-        // to pass the data without safe conversion
-        // so the unicode conversion above is still needed
-        HBufC* bufCnv = HBufC::NewLC(temp->Length());
-        TPtr16 des(bufCnv->Des());
-        des.Copy(p);
-        text->InsertL(0, des);
-
-        CMessageData* messageData = CMessageData::NewL();
-        CleanupStack::PushL( messageData );
-        messageData->SetBodyTextL( text );
-        iSendUi->CreateAndSendMessageL( iSelectedMtmUid, messageData, KUidBIOMountConfMsg, ETrue );
-        CleanupStack::PopAndDestroy(2); // messageData, bufCnv
-        }         
-    
-    CleanupStack::PopAndDestroy(4); // entryToBeSent, text, vcal, temp
- 
-    }
-
-// ------------------------------------------------------------------------------------------------
-// HBufC* CRsfwGsRemoteDriveSend::ConvertToUtf7LC
-// Encodes from Unicode UCS-2 to UTF-8
-// ------------------------------------------------------------------------------------------------
-HBufC8* CRsfwGsRemoteDriveSend::ConvertToUtf7LC(const TDesC16& aText)
-    {
-    TPtrC16    remainder( aText );
-    TBuf8<20>  utfBuffer;
-    HBufC8     *ret    = 0;
-    CBufFlat   *buffer = CBufFlat::NewL( 128 );
-    CleanupStack::PushL( buffer );
-
-    TBool finish = EFalse;
-    while( !finish )
-        {
-        utfBuffer.Zero();
-        TInt unconverted = CnvUtfConverter::ConvertFromUnicodeToUtf7(utfBuffer, remainder, EFalse );
-        if( unconverted >= 0 )
-            {
-            remainder.Set( remainder.Right( unconverted ) );
-            buffer->InsertL( buffer->Size(), utfBuffer );
-            finish = (unconverted == 0);
-            }
-        else
-            {
-            User::Leave( unconverted );
-            }
-        }
-
-    buffer->Compress();
-    ret = buffer->Ptr( 0 ).Alloc();
-    CleanupStack::PopAndDestroy( buffer );
-    CleanupStack::PushL( ret );
-    return ret;
-    }
-
-
-
-// end of file
--- a/remotestoragefw/gsplugin/src/rsfwgsremotedrivesettingscontainer.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,757 +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:  Rsfw GS plugin Settins list container
-*
-*/
-
-
-// INCLUDE FILES
-#include    <akntitle.h>
-#include    <barsread.h>
-#include    <StringLoader.h>
-#include    <AknQueryDialog.h>
-#include    <aknnotewrappers.h>
-#include 	<rsfwgspluginrsc.rsg>
-#include    <uri16.h>
-
-#include   	"rsfwgslocalviewids.h"
-#include 	"rsfwgsplugin.h"
-#include 	"rsfwgsremotedrivesettingscontainer.h"
-#include 	"rsfwgspluginsettinglist.h"
-#include  	"rsfwgssettingsdata.h"
-#include	"rsfwmountman.h"
-#include	"rsfwmountentry.h"
-#include    "rsfwmountutils.h"
-#include	"rsfwcommon.h"
-#include    "mdebug.h"
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::CRsfwGsPluginDriveSettingsContainer()
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPluginDriveSettingsContainer::CRsfwGsPluginDriveSettingsContainer(CAknView* aView) : iView(aView)
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::ConstructL(const TRect& aRect)
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::ConstructL( const TRect& aRect, 
-													CRsfwMountMan* aMountMan)
-    {
-    #ifdef _DEBUG
-    RDebug::Print( _L( "[CRsfwGsPluginDriveSettingsContainer] ConstructL()" ) );
-	#endif
-	
-	iMountMan = aMountMan;
-
-    CEikStatusPane* sp = static_cast<CAknAppUi*> 
-        ( iEikonEnv->EikAppUi() )->StatusPane();
-    CAknTitlePane* title = static_cast<CAknTitlePane*> 
-        ( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-    // Set the proper title of this list
-    TResourceReader rReader;
-    iCoeEnv->CreateResourceReaderLC( rReader, R_GS_RSFW_REMOTE_DRIVE_SETTINGS_VIEW_TITLE );
-    title->SetFromResourceL( rReader );
-    CleanupStack::PopAndDestroy(); //rReader
-
-    CreateWindowL(); // Makes the control a window-owning control
-
-    // construct the data object the settings list will use
-    iData = CRsfwGsSettingsData::NewL();
-    // construct control and set parent
-    iSettingList = CRsfwGsPluginSettingsList::NewL(*iData);
-    iSettingList->SetContainerWindowL(*this);
-
-    // CreateResourceReaderLC will allocate a buffer to be used by
-    // the TResourceReader. This buffer is pushed onto the cleanup
-    // stack - not the TResourceReader itself
-    iEikonEnv->CreateResourceReaderLC(rReader, R_SETTINGS);
-    iSettingList->ConstructFromResourceL(rReader);
-
-    // Clean up the buffer allocated above, NOT the reader itself.
-    // Cannot use expected item overload of PopAndDestroy() as buffer 
-    // is inaccessible. 
-    CleanupStack::PopAndDestroy();
-    iSettingList->ActivateL();
-    
-    iCoeEnv->AddForegroundObserverL( *this );
-
-    SetRect( aRect );
-    ActivateL();
-    
-       
-    #ifdef _DEBUG        
-    RDebug::Print( _L( "[CRsfwGsPluginDriveSettingsContainer] Construct done" ) );
-	#endif
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::~CRsfwGsPluginDriveSettingsContainer()
-// ---------------------------------------------------------------------------
-//
-CRsfwGsPluginDriveSettingsContainer::~CRsfwGsPluginDriveSettingsContainer()
-    {    
-    iCoeEnv->RemoveForegroundObserver( *this );
-    if (iData)
-        delete iData;
-    if(iSettingList)  // if setting list has been created
-        {
-        delete iSettingList;
-        iSettingList = NULL;
-        }
-
-   // Ecom session is used to make sure that user gives address
-    // that corresponds to some installed access plugin
-    // (currently via mountils::isaddressvalid)
-    // this closes the session (if not in use anymore)
-    REComSession::FinalClose();  
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::SizeChanged()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::SizeChanged()
-    {
-	iSettingList->SetRect(Rect());
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::CountComponentControls() const
-// ---------------------------------------------------------------------------
-//
-TInt CRsfwGsPluginDriveSettingsContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::ComponentControl( TInt aIndex ) const
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CRsfwGsPluginDriveSettingsContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iSettingList;
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::EditCurrentItemL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::EditCurrentItemL()
-    {
-    iSettingList->EditCurrentItemL();    
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CRsfwGsPluginDriveSettingsContainer::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent, 
-    TEventCode aType )
-    {
-    if (iSettingList)
-        return iSettingList->OfferKeyEventL(aKeyEvent, aType);
-    else
-        return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::Draw(const TRect& aRect) const
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::Draw(const TRect& aRect) const
-    {
-    CWindowGc& gc = SystemGc();
-    gc.Clear(aRect);
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::HandleListBoxEventL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aListBoxEvent)
-    {
-    // if the Select Key has been pressed
-    if ((aListBoxEvent == MEikListBoxObserver::EEventEnterKeyPressed) ||
-    (aListBoxEvent == MEikListBoxObserver::EEventItemSingleClicked))
-        {
-        iSettingList->EditCurrentItemL();
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL(TDesC& aRemoteDriveName)
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL(const TDesC& aRemoteDriveName)
-    {
-    DEBUGSTRING(("CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL enter"));
-    const CRsfwMountEntry* mountEntry = NULL;
-    
-    // read the source setting
-    DEBUGSTRING(("read the source setting"));
-    mountEntry = iMountMan->MountEntryL(aRemoteDriveName); 
-    User::LeaveIfNull((TAny *)mountEntry);
-    
-    // compulsory fields
-    DEBUGSTRING(("compulsory fields"));
-    iData->Reset();
-    iData->iSettingName = *(mountEntry->Item(EMountEntryItemName));
-    iData->iURL =*(mountEntry->Item(EMountEntryItemUri));
-   	const HBufC* drive = (mountEntry->Item(EMountEntryItemDrive));
-    if (drive && drive->Length())
-        {
-        iData->iDriveLetter =(*drive)[0];
-        }
-    // optional fields
-    DEBUGSTRING(("optional fields"));
-    if (mountEntry->Item(EMountEntryItemUserName))
-    {
-        DEBUGSTRING(("setting user id"));
-    	iData->iUserID = *(mountEntry->Item(EMountEntryItemUserName));
-    }
-    
-    if (mountEntry->Item(EMountEntryItemPassword)) 
-    {
-        DEBUGSTRING(("setting passwd"));
-    	iData->iPassword = *(mountEntry->Item(EMountEntryItemPassword));
-    }
-    
-    if (mountEntry->Item(EMountEntryItemIap))  
-    {
-        DEBUGSTRING16(("setting access pointDes to %S", (mountEntry->Item(EMountEntryItemIap))));
-    	iData->iAccessPointDes = *(mountEntry->Item(EMountEntryItemIap));
-    	// if the access point name returned from CenRep was '?', set it to "None" in UI
-    	if (iData->iAccessPointDes == KIapAskUser) 
-    	{
-    		iData->iAccessPointName = KNullDesC;
-    	}
-    	else 
-    	{
-    		// try to resolve access point id into name
-    		TLex lex(iData->iAccessPointDes);
-    		TInt ap, err;
-    		err = lex.Val(ap);
-    		if (!err) 
-    		{
-    			iSettingList->GetAccessPointNameL(ap, iData->iAccessPointName);	
-    			DEBUGSTRING(("setting access point"));
-    			iData->iAccessPoint = ap;
-    		}	
-    		else
-    		{
-    			DEBUGSTRING(("setting access point name"));
-    			iData->iAccessPointName = KNullDesC;
-    		}
-    	}
-    }
-       
-    DEBUGSTRING(("iData constructed"));   
-    iSettingList->LoadSettingsL();
-    SetTitlePaneTextL(iData->iSettingName);
-    iSettingList->ResetItemIndex();
-    DEBUGSTRING(("CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL exit"));
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveNewDefaultL(TDesC& aRemoteDriveName);
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveNewDefaultL(TDesC& aRemoteDriveName)
-    {
-    iData->Reset();
-    iData->iSettingName = aRemoteDriveName;
-    iSettingList->LoadSettingsL();
-    iSettingList->ResetItemIndex();
-    iSettingList->DrawDeferred();
-    SetTitlePaneTextL(iData->iSettingName);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::SetTitlePaneTextL( const TDesC& aTitleText ) const
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::SetTitlePaneTextL( const TDesC& aTitleText ) const
-    {
-    CAknTitlePane* title = static_cast< CAknTitlePane* >
-        ( iEikonEnv->AppUiFactory()->StatusPane()->ControlL(
-                                        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    if ( !title )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    title->SetTextL( aTitleText );
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::AreCompulsoryItemsFilled()
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveSettingsContainer::AreCompulsoryItemsFilled()
-    {
-    TUriParser uriParser;
-    uriParser.Parse(iData->iURL);
-    HBufC* host = HBufC::NewL(KMaxURLLength);
-    TPtr hostPtr = host->Des();
-    hostPtr = uriParser.Extract(EUriHost);
-
-    if ( ((iData->iSettingName)!=KNullDesC) && (hostPtr!=KNullDesC))
-        {
-        delete host;
-        return ETrue;
-        }
-    delete host;
-    return EFalse;   
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::DisplayDeleteOrDontSaveDialog()
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveSettingsContainer::DisplayDeleteOrDontSaveDialogL()
-    {
-    
-    HBufC* myDisplayMessage = NULL;
-    myDisplayMessage = StringLoader::LoadLC(R_STR_REMOTE_DRIVE_CONF_COMPULSORY);
-    CAknQueryDialog* query = CAknQueryDialog::NewL
-                                        (CAknQueryDialog::EConfirmationTone);
-    TBool answer = query->ExecuteLD( R_CONFIRMATION_QUERY, *myDisplayMessage );
-    CleanupStack::PopAndDestroy(myDisplayMessage);        
-    return answer;
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::DeleteremoteDriveIfExistL()
-// ---------------------------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::DeleteRemoteDriveIfExistL()
-    {
-    iMountMan->DeleteMountEntryL(iData->iDriveLetter);
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::IsExitProcessingOKL()
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveSettingsContainer::IsExitProcessingOKL()
-    {
-    if (AreCompulsoryItemsFilled())
-        {
-        if (!(RsfwMountUtils::IsFriendlyNameValid(iData->iSettingName))) 
-            {
-            HBufC* myDisplayMessage = NULL;
-            myDisplayMessage = StringLoader::LoadLC(R_STR_RSFW_ERROR_ILLEGAL_CHARACTERS);
-            CAknErrorNote* errorNote = new CAknErrorNote(EFalse);
-            errorNote->ExecuteLD(*myDisplayMessage);
-            CleanupStack::PopAndDestroy(myDisplayMessage);
-            iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemDriveName-1);
-            return EFalse;            
-            }
-        
-        // Uri must contain some scheme, like http:// or upnp://    
-        if (!IsDriveAddressValidL(iData->iURL)) 
-            {
-            HBufC* myDisplayMessage = NULL;
-            myDisplayMessage = StringLoader::LoadLC(R_STR_RSFW_ERROR_ILLEGAL_ADDRESS);
-            CAknNoteDialog* noteDlg = new ( ELeave ) CAknNoteDialog( );
-            noteDlg->SetTextL( *myDisplayMessage );
-        	noteDlg->ExecuteLD( R_RSFW_INFORMATION_NOTE );	
-            CleanupStack::PopAndDestroy(myDisplayMessage);
-            iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemURL-1);
-            return EFalse;           
-            }   
-            
-        // settings seem to be ok    
-        return SaveOrCreateAndSaveRemoteDriveL(ETrue);        
-        }
-    else 
-        {
-        if (DisplayDeleteOrDontSaveDialogL())
-            {
-            DeleteRemoteDriveIfExistL();
-            }
-        else
-            {
-            // set focus on the address field as that is the first (and only)
-            // unfilled compulsary setting field
-             iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemURL-1);
-             return EFalse;
-            }        
-        }
-    
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::SaveSettingsL
-// Attempts to save settings
-// ---------------------------------------------------------------------------
-void CRsfwGsPluginDriveSettingsContainer::SaveSettingsL()
-    {
-    if (AreCompulsoryItemsFilled())
-        {
-        if (!(RsfwMountUtils::IsFriendlyNameValid(iData->iSettingName))) 
-            {
-            return;            
-            }
-        // Uri must contain some scheme, like http:// or upnp://    
-        if (!IsDriveAddressValidL(iData->iURL)) 
-            {
-            return;
-            }   
-        // settings seem to be ok    
-        SaveOrCreateAndSaveRemoteDriveL(EFalse);
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::SaveOrCreateAndSaveremoteDriveL()
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveSettingsContainer::SaveOrCreateAndSaveRemoteDriveL(TBool aShowDialog)
-    {
-   // try to get mountentry with this drive letter
-   const CRsfwMountEntry* existingMountEntry = iMountMan->MountEntryL(iData->iDriveLetter);
- 
-   // to keep names unique check if the setting with this name is already exist
-   // ask user to change name
-   TBool isConflict;
-   if (existingMountEntry) 
-        {
-        isConflict = IsRemoteDriveNameConflictL(iData->iSettingName, *(existingMountEntry->Item(EMountEntryItemDrive)));
-        }
-   else 
-        {
-        TBuf<5> bogusDrive;
-        bogusDrive.Append(_L("C:\\"));
-        isConflict = IsRemoteDriveNameConflictL(iData->iSettingName, bogusDrive);
-        }
-    
-    if (isConflict)
-        {
-        if (aShowDialog)
-            {
-            HBufC* myFormatMessage = NULL;	
-            if ( iData->iSettingName.Length() )
-                {
-                myFormatMessage = StringLoader::LoadLC( R_STR_REMOTE_DRIVE_NAME_ALREADY_EXIST, iData->iSettingName);
-                }
-            else
-                {
-                myFormatMessage = StringLoader::LoadLC( R_STR_REMOTE_DRIVE_NAME_ALREADY_EXIST );
-                }
-     		
-            CAknErrorNote* note = new CAknErrorNote(EFalse);
-            note->SetTimeout( CAknNoteDialog::ELongTimeout  );
-            note->ExecuteLD( *myFormatMessage );
-            CleanupStack::PopAndDestroy(myFormatMessage);
-            // set focus to drive
-            iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemDriveName-1); 		    
-            }
-        return EFalse;       	               
-        }    
-   	else if (!existingMountEntry || DataChanged(existingMountEntry)) 
-        {  	
-         
-       CRsfwMountEntry* newMountEntry = CRsfwMountEntry::NewLC();
-        if (existingMountEntry)
-            {
-        	// the same drive letter must be set as it is the key
-        	newMountEntry->SetItemL(EMountEntryItemDrive, *(existingMountEntry->Item(EMountEntryItemDrive)));
-            }
-	
- 	    newMountEntry->SetItemL(EMountEntryItemName, iData->iSettingName);
- 	    newMountEntry->SetItemL(EMountEntryItemUri, iData->iURL);
- 	    if ((iData->iUserID)!=KNullDesC)
-   			{
-      	  	newMountEntry->SetItemL(EMountEntryItemUserName, iData->iUserID);	
-        	}
-        
-     	if ((iData->iPassword)!=KNullDesC)
-    	    {
-      		newMountEntry->SetItemL(EMountEntryItemPassword, iData->iPassword);	
-       		}    
-	    if ((iData->iAccessPointDes)!=KNullDesC) 
-    	    {
-	        newMountEntry->SetItemL(EMountEntryItemIap, iData->iAccessPointDes);
-   		    }
-   		    else
-   		    {
-   		    newMountEntry->SetItemL(EMountEntryItemIap, KIapAskUser);	
-   		    }
-        
-        newMountEntry->SetItemL(EMountEntryItemInactivityTimeout, iData->iInActivityTimeout);
-        
-        // depending on whether this is new mount created or existing mount edited
-        // choose proper method from MountMan API
-        // pop here from the stack since ownership is passed to the mountman
-        CleanupStack::Pop(newMountEntry);
-        
-        if (!existingMountEntry)
-            {
-           	iMountMan->AddMountEntryL(newMountEntry);
-            }
-        else 
-            {
-            iMountMan->EditMountEntryL(newMountEntry);
-            }
-        }
-    return ETrue;   
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::DataChanged
-// ---------------------------------------------------------------------------
-//    
-TBool CRsfwGsPluginDriveSettingsContainer::DataChanged(const CRsfwMountEntry* aCurrentData)
-{
-    if (!aCurrentData) 
-        {
-        return ETrue;
-        }
-
-	// compulsary settings
-	if (iData->iSettingName != *(aCurrentData->Item(EMountEntryItemName))) 
-	{
-		return ETrue;
-	}
-	if (iData->iURL != *(aCurrentData->Item(EMountEntryItemUri))) 
-	{
-		return ETrue;
-	}
-	
-	// optional settings
-	if (!aCurrentData->Item(EMountEntryItemUserName)) 
-	{
-		if (iData->iUserID != KNullDesC) 
-		{
-			return ETrue;
-		}
-	}
-	else 
-	{
-		if (iData->iUserID != *(aCurrentData->Item(EMountEntryItemUserName)))
-		{
-		return ETrue;
-		}	
-	}
-	
-	if (!aCurrentData->Item(EMountEntryItemPassword)) 
-	{
-		if (iData->iPassword != KNullDesC) 
-		{
-			return ETrue;
-		}
-	}
-	else 
-	{
-		if (iData->iPassword != *(aCurrentData->Item(EMountEntryItemPassword)))
-		{
-			return ETrue;
-		}	
-	}
-
-	if (!aCurrentData->Item(EMountEntryItemIap)) 
-	{
-		if (iData->iAccessPointDes != KNullDesC) 
-		{
-			return ETrue;
-		}
-	}
-	else 
-	{
-		if (iData->iAccessPointDes != *(aCurrentData->Item(EMountEntryItemIap)))
-		{
-			return ETrue;
-		}	
-	}
-
-
-	return EFalse;
-}
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::IsRemoteDriveNameExistL(TDesC& aremoteDriveName)
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveSettingsContainer::IsRemoteDriveNameConflictL(
-                                               TDesC& aRemoteDriveName,
-                                               const TDesC& aDriveLetter)
-    {
-    TBool ret(EFalse);
-    CDesCArray* remoteDriveList = NULL;
-
-    TRAPD(err, remoteDriveList = LoadRemoteDriveNamesL());
-    if(err!=KErrNone)    
-        {
-        return EFalse;
-        }
-    CleanupStack::PushL(remoteDriveList);
-
-    TInt remoteDriveListCount = remoteDriveList->Count();
-    for (TInt i = 0; i< remoteDriveListCount; i++)
-        {
-        if (!((remoteDriveList->MdcaPoint(i)).CompareF(aRemoteDriveName))) // if equal
-            { 
-              // check whether the drive letter is the same or not
-              const CRsfwMountEntry* existingDrive = 
-                    iMountMan->MountEntryL(aRemoteDriveName);
-              if ((existingDrive->Item(EMountEntryItemDrive))->Compare(aDriveLetter) == 0 ) 
-                {
-                ret = EFalse;    
-                }
-              else 
-                {
-                ret = ETrue;
-                }
-              break;
-            }
-        }
-    CleanupStack::PopAndDestroy(remoteDriveList);
-    return ret;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::IsDriveAddressValidL
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwGsPluginDriveSettingsContainer::IsDriveAddressValidL(const TDesC& aDriveAddress)
-    {
-    HBufC8* urlBuffer = HBufC8::NewL(KMaxURLLength);
-    TPtr8 bufPtr = urlBuffer->Des();
-    bufPtr.Append(aDriveAddress);
-    TBool isAddressValid = RsfwMountUtils::IsDriveAddressValid(*urlBuffer);
-    delete urlBuffer;
-    return isAddressValid;
-    }
-    
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::LoadRemoteDriveNamesL
-// ---------------------------------------------------------------------------
-//
-CDesCArray* CRsfwGsPluginDriveSettingsContainer::LoadRemoteDriveNamesL()
-    {
-    CDesCArray* myArray = new (ELeave) CDesC16ArraySeg(4);
-    iMountMan->GetMountNamesL(myArray);
-    return myArray;
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::HandleResourceChange()
-// ---------------------------------------------------------------------------
-void CRsfwGsPluginDriveSettingsContainer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KAknsMessageSkinChange ||
-         aType == KEikDynamicLayoutVariantSwitch )
-        {
-        if (aType != KAknsMessageSkinChange) 
-            {
-            TRect mainPaneRect;
-            AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
-                                           mainPaneRect);
-            SetRect( mainPaneRect );
-            }
-            
-        DrawDeferred();    
-        CRsfwGsPlugin* tempView = static_cast<CRsfwGsPlugin*> (iView);  
-        tempView->HandleResourceChangeManual(aType);
-        }
-    CCoeControl::HandleResourceChange( aType );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::HandleResourceChangeManual()
-// ---------------------------------------------------------------------------    
-void CRsfwGsPluginDriveSettingsContainer::HandleResourceChangeManual(TInt aType)
-    {
-    if (aType !=  KAknsMessageSkinChange) 
-        {    
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
-                                       mainPaneRect);
-        SetRect( mainPaneRect );  
-        } 
-    
-    DrawDeferred();   	
-	iSettingList->HandleResourceChange(aType);
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::FocusChanged
-// Set focus on the selected listbox. For animated skins feature.
-// ---------------------------------------------------------------------------
-void CRsfwGsPluginDriveSettingsContainer::FocusChanged(TDrawNow /*aDrawNow*/)
-    {
-    if(iSettingList)
-        {
-        iSettingList->SetFocus( IsFocused() );
-        }
-    }
-
-// ---------------------------------------------------------
-// CRsfwGsPluginDriveSettingsContainer::GetHelpContext
-// This function is called when Help application is launched
-// ---------------------------------------------------------
-//
-void CRsfwGsPluginDriveSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KGSRsfwPluginUID;
-   // aContext.iContext = KRSFW_HLP_EDIT_SET;
-    }   
-    
-    
- TDes& CRsfwGsPluginDriveSettingsContainer::GetCurrentRemoteDriveName()
-    {
-    return iData->iSettingName;    
-    }   
-    
- 
-// from  MCoeForegroundObserver
- 
-void CRsfwGsPluginDriveSettingsContainer::HandleGainingForeground() 
-    {
-    
-    }  
-    
-    
-void CRsfwGsPluginDriveSettingsContainer::HandleLosingForeground() 
-    {
-    
-    }   
-    
-
-// End of File
--- a/remotestoragefw/gsplugin/src/rsfwgssettingsdata.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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:  Rsfw GS plugin data holding class for Rsfw setting list
-*
-*/
-
-
-// INCLUDE FILES
-#include "rsfwgssettingsdata.h"
-
-_LIT(KDefaultAddress, "https://");
-
-// -----------------------------------------------------------------------------
-// CRsfwGsSettingsData::NewL
-// -----------------------------------------------------------------------------
-//
-CRsfwGsSettingsData *CRsfwGsSettingsData::NewL()
-    {
-    CRsfwGsSettingsData *self = CRsfwGsSettingsData::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsSettingsData::NewLC()
-// -----------------------------------------------------------------------------
-//
-CRsfwGsSettingsData *CRsfwGsSettingsData::NewLC()
-    {
-    CRsfwGsSettingsData *self = new (ELeave) CRsfwGsSettingsData();
-    CleanupStack::PushL(self);
-
-    self->ConstructL();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsSettingsData::~CRsfwGsSettingsData()
-// -----------------------------------------------------------------------------
-//
-CRsfwGsSettingsData::~CRsfwGsSettingsData()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsSettingsData::CRsfwGsSettingsData()
-// -----------------------------------------------------------------------------
-//
-CRsfwGsSettingsData::CRsfwGsSettingsData()
-    {
-    // initialise local data
-    Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsSettingsData::ConstructL() 
-// -----------------------------------------------------------------------------
-//
-void CRsfwGsSettingsData::ConstructL() 
-    {
-    iURL = KNullDesC;
-    iURL.Copy(KDefaultAddress);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsSettingsData::Reset()
-// -----------------------------------------------------------------------------
-//
-void CRsfwGsSettingsData::Reset()
-    {
-    iSettingName = KNullDesC;
-    iAccessPoint = KErrNotFound;
-    iAccessPointDes = KNullDesC;
-    iURL = KNullDesC;
-    iURL.Copy(KDefaultAddress);
-    iUserID= KNullDesC;
-    iPassword = KNullDesC;
-    iAccessPointName = KNullDesC; 
-    iInActivityTimeout.Num(KDefaultInactivityTimeout);
-    iDriveLetter = 0;
-    }
-
-//  End of File
-
--- a/remotestoragefw/mountmanager/bwins/rsfwmountmanu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXPORTS
-	??1CRsfwMountMan@@UAE@XZ @ 1 NONAME ; CRsfwMountMan::~CRsfwMountMan(void)
-	?AddMountEntryL@CRsfwMountMan@@QAEXPAVCRsfwMountEntry@@@Z @ 2 NONAME ; void CRsfwMountMan::AddMountEntryL(class CRsfwMountEntry *)
-	?DeleteMountEntryL@CRsfwMountMan@@QAEXABVTDesC16@@@Z @ 3 NONAME ; void CRsfwMountMan::DeleteMountEntryL(class TDesC16 const &)
-	?DeleteMountEntryL@CRsfwMountMan@@QAEXVTChar@@@Z @ 4 NONAME ; void CRsfwMountMan::DeleteMountEntryL(class TChar)
-	?EditMountEntryL@CRsfwMountMan@@QAEXPAVCRsfwMountEntry@@@Z @ 5 NONAME ; void CRsfwMountMan::EditMountEntryL(class CRsfwMountEntry *)
-	?GetAllDrivesL@CRsfwMountMan@@QBEHAAV?$TBuf8@$0BK@@@@Z @ 6 NONAME ; int CRsfwMountMan::GetAllDrivesL(class TBuf8<26> &) const
-	?GetMountInfo@CRsfwMountMan@@QBEHVTChar@@AAVTRsfwMountInfo@@@Z @ 7 NONAME ; int CRsfwMountMan::GetMountInfo(class TChar, class TRsfwMountInfo &) const
-	?GetMountNamesL@CRsfwMountMan@@QBEXPAVCDesC16Array@@@Z @ 8 NONAME ; void CRsfwMountMan::GetMountNamesL(class CDesC16Array *) const
-	?GetRemoteMountListL@CRsfwMountMan@@QBEHAAV?$TBuf8@$0BK@@@@Z @ 9 NONAME ; int CRsfwMountMan::GetRemoteMountListL(class TBuf8<26> &) const
-	?IsAppOnBlackList@CRsfwMountMan@@QBEHVTUid@@@Z @ 10 NONAME ; int CRsfwMountMan::IsAppOnBlackList(class TUid) const
-	?MountEntryL@CRsfwMountMan@@QBEPBVCRsfwMountEntry@@ABVTDesC16@@@Z @ 11 NONAME ; class CRsfwMountEntry const * CRsfwMountMan::MountEntryL(class TDesC16 const &) const
-	?MountEntryL@CRsfwMountMan@@QBEPBVCRsfwMountEntry@@VTChar@@@Z @ 12 NONAME ; class CRsfwMountEntry const * CRsfwMountMan::MountEntryL(class TChar) const
-	?NewL@CRsfwMountMan@@SAPAV1@IPAVMRsfwMountManObserver@@@Z @ 13 NONAME ; class CRsfwMountMan * CRsfwMountMan::NewL(unsigned int, class MRsfwMountManObserver *)
-	?RefreshDirectory@CRsfwMountMan@@QAEHABVTDesC16@@@Z @ 14 NONAME ; int CRsfwMountMan::RefreshDirectory(class TDesC16 const &)
-	?SetMountConnectionState@CRsfwMountMan@@QAEHVTChar@@I@Z @ 15 NONAME ; int CRsfwMountMan::SetMountConnectionState(class TChar, unsigned int)
-	?CancelRemoteTransfer@CRsfwMountMan@@QAEHABVTDesC16@@@Z @ 16 NONAME ; int CRsfwMountMan::CancelRemoteTransfer(class TDesC16 const &)
-	?ExternalizeL@TRsfwMountConfig@@QBEXAAVRWriteStream@@@Z @ 17 NONAME ; void TRsfwMountConfig::ExternalizeL(class RWriteStream &) const
-	?InternalizeL@TRsfwMountConfig@@QAEXAAVRReadStream@@@Z @ 18 NONAME ; void TRsfwMountConfig::InternalizeL(class RReadStream &)
-	??1CRsfwMountEntry@@UAE@XZ @ 19 NONAME ; CRsfwMountEntry::~CRsfwMountEntry(void)
-	?Clear@CRsfwMountEntry@@QAEXXZ @ 20 NONAME ; void CRsfwMountEntry::Clear(void)
-	?CloneL@CRsfwMountEntry@@QBEPAV1@XZ @ 21 NONAME ; class CRsfwMountEntry * CRsfwMountEntry::CloneL(void) const
-	?Item@CRsfwMountEntry@@QBEPBVHBufC16@@H@Z @ 22 NONAME ; class HBufC16 const * CRsfwMountEntry::Item(int) const
-	?NewL@CRsfwMountEntry@@SAPAV1@XZ @ 23 NONAME ; class CRsfwMountEntry * CRsfwMountEntry::NewL(void)
-	?NewLC@CRsfwMountEntry@@SAPAV1@XZ @ 24 NONAME ; class CRsfwMountEntry * CRsfwMountEntry::NewLC(void)
-	?SetEntryL@CRsfwMountEntry@@QAEXHABVTDesC16@@VTChar@@0000@Z @ 25 NONAME ; void CRsfwMountEntry::SetEntryL(int, class TDesC16 const &, class TChar, class TDesC16 const &, class TDesC16 const &, class TDesC16 const &, class TDesC16 const &)
-	?SetItemL@CRsfwMountEntry@@QAEXHABVTDesC16@@@Z @ 26 NONAME ; void CRsfwMountEntry::SetItemL(int, class TDesC16 const &)
-	?SetItemL@CRsfwMountEntry@@QAEXHABVTDesC8@@@Z @ 27 NONAME ; void CRsfwMountEntry::SetItemL(int, class TDesC8 const &)
-	?SetMountConnectionStateBlind@CRsfwMountMan@@QAEHVTChar@@I@Z @ 28 NONAME ; int CRsfwMountMan::SetMountConnectionStateBlind(class TChar, unsigned int)
-
--- a/remotestoragefw/mountmanager/bwins/rsfwmountutilsu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	?ExportMountEntryL@RsfwMountUtils@@SAXABVCRsfwMountEntry@@HAAVTDes16@@@Z @ 1 NONAME ; void RsfwMountUtils::ExportMountEntryL(class CRsfwMountEntry const &, int, class TDes16 &)
-	?ImportMountEntryFromStreamL@RsfwMountUtils@@SAXAAVRReadStream@@HPAPAVCRsfwMountEntry@@@Z @ 2 NONAME ; void RsfwMountUtils::ImportMountEntryFromStreamL(class RReadStream &, int, class CRsfwMountEntry * *)
-	?ImportMountEntryL@RsfwMountUtils@@SAXABVTDesC16@@PAPAVCRsfwMountEntry@@@Z @ 3 NONAME ; void RsfwMountUtils::ImportMountEntryL(class TDesC16 const &, class CRsfwMountEntry * *)
-	?IsDriveAddressValid@RsfwMountUtils@@SAHABVTDesC8@@@Z @ 4 NONAME ; int RsfwMountUtils::IsDriveAddressValid(class TDesC8 const &)
-	?IsFriendlyNameValid@RsfwMountUtils@@SAHABVTDesC16@@@Z @ 5 NONAME ; int RsfwMountUtils::IsFriendlyNameValid(class TDesC16 const &)
-
--- a/remotestoragefw/mountmanager/eabi/rsfwmountmanu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	_ZN13CRsfwMountMan14AddMountEntryLEP15CRsfwMountEntry @ 1 NONAME
-	_ZN13CRsfwMountMan15EditMountEntryLEP15CRsfwMountEntry @ 2 NONAME
-	_ZN13CRsfwMountMan16RefreshDirectoryERK7TDesC16 @ 3 NONAME
-	_ZN13CRsfwMountMan17DeleteMountEntryLE5TChar @ 4 NONAME
-	_ZN13CRsfwMountMan17DeleteMountEntryLERK7TDesC16 @ 5 NONAME
-	_ZN13CRsfwMountMan23SetMountConnectionStateE5TCharj @ 6 NONAME
-	_ZN13CRsfwMountMan4NewLEjP21MRsfwMountManObserver @ 7 NONAME
-	_ZN13CRsfwMountManD0Ev @ 8 NONAME
-	_ZN13CRsfwMountManD1Ev @ 9 NONAME
-	_ZN13CRsfwMountManD2Ev @ 10 NONAME
-	_ZNK13CRsfwMountMan11MountEntryLE5TChar @ 11 NONAME
-	_ZNK13CRsfwMountMan11MountEntryLERK7TDesC16 @ 12 NONAME
-	_ZNK13CRsfwMountMan12GetMountInfoE5TCharR14TRsfwMountInfo @ 13 NONAME
-	_ZNK13CRsfwMountMan13GetAllDrivesLER5TBuf8ILi26EE @ 14 NONAME
-	_ZNK13CRsfwMountMan14GetMountNamesLEP12CDesC16Array @ 15 NONAME
-	_ZNK13CRsfwMountMan16IsAppOnBlackListE4TUid @ 16 NONAME
-	_ZNK13CRsfwMountMan19GetRemoteMountListLER5TBuf8ILi26EE @ 17 NONAME
-	_ZTI13CRsfwMountMan @ 18 NONAME ; #<TI>#
-	_ZTI17CRsfwMountManImpl @ 19 NONAME ; #<TI>#
-	_ZTV13CRsfwMountMan @ 20 NONAME ; #<VT>#
-	_ZTV17CRsfwMountManImpl @ 21 NONAME ; #<VT>#
-	_ZN13CRsfwMountMan20CancelRemoteTransferERK7TDesC16 @ 22 NONAME
-	_ZN16TRsfwMountConfig12InternalizeLER11RReadStream @ 23 NONAME
-	_ZNK16TRsfwMountConfig12ExternalizeLER12RWriteStream @ 24 NONAME
-	_ZN15CRsfwMountEntry4NewLEv @ 25 NONAME
-	_ZN15CRsfwMountEntry5ClearEv @ 26 NONAME
-	_ZN15CRsfwMountEntry5NewLCEv @ 27 NONAME
-	_ZN15CRsfwMountEntry8SetItemLEiRK6TDesC8 @ 28 NONAME
-	_ZN15CRsfwMountEntry8SetItemLEiRK7TDesC16 @ 29 NONAME
-	_ZN15CRsfwMountEntry9SetEntryLEiRK7TDesC165TCharS2_S2_S2_S2_ @ 30 NONAME
-	_ZN15CRsfwMountEntryD0Ev @ 31 NONAME
-	_ZN15CRsfwMountEntryD1Ev @ 32 NONAME
-	_ZN15CRsfwMountEntryD2Ev @ 33 NONAME
-	_ZNK15CRsfwMountEntry4ItemEi @ 34 NONAME
-	_ZNK15CRsfwMountEntry6CloneLEv @ 35 NONAME
-	_ZTI15CRsfwMountEntry @ 36 NONAME ; #<TI>#
-	_ZTV15CRsfwMountEntry @ 37 NONAME ; #<VT>#
-	_ZN13CRsfwMountMan28SetMountConnectionStateBlindE5TCharj @ 38 NONAME
-
--- a/remotestoragefw/mountmanager/eabi/rsfwmountutilsu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	_ZN14RsfwMountUtils17ExportMountEntryLERK15CRsfwMountEntryiR6TDes16 @ 1 NONAME
-	_ZN14RsfwMountUtils17ImportMountEntryLERK7TDesC16PP15CRsfwMountEntry @ 2 NONAME
-	_ZN14RsfwMountUtils19IsDriveAddressValidERK6TDesC8 @ 3 NONAME
-	_ZN14RsfwMountUtils19IsFriendlyNameValidERK7TDesC16 @ 4 NONAME
-	_ZN14RsfwMountUtils27ImportMountEntryFromStreamLER11RReadStreamiPP15CRsfwMountEntry @ 5 NONAME
-
--- a/remotestoragefw/mountmanager/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Build information file for project MountMan API
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/rsfwmountutils.h   |../../inc/rsfwmountutils.h
-
-PRJ_MMPFILES
-rsfwmountutils.mmp
-rsfwbootmounter.mmp
-rsfwmountman.mmp
-
-
--- a/remotestoragefw/mountmanager/group/rsfwbootmounter.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 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:  Project definition file for project bootmounter
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          rsfwbootmounter.exe
-TARGETTYPE      exe
-UID             0x101F970F
-SECUREID        0x101F970F
-
-CAPABILITY DISKADMIN ReadDeviceData
-
-SOURCEPATH      ../src
-SOURCE          rsfwbootmounter.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE     ../inc
-
-LIBRARY         euser.lib
-LIBRARY	        efsrv.lib
-LIBRARY	        centralrepository.lib
\ No newline at end of file
--- a/remotestoragefw/mountmanager/group/rsfwmountman.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Project definition file for project MountMan API
-*
-*/
-
-#include <platform_paths.hrh>
-TARGET		rsfwmountman.dll
-
-TARGETTYPE	dll
-
-UID		0x1000008d 0x101F976F
-
-CAPABILITY	CAP_GENERAL_DLL
-
-SOURCEPATH	../src
-
-SOURCE		rsfwmountman.cpp
-SOURCE		rsfwmountmanimpl.cpp
-SOURCE		rsfwmountentry.cpp
-
-LANG		SC
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE     ../inc
-
-LIBRARY		efsrv.lib
-LIBRARY		euser.lib
-LIBRARY     bafl.lib
-LIBRARY     estor.lib 
-LIBRARY		rsfwmountstore.lib
-LIBRARY     rsfwmountutils.lib
-LIBRARY		rsfwcontrol.lib
-
-DEFFILE		rsfwmountman.def
-
-// End of File
--- a/remotestoragefw/mountmanager/group/rsfwmountutils.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Project specification for MountUtils
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET		rsfwmountutils.dll
-
-TARGETTYPE	dll
-
-UID		0x1000008d 0x101F9774
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-SOURCEPATH	../src
-
-SOURCE		rsfwmountutils.cpp
-
-LANG		SC
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE     ../inc
-
-LIBRARY		efsrv.lib
-LIBRARY		estor.lib
-LIBRARY		euser.lib
-LIBRARY     ecom.lib
-LIBRARY		inetprotutil.lib
-LIBRARY		rsfwmountman.lib
-LIBRARY		charconv.lib // for CnvUtfConverter
-
-
-DEFFILE		rsfwmountutils.def
-
-// End of File
--- a/remotestoragefw/mountmanager/inc/mydebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug printing to a log file
- *
-*/
-
-
-#ifndef MYDEBUG_H
-#define MYDEBUG_H
-
-// Debug defines for MountMan:
-
-#define APPEND_TO_DEBUG_FILE
-
-_LIT(KDebugDirName, "mountman");
-_LIT(KDebugFileName, "mountman.txt");
-
-#endif // MYDEBUG_H
-
-// End of File
--- a/remotestoragefw/mountmanager/inc/rsfwmountmanimpl.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mount manager
- *
-*/
-
-
-#ifndef CRSFWMOUNTMANIMPL_H
-#define CRSFWMOUNTMANIMPL_H
-
-
-// INCLUDES
-#include "rsfwmountstore.h"
-#include "rsfwcontrol.h"
-
-// FORWARD DECLARATIONS
-class MRsfwMountManObserver;
-
-// CLASS DECLARATION
-/**
- *  Class for implementing mount management of remote file repositories
- *
- *  @lib mountman.dll
- *  @since Series 60 3.1
- */
-
-class CRsfwMountManImpl : public CBase, public MRsfwMountStoreObserver
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     *
-     * @param aDefaultFlags must be set to KMountFlagInteractive
-     *   if the user is to be prompted during the mount procedure.
-     *   Otherwise the parameter can be omitted (defaults to zero)
-     * @param mount event observer
-     * @return pointer to the created CRsfwMountManImpl object instance
-     */
-    static CRsfwMountManImpl* NewL(TUint aDefaultFlags,
-                               MRsfwMountManObserver* aMountManObserver);
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwMountManImpl();
-    
-public: // New functions
-    // Methods that implement the mount management functions
-    // See MountMan.h for documentation
-    void GetMountNamesL(CDesC16Array* aNames);
-
-    const CRsfwMountEntry* MountEntryL(const TDesC& aName);
-
-    const CRsfwMountEntry* MountEntryL(TChar aDriveLetter);
-
-    void AddMountEntryL(CRsfwMountEntry* aMountEntry);
-
-    void DeleteMountEntryL(const TDesC& aName);
-
-    void DeleteMountEntryL(TChar aDriveLetter);
-
-    void EditMountEntryL(CRsfwMountEntry* aMountEntry);
-
-    void MountL(TChar& aDriveLetter);
-    void MountBlindL(TChar& aDriveLetter);
-
-    TInt GetAllDrivesL(TDriveList& aDriveList);
-
-    TInt GetRemoteMountListL(TDriveList& aDriveList);
-    
-    TInt GetMountInfo(TChar aDriveLetter, TRsfwMountInfo& aMountInfo);
-
-    TInt SetMountConnectionState(TChar aDriveLetter,
-                                 TUint aConnectionState);
-
-    TInt RefreshDirectory(const TDesC& aPath);
-    
-    TBool IsAppOnBlackList(TUid aUid);
-    
-    TInt CancelRemoteTransfer(const TDesC& aFile);
-
-
-    // Methods from MMountStoreObserver
-    void HandleMountStoreEvent(TMountStoreEvent aEvent,
-                               TInt aStatus,
-                               TAny* aArg);
-
-private:
-    enum TRsfwMountState
-        {
-        EMountStateIdle = 0,
-        EMountStateWait,
-        EMountStateCanceled
-        };
-
-private:
-    // Default constructor
-    CRsfwMountManImpl();
-
-    void ConstructL(TUint aDefaultFlags,
-                    MRsfwMountManObserver* aMountManObserver);
-    TInt GetRsfwControlConnection();
-    TInt MountFileSystem(const TDesC& aDriveName, TChar aDriveLetter);
-    TInt RemoteMountCountL();
-    
-    
-    void DoUnmountL(TChar aDriveLetter, TUint aFlags);
-    TInt ExecuteUnmount(TChar aDriveLetter);
-    TChar FreeDriveLetterL(TChar aDriveLetter);
-    TChar DriveLetterFromMountEntry(const CRsfwMountEntry& aMountEntry);
-    void AddEntryL(CRsfwMountEntry* aMountEntry);
-    TInt SyncWithMounterExe(TBool aSetDrive, TChar aDrive = EDriveQ);
-    void GetFsDriveListL(TDriveList& aDriveList, TBool aRemoteOnly);
-    TInt GetRemoteDriveListL(TDriveList& aDriveList);
-    TInt SetDriveNameToFileSystem(TChar aDriveLetter,
-                                 const TDesC& aDriveName);
-    void LoadBlackListL();
-
-private: // Data
-    RFs                           iFs;
-    RRsfwControl                  iRsfwControl;
-    TBool                         iRsfwControlConnected;
-    TUint                         iDefaultFlags;  // default mount options
-    TRsfwMountInfo                iMountInfo;     // current mount info
-    TRsfwMountState               iMountState;
-    MRsfwMountManObserver*        iMountManObserver;
-    CRsfwMountStore*              iMountStore;
-    RArray<TUid>                  iBlackList;
-    };
-
-#endif // CRSFWMOUNTMANIMPL_H
-
-// End of File
--- a/remotestoragefw/mountmanager/inc/rsfwmountutils.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mounting utilities
- *
-*/
-
-
-#ifndef RSFWMOUNTUTILS_H
-#define RSFWMOUNTUTILS_H
-
-#include <e32std.h>
-
-// CONSTANTS
-
-/// BIO message UID
-const TUid KUidBIOMountConfMsg     = {0x1bdeff02};
-const TInt KMountMessagePrefixLength = 29; // length of "//vnd.nokia.s60.mount.config\n"
-
-// FORWARD DECLARATIONS
-class CRsfwMountEntry;
-
-// CLASS DECLARATION
-/** ImportMountEntry is used from smart messaging bio control.
-ExportMountEntryL is used from general settings plugin.
-Both functions call GetKeyWord(), so only common thing
-are actually the keywords used 
-Note that because this is only used for smart messaging,
-currently exports and imports only mount name and address
-*/
-
-
-class RsfwMountUtils
-    {
-public: // New functions
-     /**
-     * Imports a mount configuration from a descriptor
-     *
-     * @param aMsg descriptor to be imported
-     *		memory is reserved by this function, but ownership transferred to the caller
-     * @param aEntry returned mount entry
-     * @return nothing
-     */
-    IMPORT_C static void ImportMountEntryL(const TDesC& aMsg,
-                                           CRsfwMountEntry** aEntry);
-     /**
-     * Imports a mount configuration from a stream
-     *
-     * @param aReadStream stream data to be imported
-     *  function assumes that the stream contains 8-bit data
-     * @param aSize data size
-     * @param aEntry returned mount entry
-      *		memory is reserved by this function, but ownership transferred to the caller
-     * @return nothing
-     */
-    IMPORT_C static void ImportMountEntryFromStreamL(RReadStream& aReadStream,
-                                                    TInt aSize,
-                                                   CRsfwMountEntry** aEntry);
-     /**
-     * Exports a mount configuration to a descriptor.
-     *
-     * @param aEntry mount entry to be exported
-     * @param aSendCredentials controls whether username/passwd is exported
-     * @param aBuf returned descriptor     
-     * @return nothing
-     */
-    IMPORT_C static void ExportMountEntryL(const CRsfwMountEntry& aEntry,
-                                           TBool aSendCredentials,
-                                           TDes& aBuf);
-     /**
-     * Returns ETrue if the friendly name for a remote drive is valid
-     * Used from MountEntry and the General Settings plugin
-     * Currently just calls RFs::IsDriveNameValid() as 
-     * the friendly name is stored to RFs::DriveName()
-     * @since S60 3.2
-     * @param aFriendlyName remote drive friendly name
-     */
-    IMPORT_C static TBool IsFriendlyNameValid(const TDesC& aFriendlyName);       
-    
-     /**
-     * Returns ETrue if the address (URL) for a remote drive is valid
-     * Used from MountEntry and the General Settings plugin
-     * @since S60 3.2
-     * @param aFriendlyName remote drive friendly name
-     */
-    IMPORT_C static TBool IsDriveAddressValid(const TDesC8& aDriveAddress);                                
-   
-    
-private:
-    static void ParseLineL(const TDesC& aLine, CRsfwMountEntry& aEntry);
-    static const TDesC& GetKeyWord(TInt aIndex);
-    };
-
-#endif // RSFWMOUNTUTILS_H
-
-// End of File
--- a/remotestoragefw/mountmanager/src/rsfwbootmounter.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* Copyright (c) 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:  Mounts during boot remote drives configured in CenRep
- *
-*/
-
-
-#include <f32file.h>	// link against efsrv.lib
-#include <centralrepository.h> // link against centralrepository.lib 
-#include <f32fsys.h>
-
-// for the file server client side API   
-_LIT(KRemoteFSName, "RemoteFS");
-_LIT(KRemoteFs, "eremotefs");
-   
-   
-// for the central repository API   
-enum TMountEntryItemIndex
-    {
-    EMountEntryItemIndex, 
-    EMountEntryItemName,
-    EMountEntryItemDrive,
-    EMountEntryItemUri,
-    EMountEntryItemUserName,
-    EMountEntryItemPassword,
-    EMountEntryItemIap,
-    EMountEntryItemInactivityTimeout,
-    EMountEntryItemReserved,
-    EMountEntryItemCount
-    };
-const TUid  KCRUidRsfwCtrl = { 0x101F9775 }; // RSFW cenrep table id
-const TUint KColumnName       = EMountEntryItemName;
-const TUint KColumnMask       = 0x000000ff; 
-const TUint KRowMask          = 0xffffff00;
-const TInt KMaxFileSystemName = 256;
-const TInt KMaxDriveLetterLength = 5;
-const TInt KMaxFriendlyNameLength = 20;
- 
-
-//  isRsfwFileSystem
-//
-//  Checks whether certain drive has rsfw file system mounted on it
-//
-//  
-LOCAL_C TBool isRsfwFileSystemL(TInt aDrive,
-                              TDriveList aDriveList,
-                              RFs aFsSession) 
-    {
-    TBool rsfwFileSystem = EFalse;
-    // check first KDriveAttRemote bit as if that is missing it is a quick way 
-    // to conclude that this is not a rsfw mount
-    if (aDriveList[aDrive] & KDriveAttRemote) 
-        {
-        TInt err;
-        HBufC* filesystemName = HBufC::NewL(KMaxFileSystemName);
-        TPtr itemPtr = filesystemName->Des();
-        err = aFsSession.FileSystemName(itemPtr, aDrive);
-        if (!err && (itemPtr.Compare(KRemoteFSName) == 0)) 
-            {
-            rsfwFileSystem = ETrue;
-            }
-        delete filesystemName;
-        }
-    return rsfwFileSystem;
-    }
- 
- 
- 
-//  DoMountL
-//
-//  Do either simple mount or replace (our) existing mount
-//  by doing dismount and mount
-//
-//  
-LOCAL_C TInt DoMount(TInt aDrive, RFs aFsSession, TBool aReplaceExisting)
-
-    {
-    TInt err;
-    if (aReplaceExisting) 
-        {
-        // ignore dismount error code
-        aFsSession.DismountFileSystem(KRemoteFSName, aDrive);
-        err = aFsSession.MountFileSystem(KRemoteFSName, aDrive);
-        }
-    else 
-        {
-        err = aFsSession.MountFileSystem(KRemoteFSName, aDrive);
-        }
-    return err;
-    }
- 
-
-//  ExecuteFileServerMountL
-//
-//  Attempts to mount our file system to the file server
-//
-// 
-LOCAL_C TInt ExecuteFileServerMountL(TInt aDrive,
-                                    TDriveList aDriveList,
-                                    RFs aFsSession)
-    {
-    TInt err;
-    if (aDriveList[aDrive]) 
-        {
-        if (isRsfwFileSystemL(aDrive, aDriveList, aFsSession)) 
-            {
-            err = DoMount(aDrive, aFsSession, ETrue);
-            }
-        else 
-            {
-            // the drive we attempt to mount contains some other file system
-            return KErrInUse;
-            }
-        }
-    else 
-        {
-        // the drive we attempt to mount does not contain an existing mount
-        err = DoMount(aDrive, aFsSession, EFalse);
-        }
-    return err;
-    }
-
-
-//  SetFriendlyNameL
-//  
-//  Sets the friendly name of the remote drive to 
-//  mounted fs drivename and volumename fields
-//  (to the volume name field first 11 chars)
-//
-//  This function assumes that we are allowed to manipulate
-//  drive aDrive, in practise that ExecuteFileServerMount()
-//  has been called succesfully
-// 
-LOCAL_C TInt SetFriendlyName(TInt aDrive,
-                             TDesC& aFriendlyName,
-                             RFs aFsSession)
-    {
-    TInt err;
-    err = aFsSession.SetDriveName(aDrive, aFriendlyName);
-    if (!err) 
-        {
-        TPtrC volumeNamePtr = aFriendlyName.Left(KMaxVolumeNameLength);
-        err = aFsSession.SetVolumeLabel(volumeNamePtr, aDrive);
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// SyncConfiguredRemoteDrivesL
-// adds RSFW File Server plug-in 
-// and synchronizes Central Repository's view of configured remote drives 
-// with File Server's view (mounts the remote drives configured in CR and
-// unmounts those remote drives that are not anymore configured)   
-// ----------------------------------------------------------------------------
-//  
-LOCAL_C void SyncConfiguredRemoteDrivesL()
-    {  
-    TInt err = 0;
-    TInt row = 0;
-    TInt driveNumber = 0;
-    RFs fs;
-    TChar paramLetter(90);
-    TBool paramSet = EFalse;
-    
-    User::LeaveIfError(fs.Connect());
-    CleanupClosePushL(fs);
-    
-    // it is possible to manipulate only one drive letter, and give that as an argument
-    TInt clinelength = User::CommandLineLength();
-    if (clinelength > 0) 
-        {
-        HBufC* cl = HBufC::NewL(clinelength);
-        TPtr linePtr = cl->Des();
-        User::CommandLine(linePtr);
-        TLex lex(linePtr);
-        paramLetter = lex.Get();
-        paramSet = ETrue;
-        delete cl;
-        }
-    
- 	// add our file system plugin to the file server
-    err = fs.AddFileSystem(KRemoteFs);
-    if ((err != KErrNone) && (err != KErrAlreadyExists)) 
-    	{
-    	User::Leave(err);
-    	}
-    	
-    // Get a list of drives in the File Server
-    TDriveList drives;
-    User::LeaveIfError(fs.DriveList(drives, KDriveAttAll));  
-    // 	(drives[i] & KDriveAttRemote) now tells whether i:th drive is remote
-    
-    // Get a list of remote drives in the central repository table
-    
-    // connect
-   	CRepository* cenrep;
-    cenrep = CRepository::NewL(KCRUidRsfwCtrl);
-    CleanupStack::PushL(cenrep);
-    
-     // find all entries by name
-    RArray<TUint32> nameIds;
-    CleanupClosePushL(nameIds);
-    err = cenrep->FindL(KColumnName, KColumnMask, nameIds);
-    if (!err)
-    	{
-    	// for each remote drive entry, represented by a record in central repository, do the following:
-    	// 1) get drive letter from central repository
-    	// 2) based on drive letter acquire corresponding drive number from the File Server
-    	// 3) check whether in the File Server there is already mounted a drive with given number
-    	//    3.1) if there is NOT, then mount the drive
-    	//    3.2) if there is and it appears to be remote, then do re-mounting
-    	//    3.3) if there is and it appears NOT to be remote, then this means error
-    	// 4) still for the same record from central repository, get the name of the drive
-    	// 5) use this name as the volume label in the File Server
-    	for (row = 0; row < nameIds.Count(); row++)
-        	{
-        	TUint rowId = (nameIds[row] & KRowMask);
-        	// don't touch zero row as it DOES NOT contain info about mounted drives
-        	if (rowId > 0) 
-        	    {
-        	    TInt i;
-            	// mount it to the file server
-            	
-            	// get drive number
-            	TBuf<KMaxDriveLetterLength> driveLetter;
-            	i = EMountEntryItemDrive;
-            	User::LeaveIfError(cenrep->Get(rowId | i, driveLetter));
-            	
-            	// driveNumber needed in any case, so that we can mark this as existing drive
-            	if (driveLetter.Length() > 0) 
-            	    {
-            	    User::LeaveIfError(fs.CharToDrive((driveLetter)[0], driveNumber));
-            	    }
-            	 else 
-            	    {
-            	    User::Leave(KErrBadName);
-            	    }
-            	
-            	// proceed this drive if we didn't get any drive
-            	// letter as a parameter or we got this one
-                if ((!paramSet) || (paramLetter ==  driveLetter[0]))
-                    {
-                    // get friendly name
-            	    TBuf<KMaxFriendlyNameLength> friendlyName;
-            	    i = EMountEntryItemName;
-            	    User::LeaveIfError(cenrep->Get(rowId | i, friendlyName));
-            	
-            	    if (friendlyName.Length() > 0) 
-            	        {
-            		    User::LeaveIfError(ExecuteFileServerMountL(driveNumber, drives, fs));
-            		    User::LeaveIfError(SetFriendlyName(driveNumber, friendlyName,fs));		
-            		    }
-            	
-            	    else
-            		    {
-            		    User::Leave(KErrBadName);
-            		    }
-                    }
-                    
-            	// do not unmount this drive as it is still in the CenRep table
-            	// after this loop non-zero drives are used to see 
-            	// which remote drives should be unmounted	
-            	drives[driveNumber] = 0; 
-        	    }
-            } // loop
-    	}
-    	
-    	// If drives now contain some remote drives, this means that they are not 
-    	// anymore configured in CenRep and should be unmounted. 
-       	for (int i = 0; i < EDriveZ; i++) 
-       		{
-       		if (isRsfwFileSystemL(i, drives, fs))
-       			{
-       			fs.DismountFileSystem(KRemoteFSName, i);
-       			}
-       		}
-    
-    CleanupStack::PopAndDestroy(3, &fs);   // fs, cenrep, nameIds
-    
-    }
-    
-// ----------------------------------------------------------------------------
-// E32Main
-// 
-// ----------------------------------------------------------------------------
-//   
-GLDEF_C TInt E32Main() 
-    {
-    CTrapCleanup* cleanupStack = CTrapCleanup::New();
-    TRAPD(err, SyncConfiguredRemoteDrivesL());
-    delete cleanupStack;
-    return err;
-    }
-
-
-// End of file
--- a/remotestoragefw/mountmanager/src/rsfwmountentry.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mount configuration entry
- *
-*/
-
-
-// INCLUDE FILES
-#include <uri16.h>
-#include <rsfwmountentry.h>
-#include "rsfwmountutils.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountEntry* CRsfwMountEntry::NewLC()
-    {
-    CRsfwMountEntry* self = new (ELeave) CRsfwMountEntry();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountEntry* CRsfwMountEntry::NewL()
-    {
-    CRsfwMountEntry* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::CRsfwMountEntry
-// ----------------------------------------------------------------------------
-//
-CRsfwMountEntry::CRsfwMountEntry()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::~CRsfwMountEntry
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountEntry::~CRsfwMountEntry()
-    {
-    Clear();
-    iFs.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::SetItemL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountEntry::SetItemL(TInt aIndex, const TDesC& aValue)
-    {
-    TChar driveChar;
-     
-    if ((aIndex < EMountEntryItemIndex) || (aIndex >= EMountEntryItemCount))
-        {
-        User::Leave(KErrArgument);
-        }
-
-    switch (aIndex) 
-        {
-        case EMountEntryItemName:
-            if (aValue.Length() > KMaxMountNameLength) 
-                {
-                User::Leave(KErrArgument);
-                }      
-            // name must not contain chars not allowed in Symbian file names
-            // as the name will be stored as drive friendly name
-            // (rules for allowed chars are the same)
-            if (!(RsfwMountUtils::IsFriendlyNameValid(aValue))) 
-                {
-                User::Leave(KErrArgument);
-                }
-            break;
-        case EMountEntryItemUri:
-            if (aValue.Length() > KMaxMountUriLength)
-                {
-                User::Leave(KErrArgument);
-                }
-            break;
-        case EMountEntryItemUserName:
-            if (aValue.Length() > KMaxMountUserNameLength)
-                {
-                User::Leave(KErrArgument);
-                }
-            break;   
-        case EMountEntryItemPassword:
-             if (aValue.Length() > KMaxMountPasswordLength)
-                {
-                User::Leave(KErrArgument);
-                } 
-            break;
-        case EMountEntryItemDrive:
-            // remote drives can take drive letters from  J through Y
-            // (see documentation for RFs::DriveList())
-            driveChar = aValue[0];
-            TInt driveNumber;
-            User::LeaveIfError(iFs.CharToDrive(driveChar, driveNumber));
-            if (!((driveNumber >= EDriveJ) && (driveNumber < EDriveZ)))
-                {
-                User::Leave(KErrArgument);
-                }
-            break;
-        default:
-            // check that the value is not too long
-            if (aValue.Length() > KMaxMountConfItemLength) 
-                {
-                User::Leave(KErrArgument);
-                }
-            break;            
-        }
-        
-    HBufC*& p = iMountEntryItems[aIndex];
-    if (p)
-        {
-        delete p;
-        p = NULL;
-        }
-    p = aValue.AllocL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::SetItemL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountEntry::SetItemL(TInt aIndex, const TDesC8& aValue)
-    {
-    HBufC* p = HBufC::NewLC(aValue.Length());
-    TPtr pPtr = p->Des();
-    pPtr.Copy(aValue);
-    SetItemL(aIndex, pPtr);
-    CleanupStack::PopAndDestroy(p);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::SetEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountEntry::SetEntryL(TInt aIndex,
-                                     const TDesC& aName,
-                                     TChar aDriveLetter,
-                                     const TDesC& aUri,
-                                     const TDesC& aUserName,
-                                     const TDesC& aPassword,
-                                     const TDesC& aIap)
-    {
-    TBuf<KIndexAsStringLength> index;
-    index.Num(aIndex);
-    SetItemL(EMountEntryItemIndex, index);
-    SetItemL(EMountEntryItemName, aName);
-    TBuf<KIndexAsStringLength> drive;
-    drive.Append(aDriveLetter);
-    SetItemL(EMountEntryItemDrive, drive);
-    SetItemL(EMountEntryItemUri, aUri);
-    SetItemL(EMountEntryItemUserName, aUserName);
-    SetItemL(EMountEntryItemPassword, aPassword);
-    SetItemL(EMountEntryItemIap, aIap);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::Item
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const HBufC* CRsfwMountEntry::Item(TInt aIndex) const
-    {
-    if ((aIndex >= EMountEntryItemIndex) && (aIndex < EMountEntryItemCount))
-        {
-        return iMountEntryItems[aIndex];
-        }
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::Clear
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountEntry::Clear()
-    {
-    TInt i;
-    for (i = EMountEntryItemIndex;  i < EMountEntryItemCount;  i++)
-        {
-        if (iMountEntryItems[i])
-            {
-            delete iMountEntryItems[i];
-            iMountEntryItems[i] = NULL;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::CloneL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountEntry* CRsfwMountEntry::CloneL() const
-    {
-    CRsfwMountEntry* entry = CRsfwMountEntry::NewLC();
-    TInt i;
-    for (i = EMountEntryItemIndex;  i < EMountEntryItemCount;  i++)
-        {
-        HBufC* item = iMountEntryItems[i];
-        if (item)
-            {
-            entry->iMountEntryItems[i] = (*item).AllocL();
-            }
-        }
-    CleanupStack::Pop(entry);
-    return entry;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountEntry::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountEntry::ConstructL()
-    {
-    User::LeaveIfError(iFs.Connect());
-    }
-
-//  End of File
--- a/remotestoragefw/mountmanager/src/rsfwmountman.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2004-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:  RSFW Mount Manager API
-*
-*/
-
-
-// INCLUDE FILES
-#include <rsfwmountman.h>
-#include "rsfwmountmanimpl.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// TRsfwMountConfig::ExternalizeL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void TRsfwMountConfig::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteUint32L(iDriveLetter);
-    aStream << iName;
-    aStream << iUri;
-    aStream << iUserName;
-    // Don't externalize a password that is not part of the mount configuration
-    // (this is for security)
-    if (iFlags & KMountFlagAskPassword)
-        {
-        TPtrC emptyPassword;
-        aStream << emptyPassword;
-        }
-    else
-        {
-        aStream << iPassword;
-        }
-    aStream << iAuxData;
-    aStream.WriteUint32L(iFlags);
-    aStream.WriteInt32L(iInactivityTimeout);
-    }
-
-
-// ----------------------------------------------------------------------------
-// TRsfwMountConfig::InternalizeL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void TRsfwMountConfig::InternalizeL(RReadStream& aStream)
-    {
-    iDriveLetter = aStream.ReadUint32L();
-    aStream >> iName;
-    aStream >> iUri;
-    aStream >> iUserName;
-    aStream >> iPassword;
-    aStream >> iAuxData;
-    iFlags = aStream.ReadUint32L();
-    iInactivityTimeout = aStream.ReadInt32L();
-    }
-
-
-// ----------------------------------------------------------------------------
-// TRsfwMountInfo::ExternalizeL
-// ----------------------------------------------------------------------------
-//
-void TRsfwMountInfo::ExternalizeL(RWriteStream& aStream) const
-    {
-    iMountConfig.ExternalizeL(aStream);
-    }
-
-
-// ----------------------------------------------------------------------------
-// TRsfwMountInfo::InternalizeL
-// ----------------------------------------------------------------------------
-//
-void TRsfwMountInfo::InternalizeL(RReadStream& aStream)
-    {
-    Mem::FillZ(this, sizeof(*this));
-    iMountConfig.InternalizeL(aStream);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::CRsfwMountMan
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CRsfwMountMan::CRsfwMountMan()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountMan::ConstructL(TUint aDefaultFlags,
-                           MRsfwMountManObserver* aMountManObserver)
-    {
-    iMountManImpl = CRsfwMountManImpl::NewL(aDefaultFlags, aMountManObserver);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountMan* CRsfwMountMan::NewL(TUint aDefaultFlags,
-                                    MRsfwMountManObserver* aMountManObserver)
-    {
-    CRsfwMountMan* self = new (ELeave) CRsfwMountMan();
-    CleanupStack::PushL(self);
-    self->ConstructL(aDefaultFlags, aMountManObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::~CRsfwMountMan
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountMan::~CRsfwMountMan()
-    {
-    delete iMountManImpl;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::GetMountNamesL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountMan::GetMountNamesL(CDesC16Array* aNames) const
-    {
-    iMountManImpl->GetMountNamesL(aNames);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::MountEntry
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const CRsfwMountEntry* CRsfwMountMan::MountEntryL(const TDesC& aName) const
-    {
-    return iMountManImpl->MountEntryL(aName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::MountEntry
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const CRsfwMountEntry* CRsfwMountMan::MountEntryL(TChar aDriveLetter) const
-    {
-    return iMountManImpl->MountEntryL(aDriveLetter);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::AddMountEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountMan::AddMountEntryL(CRsfwMountEntry* aMountEntry)
-    {
-    iMountManImpl->AddMountEntryL(aMountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::DeleteMountEntry
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountMan::DeleteMountEntryL(const TDesC& aName)
-    {
-    iMountManImpl->DeleteMountEntryL(aName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::DeleteMountEntry
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountMan::DeleteMountEntryL(TChar aDriveLetter)
-    {
-    iMountManImpl->DeleteMountEntryL(aDriveLetter);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::GetAllDrivesL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::GetAllDrivesL(TDriveList& aDriveList) const
-    {
-    return iMountManImpl->GetAllDrivesL(aDriveList);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::GetRemoteMountList
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::GetRemoteMountListL(TDriveList& aDriveList) const
-    {
-    return iMountManImpl->GetRemoteMountListL(aDriveList);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::GetMountInfo
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::GetMountInfo(TChar aDriveLetter,
-                                      TRsfwMountInfo& aMountInfo) const
-    {
-    return iMountManImpl->GetMountInfo(aDriveLetter, aMountInfo);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::SetMountConnectionState
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::SetMountConnectionState(TChar aDriveLetter,
-                                                 TUint aConnectionState)
-    {
-    if (aConnectionState == KMountStronglyConnected) 
-        {
-        TRsfwMountConfig mountConfig;
-	    mountConfig.iDriveLetter = aDriveLetter;
-	    mountConfig.iFlags = KMountFlagMountAtRfeOnly;
-	    TRAPD(err, iMountManImpl->MountL(aDriveLetter));
-	    return err;
-        }
-   else 
-        {
-        return iMountManImpl->SetMountConnectionState(aDriveLetter,
-                                                  aConnectionState);     
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::SetMountConnectionStateBlind
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::SetMountConnectionStateBlind(TChar aDriveLetter,
-                                                 TUint aConnectionState)
-    {
-    if (aConnectionState == KMountStronglyConnected) 
-        {
-        TRsfwMountConfig mountConfig;
-	    mountConfig.iDriveLetter = aDriveLetter;
-	    mountConfig.iFlags = KMountFlagMountAtRfeOnly;
-	    TRAPD(err, iMountManImpl->MountBlindL(aDriveLetter));
-	    return err;
-        }
-   else 
-        {
-        return iMountManImpl->SetMountConnectionState(aDriveLetter,
-                                                  aConnectionState);     
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::EditMountEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountMan::EditMountEntryL(CRsfwMountEntry* aMountEntry)
-    {
-    iMountManImpl->EditMountEntryL(aMountEntry);
-    }    
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::RefreshDirectoryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::RefreshDirectory(const TDesC& aPath)
-    {
-    return iMountManImpl->RefreshDirectory(aPath);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::IsAppOnBlackList
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CRsfwMountMan::IsAppOnBlackList(TUid aUid) const
-    {
-    return iMountManImpl->IsAppOnBlackList(aUid);
-    }    
-
-// ----------------------------------------------------------------------------
-// CRsfwMountMan::CancelAllRemoteTransfers
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwMountMan::CancelRemoteTransfer(const TDesC& aFile)
-    {
-    return iMountManImpl->CancelRemoteTransfer(aFile);
-    }    
-
-
-//  End of File
--- a/remotestoragefw/mountmanager/src/rsfwmountmanimpl.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,755 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mount manager
- *
-*/
-
-
-// INCLUDE FILES
-#include <badesca.h> 
-#include <f32fsys.h> // KMaxVolumeNameLength
-#include <rsfwmountman.h>
-#include <rsfwmountentry.h>
-
-#include "rsfwinterface.h"
-#include "rsfwmountmanimpl.h"
-
-
-// CONSTANTS
-const TUint8 KDefaultDriveLetter = 'J';
- // system default if no other specified; 
- // remote drives should use letters from J: to Y:
- 
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::CRsfwMountManImpl
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CRsfwMountManImpl::CRsfwMountManImpl()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwMountManImpl* CRsfwMountManImpl::NewL(TUint aDefaultFlags,
-                                   MRsfwMountManObserver* aMountManObserver)
-    {
-    CRsfwMountManImpl* self = new (ELeave) CRsfwMountManImpl();
-    CleanupStack::PushL(self);
-    self->ConstructL(aDefaultFlags, aMountManObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::~CRsfwMountManImpl
-// ----------------------------------------------------------------------------
-//
-CRsfwMountManImpl::~CRsfwMountManImpl()
-    {
-    iFs.Close();
-    if (iRsfwControlConnected)
-        {
-        iRsfwControl.Close();
-        }
-    delete iMountStore;
-    
-    iBlackList.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetMountNamesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::GetMountNamesL(CDesC16Array* aNames)
-    {
-    iMountStore->GetNamesL(aNames);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::MountEntry
-// ----------------------------------------------------------------------------
-//
-const CRsfwMountEntry* CRsfwMountManImpl::MountEntryL(const TDesC& aName)
-    {
-    return iMountStore->LookupEntryByNameL(aName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::MountEntry
-// ----------------------------------------------------------------------------
-//
-const CRsfwMountEntry* CRsfwMountManImpl::MountEntryL(TChar aDriveLetter)
-    {
-    return iMountStore->LookupEntryByDriveL(aDriveLetter);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::AddMountEntryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::AddMountEntryL(CRsfwMountEntry* aMountEntry)
-    {
-    // Take ownership
-    CleanupStack::PushL(aMountEntry);
-    
-    // Look for existing configuration with the same friendly name
-    // overwriting not allowed
-    const HBufC* driveName = aMountEntry->Item(EMountEntryItemName);
-    const CRsfwMountEntry* entry = MountEntryL(*driveName);
-    if (entry)
-        {
-        User::Leave(KErrInUse);
-        }
-    // Also look for existing configuration with the same drive letter
-    // overwriting not allowed
-    TChar driveLetter = DriveLetterFromMountEntry(*aMountEntry);
-    if (driveLetter != '?')
-        {
-        entry = MountEntryL(driveLetter);
-        if (entry)
-            {
-            User::Leave(KErrInUse);
-            }
-        }
-    else 
-        {
-        driveLetter = FreeDriveLetterL(driveLetter);
-        TBuf<1> driveLetterBuf;
-        driveLetterBuf.Append(driveLetter);
-        // Replace '?' with the allocated drive letter
-        aMountEntry->SetItemL(EMountEntryItemDrive, driveLetterBuf);
-        }
-   
-    // find the number of remote drives in use
-    // if 9 already new ones are not allowed
-    TDriveList fsDriveList;   
-    User::LeaveIfError(iFs.DriveList(fsDriveList, KDriveAttRemote));    
-    TInt i;
-    TInt remoteDrives = 0;
-    for (i = EDriveA; i <= EDriveZ; i++)
-        { 
-        if (fsDriveList[i] & KDriveAttRemote)
-            {
-            remoteDrives++;
-            }
-        }
-    
-    if (remoteDrives == KMaxRemoteDrives)
-        {
-        User::Leave(KErrInUse);
-        }
-      
-    // Save the friendly name (not guaranteed to survive CMountStore::AddEntryL
-    HBufC* name = NULL;
-    if (aMountEntry->Item(EMountEntryItemName))
-        {
-        name = aMountEntry->Item(EMountEntryItemName)->AllocL();
-        }
-
-    // Release ownership
-    CleanupStack::Pop(aMountEntry);
-    // Add mount configuration repository entry
-    TRAPD(err, AddEntryL(aMountEntry));
-    CleanupStack::PushL(name);
-    User::LeaveIfError(err);
-    
-    // Add mount in File Server
-    if (name)
-        {
-        User::LeaveIfError(MountFileSystem(*name, driveLetter));
-        }
-    else
-        {
-        _LIT(KRsfwNoName, "remotedrive");
-        User::LeaveIfError(MountFileSystem(KRsfwNoName, driveLetter));
-        }
-        
-    // finally set mountconnection state to disconnected
-    // this will make in Remote File Engine what is called "disconnected dormant mount"    
-    SetMountConnectionState(driveLetter, KMountNotConnected);
-        
-    CleanupStack::PopAndDestroy(name);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::DeleteMountEntryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::DeleteMountEntryL(const TDesC& aName)
-    {
-    const CRsfwMountEntry* mountEntry = iMountStore->LookupEntryByNameL(aName);
-    if (mountEntry)
-        {
-        TChar driveLetter = DriveLetterFromMountEntry(*mountEntry);
-        if (driveLetter != '?')
-            {
-            DeleteMountEntryL(driveLetter);
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::DeleteMountEntryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::DeleteMountEntryL(TChar aDriveLetter)
-    {
-    const CRsfwMountEntry* mountEntry =
-        iMountStore->LookupEntryByDriveL(aDriveLetter);
-    if (mountEntry)
-        {
-        // Remove entry from configuration repository
-        iMountStore->RemoveEntryL(aDriveLetter);
-        // Dismount from file server and Remote File Engine
-        ExecuteUnmount(aDriveLetter);
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::EditMountEntryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::EditMountEntryL(CRsfwMountEntry* aMountEntry)
-    {
-    // take ownership
-    CleanupStack::PushL(aMountEntry);
-    
-    // look for the drive based on the letter
-    TChar driveLetter = DriveLetterFromMountEntry(*aMountEntry);
-    const CRsfwMountEntry* entryByDrive = MountEntryL(driveLetter);
-    if ( !entryByDrive )
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    // check whether the name has changed
-    TBool nameChanged = EFalse;
-    const HBufC* newName = aMountEntry->Item(EMountEntryItemName);
-    const HBufC* oldName = entryByDrive->Item(EMountEntryItemName);
-    if ( newName->Compare(*oldName) != KErrNone )
-        {
-        nameChanged = ETrue;
-        }
-        
-    // check whether URI has changed
-    TBool uriChanged = EFalse;
-    const HBufC* newUri = aMountEntry->Item(EMountEntryItemUri);
-    const HBufC* oldUri = entryByDrive->Item(EMountEntryItemUri);
-    if ( newUri->Compare(*oldUri) != KErrNone )
-        {
-        uriChanged = ETrue;
-        }
-
-    // if the name has changed -> check whether it is not used by the other mount entry
-    if ( nameChanged )
-        {
-        const CRsfwMountEntry* entryByName = MountEntryL(*newName);
-        if ( entryByName && entryByDrive != entryByName )
-            {
-            User::Leave(KErrInUse);
-            }        
-        }
-   
-    // release ownership and call MountStore API
-    CleanupStack::Pop(aMountEntry);    
-    AddEntryL(aMountEntry);
-
-    // if URI has changed we have to unmount the drive from RFE in order 
-    // to clear the cache and mount it again
-    // note there is no need to make unmounting from File System
-    if ( uriChanged )
-        {
-        TInt err;
-        User::LeaveIfError(GetRsfwControlConnection());
-        err = iRsfwControl.DismountByDriveLetter(driveLetter);
-        if ((err != KErrNone) && (err != KErrNotFound)) 
-            {
-            User::Leave(err);
-            }
-        User::LeaveIfError(iRsfwControl.SetMountConnectionState(driveLetter, KMountNotConnected));
-        }
-
-    // if the name has changed -> change label in File System
-    if ( nameChanged )
-        {
-        User::LeaveIfError(SetDriveNameToFileSystem(driveLetter, *newName));
-        }
-    }    
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::MountL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::MountL(TChar& aDriveLetter)
-    {
-    TInt driveNumber;
-    User::LeaveIfError(iFs.CharToDrive(aDriveLetter, driveNumber));
-    User::LeaveIfError(GetRsfwControlConnection());
-    User::LeaveIfError(iRsfwControl.Mount(driveNumber));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::MountL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::MountBlindL(TChar& aDriveLetter)
-    {
-    TInt driveNumber;
-    User::LeaveIfError(iFs.CharToDrive(aDriveLetter, driveNumber));
-    User::LeaveIfError(GetRsfwControlConnection());
-    User::LeaveIfError(iRsfwControl.MountBlind(driveNumber));
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::SetMountConnectionState
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::SetMountConnectionState(TChar aDriveLetter,
-                                            TUint aConnectionState)
-    {
-    TInt err = GetRsfwControlConnection();
-    if (err != KErrNone)
-        {
-        return err;
-        }
-
-    err = iRsfwControl.SetMountConnectionState(aDriveLetter, aConnectionState);
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::IsAppOnBlackList
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwMountManImpl::IsAppOnBlackList(TUid aUid)
-    {
-    TInt i;
-    for ( i = 0; i < iBlackList.Count(); i++ )
-        {
-        if ( aUid == iBlackList[i] )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetAllDrivesL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::GetAllDrivesL(TDriveList& aDriveList)
-    {
-    GetFsDriveListL(aDriveList, EFalse);
-    return aDriveList.Length();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetRemoteMountList
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::GetRemoteMountListL(TDriveList& aDriveList)
-    {
-    GetFsDriveListL(aDriveList, ETrue);
-    return aDriveList.Length();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetMountInfo
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::GetMountInfo(TChar aDriveLetter,
-                                 TRsfwMountInfo& aMountInfo)
-    {
-    TInt err = GetRsfwControlConnection();
-    if (err == KErrNone)
-        {
-        err = iRsfwControl.GetMountInfo(aDriveLetter, aMountInfo);
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetRsfwControlConnection
-// Set a Remote File Engine control connection unless
-// we already have a connection
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::GetRsfwControlConnection()
-    {
-    TInt err = KErrNone;
-    if (!iRsfwControlConnected)
-        {
-        err = iRsfwControl.Connect();
-        if (!err) 
-            {
-            iRsfwControlConnected = ETrue;   
-            }
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::MountFileSystem
-// Install ERemoteFS file system plugin (if not already done) and
-// mount a filesystem designated with the given drive letter
-// on that file system
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::MountFileSystem(const TDesC& /*aDriveName*/,
-                                    TChar aDriveLetter)
-    {
-    return SyncWithMounterExe(ETrue, aDriveLetter);
-    }
-        
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::RemoteDriveCount
-// Get the number of remote mounts as seen by the File Server
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::RemoteMountCountL()
-    {
-    // Check if how many mounts there are (also dormant mounts are counted)
-    TDriveList driveList;
-    return GetRemoteMountListL(driveList);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::DoUnmountL
-// Do conditional unmounting by consulting the user
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::DoUnmountL(TChar aDriveLetter, TUint /* aFlags */)
-    {
-    TInt err = ExecuteUnmount(aDriveLetter);
-    User::LeaveIfError(err);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::ExecuteUnmount
-// Do unconditional unmounting
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::ExecuteUnmount(TChar aDriveLetter)
-    {
-    TInt err = GetRsfwControlConnection();
-    if (err != KErrNone)
-        {
-        return err;
-        }
-
-    // Drop the mount both from the File Server and from Remote File Engine
-    TInt errFs = KErrNone;
-    TInt driveNumber;
-    err = iFs.CharToDrive(aDriveLetter, driveNumber);
-    if (err != KErrNone)
-        {
-        return err;
-        }
-    TDriveInfo driveInfo;
-    err = iFs.Drive(driveInfo, driveNumber);
-    if (err != KErrNone)
-        {
-        return err;
-        }    
-    if (driveInfo.iDriveAtt & KDriveAttRemote)
-        {
-        // The mount is known by the File Server
-        errFs = iFs.DismountFileSystem(KRemoteFSName, driveNumber);
-        if (errFs == KErrPermissionDenied) 
-    	    {
-    		// Client does not have sufficient capabilities to do the operation
-    		// execute mount with the boot mounter application
-    		SyncWithMounterExe(ETrue, aDriveLetter);
-    	    }
-        }
-    
-    // We also request dismount from the RFE because
-    // The File Server (eremotefs) does not pass the
-    // dismount request to the RFE.
-    err = iRsfwControl.DismountByDriveLetter(aDriveLetter);
-    if (errFs != KErrNone)
-        {
-        // give priority to the File Server error
-        err = errFs;
-        }
-    return err;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::ConstructL(TUint aDefaultFlags,
-                                   MRsfwMountManObserver* aMountManObserver)
-    {
-    iDefaultFlags = aDefaultFlags;
-
-    User::LeaveIfError(iFs.Connect());
-    iRsfwControlConnected = EFalse;
-    iMountManObserver = aMountManObserver;
-    iMountStore = CRsfwMountStore::NewL(this);
-    LoadBlackListL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::FreeDriveLetterL
-// Find a drive letter that has not yet been allocated by the File Server or
-// defined in the mount configuration data base
-// If the suggested drive letter (given as an input parameter)
-// is already occupied, an adjacent letter in the alphabet is returned.
-// Letter '?' as an input parameter is equal to KDefaultDriveLetter.
-// Leave with KErrInUse if there are no free drive slots
-// ----------------------------------------------------------------------------
-//
-TChar CRsfwMountManImpl::FreeDriveLetterL(TChar aDriveLetter)
-    {
-    if (aDriveLetter == '?')
-        {
-        // Use the system default drive letter if none is specified
-        aDriveLetter = KDefaultDriveLetter;
-        }
-    else if ((aDriveLetter < 'A') || (aDriveLetter > 'Z'))
-        {
-        aDriveLetter.UpperCase();
-        }
-
-    TInt driveNumber;
-    User::LeaveIfError(iFs.CharToDrive(aDriveLetter, driveNumber));
-
-    // Try to find a free drive around the given drive
-
-    // Get drives that are already mounted in the File Server
-    TDriveList fsDriveList;
-    User::LeaveIfError(iFs.DriveList(fsDriveList, KDriveAttAll));  
-    // scan first upwards, then downwards from the requested drive 
-    // (or default drive letter) until a free and legal drive letter is found
-    // remote drives should use letters from J: to Y:
-    TInt i;
-    for (i = driveNumber; i <= EDriveY; i++)
-        { 
-        if (fsDriveList[i] == 0)
-            {
-            User::LeaveIfError(iFs.DriveToChar(i, aDriveLetter));
-            return aDriveLetter;
-            }
-        }
-    for (i = driveNumber - 1; i >= EDriveJ; i--)
-        { 
-        if (fsDriveList[i] == 0)
-            {
-            User::LeaveIfError(iFs.DriveToChar(i, aDriveLetter));
-            return aDriveLetter;
-            }
-        }
-    
-    //  no free drive letters for remote drives
-    User::Leave(KErrInUse);
-    return 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::DriveLetterFromMountEntry
-// Build a TRsfwMountConfig
-// ----------------------------------------------------------------------------
-//
-TChar CRsfwMountManImpl::DriveLetterFromMountEntry(const CRsfwMountEntry& aMountEntry)
-    {
-    const HBufC* drive = aMountEntry.Item(EMountEntryItemDrive);
-    if (drive && drive->Length())
-        {
-        return (*drive)[0];
-        }
-    else
-        {
-        return '?';
-        }
-    }
- 
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::AddEntryL
-// Add an entry in the mount configurarion store
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::AddEntryL(CRsfwMountEntry* aMountEntry)
-    {
-    iMountStore->AddEntryL(aMountEntry);
-    }
- 
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::HandleMountStoreEvent
-// Handle a mount store change notification
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::HandleMountStoreEvent(TMountStoreEvent aEvent,
-                                          TInt aStatus,
-                                          TAny* aArg)
-    {
-    if (iMountManObserver)
-        {
-        if (aEvent == EMountStoreEventMountConfigurationChanged)
-            {
-            TRAP_IGNORE(iMountManObserver->HandleMountManEventL(
-                EMountManEventMountConfigurationChanged,
-                aStatus,
-                aArg));
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::SyncWithMounterExe
-// Uses boot mounter exe to mount or unmount remote drives in File Server
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::SyncWithMounterExe(TBool aSetDrive, TChar aDrive) 
-	{
-	TInt err;
-	RProcess mounter;
-	TRequestStatus status;
-	TBuf<5> parameter;
-	if (!aSetDrive) 
-	    {
-	    err = mounter.Create(KRsfwMounterExe, _L(""));
-	    }
-    else 
-        {
-        parameter.Append(aDrive);
-        err = mounter.Create(KRsfwMounterExe, parameter);
-        }
-
-    if (err == KErrNone) 
-    	{
-    	mounter.Resume();
-    	mounter.Logon(status);
-    	User::WaitForRequest(status);
-    	mounter.Close();
-    	err = status.Int();	
-    	} 
-    return err;
-	}
-        
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetFsDriveList
-//
-// Returns drive letters. Letters for remote drives in order defined in CenRep
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::GetFsDriveListL(TDriveList& aDriveList, TBool aRemoteOnly)
-    {
-    TDriveList driveList;
-    // get local drives
-    User::LeaveIfError(iFs.DriveList(driveList));
-    
-   // local drives are assumed to be from C:\ to R:\
-    // these will go to the front of the list
-    if (!aRemoteOnly) 
-        {
-        for (int i = EDriveC; i <= EDriveZ; i++) 
-            {
-            if ( (driveList[i]) && (!(driveList[i] & KDriveAttRemote)) )
-                {
-                TChar driveLetter;
-                User::LeaveIfError(iFs.DriveToChar(i, driveLetter));
-                aDriveList.Append(driveLetter);
-                }
-            }
-        }
-      
-    GetRemoteDriveListL(driveList);   
-    
-    for (int i = 0; i < driveList.Length(); i++) 
-        {
-        aDriveList.Append(driveList[i]);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::GetRemoteDriveList
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::GetRemoteDriveListL(TDriveList& aDriveList)
-    {
-    iMountStore->GetDriveLettersL(aDriveList); 
-    return aDriveList.Length();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::SetDriveNameToFileSystem
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::SetDriveNameToFileSystem(TChar aDriveLetter,
-                                                 const TDesC& /*aDriveName*/)
-    {
-    return SyncWithMounterExe(ETrue, aDriveLetter); 
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::RefreshDirectoryL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::RefreshDirectory(const TDesC& aPath)
-    {
-    TInt err;
-    err = GetRsfwControlConnection();
-    if (err != KErrNone) 
-        {
-        return err;
-        }
-    return iRsfwControl.RefreshDirectory(aPath); 
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::LoadBlackListL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountManImpl::LoadBlackListL()
-    {
-
-//    const TUid app1 = TUid::Uid(0x00000000);
-//    const TUid app2 = TUid::Uid(0x00000001);
-//    const TUid app3 = TUid::Uid(0x00000002);
-    
-    iBlackList.Reset();
-//    iBlackList.AppendL(app1);
-//    iBlackList.AppendL(app2);
-//    iBlackList.AppendL(app3);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountManImpl::LoadBlackListL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountManImpl::CancelRemoteTransfer(const TDesC& aFile)
-    {
-    TInt err;
-    err = GetRsfwControlConnection();
-    if (err != KErrNone) 
-        {
-        return err;
-        }
-    return iRsfwControl.CancelRemoteTransfer(aFile);  
-    }
-    
-//  End of File
--- a/remotestoragefw/mountmanager/src/rsfwmountutils.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/*
-* Copyright (c) 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:  Utility functions for managing mount configurations
-*
-*/
-
-// INCLUDES
-
-#include <s32file.h>
-#include <uri8.h>
-#include <utf.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationinformation.h>
-#include <rsfwmountentry.h>
-
-#include "rsfwmountutils.h"
-#include "rsfwremoteaccess.h"
-
-
-// CONSTANTS
-// These keywords must match with the entry items
-_LIT(KKId, "Fname");
-_LIT(KKDrive, "Fdrv");
-_LIT(KKUri, "Furi");
-_LIT(KKUserName, "Fuid");
-_LIT(KKPassword, "Fpsw");
-
-_LIT(KMountMessagePrefix, "//vnd.nokia.s60.mount.config\n");
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::ImportMountEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RsfwMountUtils::ImportMountEntryL(const TDesC& aMsg,
-                                            CRsfwMountEntry** aEntry)
-    {
-    // Expected to start with
-    // //vnd.nokia.s60.mount.config\n
-    
-    TPtrC prefix = aMsg.Left(KMountMessagePrefixLength);
-    if (prefix.Compare(KMountMessagePrefix) != 0)
-        {
-        User::Leave(KErrNotFound);
-        }
-    
-    // It is a mount configuration message
-    CRsfwMountEntry* entry = CRsfwMountEntry::NewLC();
-
-    TInt lineNumber = 0;
-
-    // SMS rich text messages may be have trailing characters -
-    // that looks like ')' characters
-    TInt i = aMsg.Length() - 1;
-    while (i > 0)
-        {
-        TUint8 c = static_cast<TUint8>(aMsg[i]);
-        if (c != ')')
-            {
-            break;
-            }
-        i--;
-        }
-    TPtrC msg  = aMsg.Left(i + 1);
-
-    TLex lex(msg);
-    while (!lex.Eos())
-        {
-        lineNumber++;
-        lex.SkipSpaceAndMark();
-        while (lex.Peek() != '\n'  && !lex.Eos())
-            {
-            lex.Inc();
-            }
-        // The marked token is now the whole line
-        TPtrC line = lex.MarkedToken();
-        ParseLineL(line, *entry);
-        if (!lex.Eos())
-            {
-            // Skip the '\n'
-            lex.Inc();
-            }
-        }
-
-    CleanupStack::Pop(entry);
-    *aEntry = entry;
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::ImportMountEntryFromStreamL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RsfwMountUtils::ImportMountEntryFromStreamL(RReadStream& aReadStream,
-													      TInt aSize,
-                                                          CRsfwMountEntry** aEntry)
-    {
-    // the string is assumed to be 8-bit in stream, 
-    // and should be converted to Unicode
-    *aEntry = NULL;
-    HBufC8* tempbuf = HBufC8::NewLC(aSize);
-    TPtr8 tbufPtr = tempbuf->Des();
-    tbufPtr.Zero();
-    TRAPD(err, aReadStream.ReadL(tbufPtr));
-    
-    HBufC* buf = HBufC::NewLC(aSize);
-    TPtr bufPtr = buf->Des();
-    CnvUtfConverter::ConvertToUnicodeFromUtf8(bufPtr, tbufPtr);
-    if ((err == KErrNone) || (err == KErrEof))
-        {
-        ImportMountEntryL(bufPtr, aEntry);
-        }
-    CleanupStack::PopAndDestroy(2, tempbuf); // buf, tempbuf 
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::ExportMountEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RsfwMountUtils::ExportMountEntryL(const CRsfwMountEntry& aEntry,
-                                                TBool aSendCredentials,
-                                                TDes& aBuf)
-    {
-    aBuf.Copy(KMountMessagePrefix);
-    TInt i;
-    // smart messaging sends:
-    // EMountEntryItemName
-    // EMountEntryItemUri
-    // if aSendCredentials sends also:
-    // EMountEntryItemUserName
-    // EMountEntryItemPassword 
-    TInt lastToExport;
-    if (aSendCredentials) 
-        {
-        lastToExport = EMountEntryItemPassword; 
-        }
-    else 
-        {
-        lastToExport = EMountEntryItemUri;
-        }
-    
-    for (i = EMountEntryItemName; i < lastToExport + 1; i++)
-        {
-        if (i != EMountEntryItemDrive) 
-        	{
-        	const HBufC* item = aEntry.Item(i);
-        	if (item && item->Length())
-            	{
-            	aBuf.Append(GetKeyWord(i));
-            	aBuf.Append(':');
-                const TPtrC ip(*item);
-                aBuf.Append(ip);
-            	aBuf.Append('\n');
-            	}        	
-        	}
-       }
-    }
- 
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::IsFriendlyNameValid
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool RsfwMountUtils::IsFriendlyNameValid(const TDesC& aFriendlyName)
-    {
-    TInt err;
-    TBool retValue = ETrue;
-    RFs fsSession;
-    err = fsSession.Connect();
-    if (err)
-        {
-        return retValue;
-        }    
-    retValue = fsSession.IsValidName(aFriendlyName);
-    fsSession.Close();  
-        
-    // Some names are acceptable by RFs.IsValidName(), 
-    // but not acceptable by RFs.SetDriveName()
-    // Those are checked below:
-        
-    // solely period characters ( e.g. "...")
-    if (retValue)
-        {
-        retValue = EFalse;
-        TChar period(46); // period (".") character
-        TInt i;
-        for (i = 0; i < aFriendlyName.Length(); i++)
-            {   
-            if (aFriendlyName[i] != period)
-                {
-                retValue = ETrue;
-                break;
-                }
-            }
-        }
-        
-    // period as the last character ( e.g. "myDrive.")
-    if (retValue)
-        {
-        TChar period(46); // period (".") character
-        TInt nameLength = aFriendlyName.Length();
-        if (nameLength > 0 && aFriendlyName[nameLength-1] == period)
-            {
-            retValue = EFalse;
-            }
-        }    
-
-    return retValue;    
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::IsDriveAddressValid
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool RsfwMountUtils::IsDriveAddressValid(const TDesC8& aDriveAddress)
-    {
-    // extract the protocol
-    TInt err;
-    TUriParser8 parser;
-    err = parser.Parse(aDriveAddress);
-    if (err) 
-    		{
-    		return EFalse;	
-    		}
-    TPtrC8 protocol = parser.Extract(EUriScheme);
-    
-    
-    TBuf8<KMaxMatchStringSize> matchString;
-    _LIT8(KRemoteMatchPrefix, "remoteaccess/");
-    matchString.Copy(KRemoteMatchPrefix);
-
-    // Both "http" and "https" are handled by davaccess module
-    _LIT8(KHttps, "https"); 
-    if (protocol.Compare(KHttps) == 0)
-        {
-        _LIT8(KHttp, "http");   
-        matchString.Append(KHttp);
-        }
-    else
-        {
-        matchString.Append(protocol);
-        }
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType(matchString);
-    // Disable wildcard matching
-    resolverParams.SetWildcardMatch(EFalse);    
-    
-    
-    // check whether there is a remote access plugin implementation for that protocol 
-    RImplInfoPtrArray implinfo;
-    TRAP(err, REComSession::ListImplementationsL(
-                             KCRemoteAccessUid,
-                             resolverParams,
-                             implinfo));
-    
-    if (err != KErrNone) 
-        {
-        // if fetching the list of implemenations fail,'
-        // (for example a temporary out of memory situation)
-        // just accept the string
-		implinfo.ResetAndDestroy();
-        return ETrue;
-        }
-     
-    // we assume that protocol used for remote access
-    //  represents hierarchical relationships within the namespace.  This
-    // "generic URI" syntax consists of a sequence of four main components:
-    //      <scheme>://<authority><path>?<query>
-    // check that scheme is followed by "://"
-    _LIT8(KDelimiter, "://");
-    if (aDriveAddress.Length() < protocol.Length()+3) 
-        {
-		implinfo.ResetAndDestroy();
-        return EFalse;
-        }
-    
-    TPtrC8 test = aDriveAddress.Mid(protocol.Length(), 3);
-    if (!(test.Compare(KDelimiter) == 0)) 
-        {
-		implinfo.ResetAndDestroy();
-        return EFalse;    
-        }
-    
-    TInt count = implinfo.Count();
-    implinfo.ResetAndDestroy();
-    if (count > 0) 
-        {
-        return ETrue;
-        }
-    else 
-        {
-        return EFalse;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::ParseLineL
-// ----------------------------------------------------------------------------
-//
-void RsfwMountUtils::ParseLineL(const TDesC& aLine,
-                                CRsfwMountEntry& aEntry)
-    {
-    TLex lex(aLine);
-    // Extract Line i.e "leftToken:RightToken<LF>", then asign to TLex object
-    while (lex.Peek() != ':' && lex.Peek() != '\n' && !lex.Eos())
-        {
-        lex.Inc();
-        }
-
-    // We are only interested in lines containing a colon delimeter ':'
-    // other text lines are ignored i.e "Welcome !<LF>"
-    if(lex.Peek() != ':')
-        {
-        // It was not a name value pair
-        return;
-        }
-    if (lex.TokenLength() == 0)
-        {
-        User::Leave(KErrNotFound);
-        }
-    // Get the keyword
-    HBufC* keyWord = lex.MarkedToken().AllocLC();
-    // Go past the ':'
-    lex.Inc();
-    lex.SkipSpaceAndMark();
-    while (lex.Peek() != '\n' && lex.Peek() != '\r' && !lex.Eos())
-        {
-        lex.Inc();
-        }
-
-    TInt i;
-    // Keyword matching
-    // password is the last possible entry that is transferred
-    for (i = EMountEntryItemName; i < EMountEntryItemPassword + 1; i++)
-        {
-        if (GetKeyWord(i).Compare(*keyWord) == 0)
-            {
-            aEntry.SetItemL(i, lex.MarkedToken());
-            }
-        }
-    CleanupStack::PopAndDestroy(keyWord);
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwMountUtils::GetKeyWord
-// ----------------------------------------------------------------------------
-//
-const TDesC& RsfwMountUtils::GetKeyWord(TInt iItem)
-    {
-    switch (iItem)
-        {
-    case EMountEntryItemName:
-        return KKId;
-        
-    case EMountEntryItemDrive:
-        return KKDrive;
-
-    case EMountEntryItemUri:
-        return KKUri;
-
-    case EMountEntryItemUserName:
-        return KKUserName;
-
-    case EMountEntryItemPassword:
-        return KKPassword;
-
-    default:
-        return KKId;
-        }
-    }
-// End of File
--- a/remotestoragefw/mountmanager/tsrc/public/basic/bwins/T_RSFW_TA_Basicu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
-
--- a/remotestoragefw/mountmanager/tsrc/public/basic/eabi/T_RSFW_TA_Basicu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z16CreateTestSuiteLv @ 1 NONAME
-
--- a/remotestoragefw/mountmanager/tsrc/public/basic/group/T_RSFW_TA_Basic.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Project definition file for EUnit test app for MountMan API
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET          T_RSFW_TA_Basic.dll
-TARGETTYPE      dll
-TARGETPATH      /DigiaEUnit/Tests
-UID             0x1000af5a 0x01700000
-
-CAPABILITY      ALL -TCB             
-
-SOURCEPATH              ../src
-SOURCE                  T_RSFW_TA_BasicDllMain.cpp
-SOURCE                  T_RSFW_TA_Basic.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
-SYSTEMINCLUDE           /epoc32/include/ecom
-
-USERINCLUDE             ../inc
-USERINCLUDE             ../../../../../remotefileengine/inc
-
-LIBRARY                 EUnit.lib
-LIBRARY                 euser.lib
-LIBRARY                 efsrv.lib
-LIBRARY                 bafl.lib
-LIBRARY                 ecom.lib
-LIBRARY	                rsfwmountman.lib // mountman
-LIBRARY	                estor.lib
-
-// End of file
--- a/remotestoragefw/mountmanager/tsrc/public/basic/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Build info for module tests for RemoteStorage FW
-*
-*/
-
-PRJ_MMPFILES
-T_RSFW_TA_Basic.mmp
-//  End of File  
--- a/remotestoragefw/mountmanager/tsrc/public/basic/inc/T_RSFW_TA_Basic.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Header file for EUnit test app for MountMan API
-*
-*/
-
-
-#ifndef __T_MOUNTMAN_H__
-#define __T_MOUNTMAN_H__
-
-//  EXTERNAL INCLUDES
-#include <CEUnitTestSuiteClass.h>
-#include <rsfwmountman.h>
-
-//  INTERNAL INCLUDES
-
-
-//  FORWARD DECLARATIONS
-class CDesC16Array;
-
-#include <e32def.h>
-#ifndef NONSHARABLE_CLASS
-    #define NONSHARABLE_CLASS(x) class x
-#endif
-
-//  CLASS DEFINITION
-/**
- *
- * EUnitWizard generated test class. 
- *
- */
-NONSHARABLE_CLASS( T_MountMan )
-     : public CEUnitTestSuiteClass
-    {
-    public:     // Constructors and destructors
-
-        /**
-         * Two phase construction
-         */
-        static T_MountMan* NewL();
-        static T_MountMan* NewLC();
-        /**
-         * Destructor
-         */
-        ~T_MountMan();
-
-    private:    // Constructors and destructors
-
-        T_MountMan();
-        void ConstructL();
-
-    public:     // From observer interface
-
-        
-
-    private:    // New methods
-
-         void SetupL();
-
-         void Teardown();         
-         
-         // CRsfwMountEntry API
-         
-         void TestSetMountEntryL();
-         
-         void TestSetItemL();
-         
-         void TestSetItem2L();
-         
-         void TestClearL();
-         
-         void TestCloneL();
-         
-         // CRsfwMountMan API
-                                 
-         void TestAddMountEntryL();
-         
-         void TestAddMountEntry2L();
-
-         void TestAddMountEntry3L();
-         
-         void TestEditMountEntryL();
-         
-         void TestEditMountEntry2L();
-         
-         void TestEditMountEntry3L();
-         
-         void TestDeleteMountEntryL();
-         
-         void TestDeleteMountEntry2L();
-         
-         void TestDeleteMountEntry3L();
-         
-         void TestMountEntryL();
-         
-         void TestMountEntry2L();
-         
-         void TestGetAllDrivesL();
-         
-         void TestGetRemoteMountListL();
-         
-         void TestGetMountNamesL();
-         
-         void TestGetMountInfoL();
-         
-         void TestIsAppOnBlackListL();
-         
-         void TestSetMountConnectionStateL();
-         
-         void TestRefreshDirectoryL();
-         
-         void TestCancelRemoteTransferL();
-         
-         void TestSetMountConnectionStateBlindL();
-
-         // TRsfwMountConfig API
-
-         void TestExternalizeAndInternalizeL();
-        
-         // utility functions
-         
-         TInt AddMountEntryL(TInt aIndex,
-                             const TDesC& aName,
-                             TChar aDriveLetter,
-                             const TDesC& aUri,
-                             const TDesC& aUserName,
-                             const TDesC& aPassword,
-                             const TDesC& aIap);
-
-         TInt EditMountEntryL(TInt aIndex,
-                             const TDesC& aName,
-                             TChar aDriveLetter,
-                             const TDesC& aUri,
-                             const TDesC& aUserName,
-                             const TDesC& aPassword,
-                             const TDesC& aIap);        
-         
-         void ClearAllMountsL(); 
-         
-         TChar DriveToChar(TInt aDrive);
-         
-         TInt CompareArrays(CDesC16Array* aArray1, CDesC16Array* aArray2);
-
-         TInt CheckEntryL(const CRsfwMountEntry* aEntry,
-                          TInt aIndex,
-                          const TDesC& aName,
-                          TChar aDriveLetter,
-                          const TDesC& aUri,
-                          const TDesC& aUserName,
-                          const TDesC& aPassword,
-                          const TDesC& aIap);
-
-    private:    // Data
-        CRsfwMountMan* iMountMan;
-        RFs iFs;
-        EUNIT_DECLARE_TEST_TABLE; 
-
-    };	    
-
-#endif      //  __T_MOUNTMAN_H__
-
-// End of file
--- a/remotestoragefw/mountmanager/tsrc/public/basic/rom/T_RSFW_TA_Basic.pkg	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-;
-; Copyright (c) 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: package file
-;
-;Languages
-&EN
-
-;Header
-#{"RemoteStorageFW cases"}, (0x0B1ABCED),0,2,0
-
-;Dependency for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia/TP/ASP"}
-
-;Unique Vendor name
-:"Nokia/TP/ASP"
-
-;Files to install
-"\epoc32\release\armv5\urel\T_RSFW_TA_Basic.dll"-"!:\sys\bin\T_RSFW_TA_Basic.dll"
--- a/remotestoragefw/mountmanager/tsrc/public/basic/rom/t_rsfw_ta_basic.iby	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* 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:  Image description file for avobjects 
-*
-*/
-
-
-
-#ifndef __T_RSFW_TA_BASIC_IBY__
-#define __T_RSFW_TA_BASIC_IBY__
-
-file=ABI_DIR\BUILD_DIR\T_RSFW_TA_Basic.dll	\sys\bin\T_RSFW_TA_Basic.dll
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/mountmanager/tsrc/public/basic/src/T_RSFW_TA_Basic.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1520 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Source file for EUnit test app for MountMan API
-*
-*/
-
-
-// CLASS HEADER
-#include "T_RSFW_TA_Basic.h"
-
-// INCLUDES
-#include <EUnitMacros.h>
-#include <rsfwmountentry.h>
-#include <rsfwmountentryitem.h>
-#include <f32file.h>
-#include <badesca.h>
-#include <ecom.h>
-#include "rsfwcontrol.h"
-#include <s32file.h>
-
-// CONSTRUCTION
-T_MountMan* T_MountMan::NewL()
-    {
-    T_MountMan* self = T_MountMan::NewLC();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-T_MountMan* T_MountMan::NewLC()
-    {
-    T_MountMan* self = new( ELeave ) T_MountMan();
-    CleanupStack::PushL( self );
-
-    self->ConstructL();
-
-    return self;
-    }
-
-// Destructor (virtual by CBase)
-T_MountMan::~T_MountMan()
-    {
-    iFs.Close();
-    REComSession::FinalClose();  
-    }
-
-// Default constructor
-T_MountMan::T_MountMan()
-    {
-    }
-
-// Second phase construct
-void T_MountMan::ConstructL()
-    {
-    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
-    // It generates the test case table.
-    CEUnitTestSuiteClass::ConstructL();
-    
-    iFs.Connect();    
-    }
-
-//  METHODS
-
-// ----------------------------------------------------------------------------
-// T_MountMan::SetupL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::SetupL(  )
-    {
-	iMountMan = CRsfwMountMan::NewL(0,NULL);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::Teardown
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::Teardown(  )
-    {
-    delete iMountMan;
-    iMountMan = NULL;
-    }
-
-///////////////////////////////////////////////////////////////////////////////
-////// CRsfwMountEntry  ///////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestSetMountEntryL
-// Tests that it is not possible to create an entry with too long attributes
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestSetMountEntryL( )
-    {
-    TInt err;
-    CRsfwMountEntry* mountEntry;
-    mountEntry = CRsfwMountEntry::NewLC();
-        
-    // too long friendly name
-    TBuf<KMaxMountNameLength+1> longName;
-    longName.FillZ(longName.MaxLength());
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemName, longName));
-    EUNIT_ASSERT(err == KErrArgument);
-
-    // too long URI
-    TBuf<KMaxMountUriLength+1> longUri;
-    longUri.FillZ(longUri.MaxLength());
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUri, longUri));
-    EUNIT_ASSERT(err == KErrArgument);
-
-    // too long username
-    TBuf<KMaxMountUserNameLength+1> longUserName;
-    longUserName.FillZ(longUserName.MaxLength());
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUserName, longUserName));
-    EUNIT_ASSERT(err == KErrArgument);
-
-    // too long password
-    TBuf<KMaxMountPasswordLength+1> longPassword;
-    longPassword.FillZ(longPassword.MaxLength());
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemPassword, longPassword));
-    EUNIT_ASSERT(err == KErrArgument);
-                                      
-    // too long IAP
-    TBuf<KMaxMountConfItemLength+1> longIap;
-    longIap.FillZ(longIap.MaxLength());
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemIap, longIap));
-    EUNIT_ASSERT(err == KErrArgument);
-                                      
-    CleanupStack::PopAndDestroy(mountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestSetItemL
-// Tests CRsfwMountEntry::SetItemL(TInt aIndex, const TDesC8& aValue);
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestSetItemL( )
-    {
-    TInt err;
-    CRsfwMountEntry* mountEntry;
-    mountEntry = CRsfwMountEntry::NewLC();
-
-    // set entry items one by one
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemName, _L8("name")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUri, _L8("http://url")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUserName, _L8("username")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemPassword, _L8("password")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemIap, _L8("iap")));
-    EUNIT_ASSERT(err == KErrNone);
-
-    // check the values
-    const HBufC* item = mountEntry->Item(EMountEntryItemName);
-    EUNIT_ASSERT((*item).Compare(_L("name")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemUri);
-    EUNIT_ASSERT((*item).Compare(_L("http://url")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemUserName);
-    EUNIT_ASSERT((*item).Compare(_L("username")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemPassword);
-    EUNIT_ASSERT((*item).Compare(_L("password")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemIap);
-    EUNIT_ASSERT((*item).Compare(_L("iap")) == KErrNone);
-    
-    CleanupStack::PopAndDestroy(mountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestSetItemL
-// Tests CRsfwMountEntry::SetItemL(TInt aIndex, const TDesC& aValue);
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestSetItem2L( )
-    {
-    TInt err;
-    CRsfwMountEntry* mountEntry;
-    mountEntry = CRsfwMountEntry::NewLC();
-
-    // set entry items one by one
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemName, _L("name")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUri, _L("http://url")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUserName, _L("username")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemPassword, _L("password")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemIap, _L("iap")));
-    EUNIT_ASSERT(err == KErrNone);
-
-    // check the values
-    const HBufC* item = mountEntry->Item(EMountEntryItemName);
-    EUNIT_ASSERT((*item).Compare(_L("name")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemUri);
-    EUNIT_ASSERT((*item).Compare(_L("http://url")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemUserName);
-    EUNIT_ASSERT((*item).Compare(_L("username")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemPassword);
-    EUNIT_ASSERT((*item).Compare(_L("password")) == KErrNone);
-    item = mountEntry->Item(EMountEntryItemIap);
-    EUNIT_ASSERT((*item).Compare(_L("iap")) == KErrNone);
-    
-    CleanupStack::PopAndDestroy(mountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestClearL
-// Tests CRsfwMountEntry::Clear
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestClearL( )
-    {
-    TInt err;
-    CRsfwMountEntry* mountEntry;
-    mountEntry = CRsfwMountEntry::NewL();
-    CleanupStack::PushL(mountEntry);
-
-    // set entry items one by one
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemName, _L("name")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUri, _L("http://url")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUserName, _L("username")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemPassword, _L("password")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemIap, _L("iap")));
-    EUNIT_ASSERT(err == KErrNone);
-
-    // clear the values
-    mountEntry->Clear();
-
-    // check whether the values are NULL
-    const HBufC* item = mountEntry->Item(EMountEntryItemName);
-    EUNIT_ASSERT(item == NULL);
-    item = mountEntry->Item(EMountEntryItemUri);
-    EUNIT_ASSERT(item == NULL);
-    item = mountEntry->Item(EMountEntryItemUserName);
-    EUNIT_ASSERT(item == NULL);
-    item = mountEntry->Item(EMountEntryItemPassword);
-    EUNIT_ASSERT(item == NULL);
-    item = mountEntry->Item(EMountEntryItemIap);
-    EUNIT_ASSERT(item == NULL);
-    
-    CleanupStack::PopAndDestroy(mountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestCloneL
-// Tests CRsfwMountEntry::Clone
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestCloneL( )
-    {
-    TInt err;
-    CRsfwMountEntry* mountEntry;
-    mountEntry = CRsfwMountEntry::NewL();
-    CleanupStack::PushL(mountEntry);
-
-    // set entry items one by one
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemName, _L("name")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUri, _L("http://url")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemUserName, _L("username")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemPassword, _L("password")));
-    EUNIT_ASSERT(err == KErrNone);
-    TRAP(err, mountEntry->SetItemL(EMountEntryItemIap, _L("iap")));
-    EUNIT_ASSERT(err == KErrNone);
-
-    // clone the entry
-    CRsfwMountEntry* clonedEntry = mountEntry->CloneL();
-    CleanupStack::PushL(clonedEntry);
-    
-    // check the values in cloned entry
-    const HBufC* item = clonedEntry->Item(EMountEntryItemName);
-    EUNIT_ASSERT((*item).Compare(_L("name")) == KErrNone);
-    item = clonedEntry->Item(EMountEntryItemUri);
-    EUNIT_ASSERT((*item).Compare(_L("http://url")) == KErrNone);
-    item = clonedEntry->Item(EMountEntryItemUserName);
-    EUNIT_ASSERT((*item).Compare(_L("username")) == KErrNone);
-    item = clonedEntry->Item(EMountEntryItemPassword);
-    EUNIT_ASSERT((*item).Compare(_L("password")) == KErrNone);
-    item = clonedEntry->Item(EMountEntryItemIap);
-    EUNIT_ASSERT((*item).Compare(_L("iap")) == KErrNone);
-    
-    CleanupStack::PopAndDestroy(clonedEntry);
-    CleanupStack::PopAndDestroy(mountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestAddMountEntryL
-// Tests that it is possible to add 9 mount entries, but not more
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestAddMountEntryL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(2, 
-                         _L("drivename2"), 
-                         DriveToChar(EDriveM),
-                         _L("http://url2.com"), 
-                         _L("userName2"), 
-                         _L("password2"), 
-                         _L("iap2"));
-    EUNIT_ASSERT(err == KErrNone);    
-    err = AddMountEntryL(3, 
-                         _L("drivename3"), 
-                         DriveToChar(EDriveN),
-                         _L("http://url3.com"), 
-                         _L("userName3"), 
-                         _L("password3"), 
-                         _L("iap3"));
-    EUNIT_ASSERT(err == KErrNone);    
-    err = AddMountEntryL(4, 
-                         _L("drivename4"), 
-                         DriveToChar(EDriveO),
-                         _L("http://url4.com"), 
-                         _L("userName4"), 
-                         _L("password4"), 
-                         _L("iap4"));
-    EUNIT_ASSERT(err == KErrNone);    
-    err = AddMountEntryL(5, 
-                         _L("drivename5"), 
-                         DriveToChar(EDriveP),
-                         _L("http://url5.com"), 
-                         _L("userName5"), 
-                         _L("password5"), 
-                         _L("iap5"));
-    EUNIT_ASSERT(err == KErrNone);	
-    err = AddMountEntryL(6, 
-                         _L("drivename6"), 
-                         DriveToChar(EDriveQ),
-                         _L("http://url6.com"), 
-                         _L("userName6"), 
-                         _L("password6"), 
-                         _L("iap6"));
-    EUNIT_ASSERT(err == KErrNone);	    
-    err = AddMountEntryL(7, 
-                         _L("drivename7"), 
-                         DriveToChar(EDriveR),
-                         _L("http://url7.com"), 
-                         _L("userName7"), 
-                         _L("password7"), 
-                         _L("iap7"));
-    EUNIT_ASSERT(err == KErrNone);	    
-    err = AddMountEntryL(8, 
-                         _L("drivename8"), 
-                         DriveToChar(EDriveS),
-                         _L("http://url8.com"), 
-                         _L("userName8"), 
-                         _L("password8"), 
-                         _L("iap8"));
-    EUNIT_ASSERT(err == KErrNone);	   
-    // 10th drive should not pass! 
-    err = AddMountEntryL(9, 
-                         _L("drivename9"), 
-                         DriveToChar(EDriveT),
-                         _L("http://url9.com"), 
-                         _L("userName9"), 
-                         _L("password9"), 
-                         _L("iap9"));
-    EUNIT_ASSERT(err == KErrInUse);	    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestAddMountEntry2L
-// Tests that it is not possible to add two entries with the same name
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestAddMountEntry2L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    err = AddMountEntryL(0, 
-                         _L("thesamename"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(1, 
-                         _L("thesamename"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrInUse);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestAddMountEntry3L
-// Tests that it is not possible to add two entries with the same drive letter
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestAddMountEntry3L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrInUse);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestEditMountEntryL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestEditMountEntryL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL(); 
-    
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    err = EditMountEntryL(0, 
-                         _L("differentName"), 
-                         DriveToChar(EDriveK),
-                         _L("http://different.com"), 
-                         _L("differentUserName"), 
-                         _L("differentPassword"), 
-                         _L("differentIap"));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    const CRsfwMountEntry* entry = NULL;
-    TRAP (err, entry = iMountMan->MountEntryL(DriveToChar(EDriveK)));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = CheckEntryL(entry,
-                      0, 
-                      _L("differentName"), 
-                      DriveToChar(EDriveK),
-                      _L("http://different.com"), 
-                      _L("differentUserName"), 
-                      _L("differentPassword"), 
-                      _L("differentIap"));
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestEditMountEntry2L
-// tests that nonexising mount cannot be edited
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestEditMountEntry2L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    // try to edit nonexisting mount
-    err = EditMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url1.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNotFound);    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestEditMountEntry3L
-// tests that it is not allowed to change the name into the one
-// that is already in use
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestEditMountEntry3L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-    
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    // change the name of the 1st mount into the one used by the 2nd one
-    err = EditMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrInUse);    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestDeleteMountEntryL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestDeleteMountEntryL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-    
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    TRAP (err, iMountMan->DeleteMountEntryL(_L("drivename0")));
-    EUNIT_ASSERT(err == KErrNone);
-
-    TDriveList expectedList;
-    expectedList.Append(DriveToChar(EDriveL));
-    
-    TDriveList returnedList;    
-    TRAP(err,iMountMan->GetRemoteMountListL(returnedList));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = expectedList.Compare(returnedList);    
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestDeleteMountEntry2L
-// Tests that deleting nonexisting mount entry does not hurt
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestDeleteMountEntry2L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    TRAP (err, iMountMan->DeleteMountEntryL(_L("drivename0")));
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestDeleteMountEntry3L
-// tests DeleteMountEntryL(const TDesC& aName);
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestDeleteMountEntry3L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-    
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    TRAP (err, iMountMan->DeleteMountEntryL(DriveToChar(EDriveK)));
-    EUNIT_ASSERT(err == KErrNone);
-
-    TDriveList expectedList;
-    expectedList.Append(DriveToChar(EDriveL));
-    
-    TDriveList returnedList;    
-    TRAP(err,iMountMan->GetRemoteMountListL(returnedList));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = expectedList.Compare(returnedList);    
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestMountEntryL
-// tests MountEntryL(TChar aDriveLetter)
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestMountEntryL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL(); 
-    
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    const CRsfwMountEntry* entry = NULL;
-    TRAP (err, entry = iMountMan->MountEntryL(DriveToChar(EDriveK)));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = CheckEntryL(entry,
-                      0, 
-                      _L("drivename0"), 
-                      DriveToChar(EDriveK),
-                      _L("http://url0.com"), 
-                      _L("userName0"), 
-                      _L("password0"), 
-                      _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);       
-
-    TRAP (err, entry = iMountMan->MountEntryL(DriveToChar(EDriveL)));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = CheckEntryL(entry,
-                      1, 
-                      _L("drivename1"), 
-                      DriveToChar(EDriveL),
-                      _L("http://url1.com"), 
-                      _L("userName1"), 
-                      _L("password1"), 
-                      _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone); 
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestMountEntryL
-// tests MountEntryL(const TDesC& aName)
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestMountEntry2L( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL(); 
-    
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-
-    const CRsfwMountEntry* entry = NULL;
-    TRAP (err, entry = iMountMan->MountEntryL(_L("drivename0")));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = CheckEntryL(entry,
-                      0, 
-                      _L("drivename0"), 
-                      DriveToChar(EDriveK),
-                      _L("http://url0.com"), 
-                      _L("userName0"), 
-                      _L("password0"), 
-                      _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);       
-
-    TRAP (err, entry = iMountMan->MountEntryL(_L("drivename1")));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = CheckEntryL(entry,
-                      1, 
-                      _L("drivename1"), 
-                      DriveToChar(EDriveL),
-                      _L("http://url1.com"), 
-                      _L("userName1"), 
-                      _L("password1"), 
-                      _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone); 
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestGetAllDrivesL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestGetAllDrivesL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();    
-
-    TInt err;        
-    // add some remote drives
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(2, 
-                         _L("drivename2"), 
-                         DriveToChar(EDriveM),
-                         _L("http://url2.com"), 
-                         _L("userName2"), 
-                         _L("password2"), 
-                         _L("iap2"));
-    EUNIT_ASSERT(err == KErrNone);                     
-    
-    // prepare expected list
-    TDriveList expectedList;
-
-    // first populate the list with local drives
-    TDriveList driveList;
-    err = iFs.DriveList(driveList);
-    EUNIT_ASSERT(err == KErrNone);
-    TInt i;
-    for ( i = EDriveC; i <= EDriveZ; i++) 
-        {
-        if ( (driveList[i]) && (!(driveList[i] & KDriveAttRemote)) )
-            {
-            TChar driveLetter;
-            err = iFs.DriveToChar(i, driveLetter);
-            EUNIT_ASSERT(err == KErrNone);
-            expectedList.Append(driveLetter);
-            }
-        }
-    // append remote drive that just has been added
-    expectedList.Append(DriveToChar(EDriveK));
-    expectedList.Append(DriveToChar(EDriveL));
-    expectedList.Append(DriveToChar(EDriveM));
-
-    TDriveList returnedList;    
-    iMountMan->GetAllDrivesL(returnedList);
-    
-    err = expectedList.Compare(returnedList);
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestGetRemoteMountListL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestGetRemoteMountListL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();    
-
-    TDriveList expectedList;
-    TDriveList returnedList;
-
-    TInt err;    
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-    expectedList.Append(DriveToChar(EDriveK));
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    expectedList.Append(DriveToChar(EDriveL));
-    err = AddMountEntryL(2, 
-                         _L("drivename2"), 
-                         DriveToChar(EDriveM),
-                         _L("http://url2.com"), 
-                         _L("userName2"), 
-                         _L("password2"), 
-                         _L("iap2"));
-    EUNIT_ASSERT(err == KErrNone);                     
-    expectedList.Append(DriveToChar(EDriveM));
-    
-    TRAP(err,iMountMan->GetRemoteMountListL(returnedList));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    err = expectedList.Compare(returnedList);
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestGetMountNamesL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestGetMountNamesL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    // add some remote drives
-    err = AddMountEntryL(0, 
-                         _L("drivename0"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url0.com"), 
-                         _L("userName0"), 
-                         _L("password0"), 
-                         _L("iap0"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(1, 
-                         _L("drivename1"), 
-                         DriveToChar(EDriveL),
-                         _L("http://url1.com"), 
-                         _L("userName1"), 
-                         _L("password1"), 
-                         _L("iap1"));
-    EUNIT_ASSERT(err == KErrNone);
-    err = AddMountEntryL(2, 
-                         _L("drivename2"), 
-                         DriveToChar(EDriveM),
-                         _L("http://url2.com"), 
-                         _L("userName2"), 
-                         _L("password2"), 
-                         _L("iap2"));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    // prepare expected list of names
-    CDesC16Array* expectedNames = new (ELeave) CDesC16ArraySeg(4);
-    CleanupStack::PushL(expectedNames);
-    expectedNames->AppendL(_L("drivename0"));
-    expectedNames->AppendL(_L("drivename1"));
-    expectedNames->AppendL(_L("drivename2"));
-    
-    CDesC16Array* names = new (ELeave) CDesC16ArraySeg(4);
-    CleanupStack::PushL(names);
-    TRAP (err, iMountMan->GetMountNamesL(names));
-
-    if (err == KErrNone)
-        {
-        err = CompareArrays(names, expectedNames);
-        }
-    CleanupStack::PopAndDestroy(names);
-    CleanupStack::PopAndDestroy(expectedNames);
-    EUNIT_ASSERT(err == KErrNone);
-    }   
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestIsAppOnBlackListL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestIsAppOnBlackListL( )
-    {
-    const TUid app1 = TUid::Uid(0x00000000);
-    const TUid app2 = TUid::Uid(0x11111111);    
-
-    TBool isOnList;
-
-    isOnList = iMountMan->IsAppOnBlackList(app1);
-    EUNIT_ASSERT(isOnList == EFalse);
-
-    isOnList = iMountMan->IsAppOnBlackList(app2);
-    EUNIT_ASSERT(isOnList == EFalse);        
-    }     
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestGetMountInfoL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestGetMountInfoL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    // add remote drive
-    err = AddMountEntryL(0, 
-                         _L("drivename"), 
-                         DriveToChar(EDriveK),
-                         _L("http://testurl"),
-                         _L("username"), 
-                         _L("password"), 
-                         _L(""));                    
-    EUNIT_ASSERT(err == KErrNone);
-    
-    TRsfwMountInfo mountInfo;
-    TRAP (err, iMountMan->GetMountInfo(DriveToChar(EDriveK), mountInfo));  
-    EUNIT_ASSERT(err == KErrNone);
-    
-    // check as much mount info as possible at this point
-    EUNIT_ASSERT(mountInfo.iMountConfig.iDriveLetter == DriveToChar(EDriveK));
-    EUNIT_ASSERT(mountInfo.iMountConfig.iName.Compare(_L("drivename")) == KErrNone);
-    EUNIT_ASSERT(mountInfo.iMountConfig.iUri.Compare(_L("http://testurl")) == KErrNone);
-    EUNIT_ASSERT(mountInfo.iMountConfig.iUserName.Compare(_L("username")) == KErrNone);
-    EUNIT_ASSERT(mountInfo.iMountConfig.iPassword.Compare(_L("password")) == KErrNone);    
-    EUNIT_ASSERT(mountInfo.iMountStatus.iVolumeId == EDriveK);
-    EUNIT_ASSERT(mountInfo.iMountStatus.iMountState == KMountStateDormant);
-    EUNIT_ASSERT(mountInfo.iMountStatus.iConnectionState == KMountNotConnected);
-    } 
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestSetMountConnectionStateL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestSetMountConnectionStateL( )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    // add remote drive
-    err = AddMountEntryL(0, 
-                         _L("drivename"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url"), 
-                         _L("username"), 
-                         _L("password"), 
-                         _L(""));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    // set to not connected
-    TRAP (err, iMountMan->SetMountConnectionState(DriveToChar(EDriveK), KMountNotConnected));
-    EUNIT_ASSERT(err == KErrNone);
-
-    // get mount info
-    TRsfwMountInfo mountInfo;
-    TRAP (err, iMountMan->GetMountInfo(DriveToChar(EDriveK), mountInfo));  
-    EUNIT_ASSERT(err == KErrNone);
-
-    // check mount status
-    EUNIT_ASSERT(mountInfo.iMountStatus.iVolumeId == EDriveK);
-    EUNIT_ASSERT(mountInfo.iMountStatus.iMountState == KMountStateDormant);
-    EUNIT_ASSERT(mountInfo.iMountStatus.iConnectionState == KMountNotConnected);
-    }  
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestRefreshDirectoryL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestRefreshDirectoryL(  )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-    
-    TInt err = iMountMan->RefreshDirectory(_L("K:\\nonexisting\\"));
-    EUNIT_ASSERT(err == KErrNotFound);    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestCancelRemoteTransferL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestCancelRemoteTransferL(  )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-    
-    TInt err = iMountMan->CancelRemoteTransfer(_L("K:\\nonexisting\\"));
-    EUNIT_ASSERT(err == KErrNotFound);    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestSetMountConnectionStateBlindL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestSetMountConnectionStateBlindL(  )
-    {
-    // be sure no mount entries are in CenRep
-    ClearAllMountsL();
-
-    TInt err;
-    // add remote drive
-    err = AddMountEntryL(0, 
-                         _L("drivename"), 
-                         DriveToChar(EDriveK),
-                         _L("http://url"), 
-                         _L("username"), 
-                         _L("password"), 
-                         _L(""));
-    EUNIT_ASSERT(err == KErrNone);
-    
-    // set to not connected
-    TRAP (err, iMountMan->SetMountConnectionStateBlind(DriveToChar(EDriveK), KMountNotConnected));
-    EUNIT_ASSERT(err == KErrNone);    
-    }
-
-
-///////////////////////////////////////////////////////////////////////////////
-////// CRsfwMountEntry  ///////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-// ----------------------------------------------------------------------------
-// T_MountMan::TestExternalizeAndInternalizeL
-// Tests TRsfwMountConfig::ExternalizeL & TRsfwMountConfig::InternalizeL
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::TestExternalizeAndInternalizeL(  )
-    {
-    TInt err;
-    TRsfwMountConfig mountConfig;
-    
-    mountConfig.iDriveLetter = DriveToChar(EDriveK);
-    mountConfig.iName.Copy(_L("name"));
-    mountConfig.iUri.Copy(_L("uri"));
-    mountConfig.iUserName.Copy(_L("username"));
-    mountConfig.iPassword.Copy(_L("password"));
-    mountConfig.iAuxData.Copy(_L("auxdata"));
-    mountConfig.iFlags = KMountFlagNull;
-    mountConfig.iInactivityTimeout = 10;
-    
-    RFile f;
-    CleanupClosePushL(f);
-    err = f.Replace(iFs, _L("C:\\mountmantest.txt"), EFileShareAny | EFileWrite);
-    EUNIT_ASSERT(err == KErrNone);
-    RFileWriteStream wStream(f);
-    CleanupClosePushL(wStream);
-    mountConfig.ExternalizeL(wStream);
-    CleanupStack::PopAndDestroy(&wStream);
-    CleanupStack::PopAndDestroy(&f);
-    
-    f.Open(iFs, _L("C:\\mountmantest.txt"), EFileShareAny | EFileRead);
-    CleanupClosePushL(f);
-    RFileReadStream rStream(f);
-    CleanupClosePushL(rStream);
-    TRsfwMountConfig anotherMountConfig;
-    anotherMountConfig.InternalizeL(rStream);
-    CleanupStack::PopAndDestroy(&rStream);
-    CleanupStack::PopAndDestroy(&f);
-    
-    EUNIT_ASSERT(anotherMountConfig.iDriveLetter == DriveToChar(EDriveK));
-    EUNIT_ASSERT(anotherMountConfig.iName.Compare(_L("name")) == KErrNone);
-    EUNIT_ASSERT(anotherMountConfig.iUri.Compare(_L("uri")) == KErrNone);
-    EUNIT_ASSERT(anotherMountConfig.iUserName.Compare(_L("username")) == KErrNone);
-    EUNIT_ASSERT(anotherMountConfig.iPassword.Compare(_L("password")) == KErrNone);
-    EUNIT_ASSERT(anotherMountConfig.iAuxData.Compare(_L("auxdata")) == KErrNone);
-    EUNIT_ASSERT(anotherMountConfig.iFlags == KMountFlagNull);
-    EUNIT_ASSERT(anotherMountConfig.iInactivityTimeout == 10);
-    }
-
-///////////////////////////////////////////////////////////////////////////////
-////// Utility functions //////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-// ----------------------------------------------------------------------------
-// T_MountMan::AddMountEntryL
-// Helping function: based on given parameters creates CRsfwMountEntry object
-// and attempts to add it using AddMountEntry()
-// ----------------------------------------------------------------------------
-//
-TInt T_MountMan::AddMountEntryL(TInt aIndex,
-                                const TDesC& aName,
-                                TChar aDriveLetter,
-                                const TDesC& aUri,
-                                const TDesC& aUserName,
-                                const TDesC& aPassword,
-                                const TDesC& aIap)
-    {
-    TInt err;
-	CRsfwMountEntry* mountEntry;
-	mountEntry = CRsfwMountEntry::NewLC();   
-    TRAP (err, mountEntry->SetEntryL(aIndex, 
-                                      aName, 
-                                      aDriveLetter, 
-                                      aUri,
-                                      aUserName, 
-                                      aPassword, 
-                                      aIap));
-
-	if (err != KErrNone)
-    	{
-		CleanupStack::PopAndDestroy(mountEntry);
-		return err;	
-    	}
-
-    // release ownership and add entry
-    CleanupStack::Pop(mountEntry);
-	TRAP (err, iMountMan->AddMountEntryL(mountEntry));
-	return err;    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::EditMountEntryL
-// Helping function: based on given parameters creates CRsfwMountEntry object
-// and attempts to edit it using EditMountEntry()
-// ----------------------------------------------------------------------------
-//
-TInt T_MountMan::EditMountEntryL(TInt aIndex,
-                                const TDesC& aName,
-                                TChar aDriveLetter,
-                                const TDesC& aUri,
-                                const TDesC& aUserName,
-                                const TDesC& aPassword,
-                                const TDesC& aIap)
-    {
-    TInt err;
-	CRsfwMountEntry* mountEntry;
-	mountEntry = CRsfwMountEntry::NewLC();   
-    TRAP (err, mountEntry->SetEntryL(aIndex, 
-                                      aName, 
-                                      aDriveLetter, 
-                                      aUri,
-                                      aUserName, 
-                                      aPassword, 
-                                      aIap));
-
-	if (err != KErrNone)
-    	{
-		CleanupStack::PopAndDestroy(mountEntry);
-		return err;	
-    	}
-
-    // release ownership and edit entry
-    CleanupStack::Pop(mountEntry);
-	TRAP (err, iMountMan->EditMountEntryL(mountEntry));
-	return err;    
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::ClearAllMountsL
-// Deletes all mount entries
-// ----------------------------------------------------------------------------
-//
-void T_MountMan::ClearAllMountsL( )
-    {
-    TInt err;
-    CDesC16Array* names = new (ELeave) CDesC16ArraySeg(4);
-    CleanupStack::PushL(names);
-    TRAP (err, iMountMan->GetMountNamesL(names));
-    if (err == KErrNone)
-        {
-        TInt i;
-        for ( i = 0; i < names->Count(); i++)
-            {
-            TRAP (err, iMountMan->DeleteMountEntryL((*names)[i]));
-            if (err != KErrNone)
-                {
-                break;
-                }
-            }
-        }
-    names->Reset();    
-    CleanupStack::PopAndDestroy(names);    
-    EUNIT_ASSERT(err == KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::DriveToChar
-// ----------------------------------------------------------------------------
-//
-TChar T_MountMan::DriveToChar(TInt aDrive)
-    {
-    TChar c;
-    TInt err = iFs.DriveToChar(aDrive, c);
-    EUNIT_ASSERT(err == KErrNone);
-    return c;
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::CompareArrays
-// Compares two arrays e.g. with mount names
-// Note that order DOES matter!
-// ----------------------------------------------------------------------------
-//
-TInt T_MountMan::CompareArrays(CDesC16Array* aArray1, CDesC16Array* aArray2)
-    {	
-	if (aArray1->Count() != aArray2->Count())
-	    {
-		return KErrNotFound;
-	    }
-    TInt i;
-    for ( i = 0; i < aArray1->Count(); i++ )
-        {
-        if ((*aArray1)[i].Compare((*aArray2)[i]) != KErrNone)
-            {
-            return KErrNotFound;
-            }
-        }
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// T_MountMan::CheckEntryL
-// Checks whether all fields in given entry matches
-// ----------------------------------------------------------------------------
-//
-TInt T_MountMan::CheckEntryL(const CRsfwMountEntry* aEntry,
-                             TInt aIndex,
-                             const TDesC& aName,
-                             TChar aDriveLetter,
-                             const TDesC& aUri,
-                             const TDesC& aUserName,
-                             const TDesC& aPassword,
-                             const TDesC& aIap)
-    {
-    TInt err;
-	CRsfwMountEntry* entry;
-	entry = CRsfwMountEntry::NewLC();   
-    TRAP (err, entry->SetEntryL(aIndex, 
-                                aName, 
-                                aDriveLetter, 
-                                aUri,
-                                aUserName, 
-                                aPassword, 
-                                aIap));  
-    if (err != KErrNone)
-        {
-		CleanupStack::PopAndDestroy(entry);        
-        return err;
-        }
-                                
-    TInt i;
-    for ( i = EMountEntryItemIndex; i < EMountEntryItemCount; i++ )
-        {
-        const HBufC* item1 = aEntry->Item(i);
-        const HBufC* item2 = entry->Item(i);      
-        if ( (item1 && !item2) ||
-             (item2 && !item1) ||
-             (item1 && item2 && (*item1).Compare(*item2)!=KErrNone) )
-            {
-		    CleanupStack::PopAndDestroy(entry);
-            return KErrNotFound;
-            }
-        }
-
-    CleanupStack::PopAndDestroy(entry);
-    return KErrNone;
-    }
-
-
-//  TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
-    T_MountMan,
-    "Add test suite description here.",
-    "MODULE" )
-
-EUNIT_TEST(
-    "SetMountEntryL - set mount entry with too long attributes",
-    "RsfwMountMan",
-    "SetMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestSetMountEntryL, Teardown)
-
-EUNIT_TEST(
-    "TestSetItemL - set mount items - SetItemL(TInt aIndex, const TDesC8& aValue)",
-    "RsfwMountMan",
-    "SetItemL",
-    "FUNCTIONALITY",
-    SetupL, TestSetItemL, Teardown)
-
-EUNIT_TEST(
-    "TestSetItemL - set mount items - SetItemL(TInt aIndex, const TDesC& aValue)",
-    "RsfwMountMan",
-    "SetItemL",
-    "FUNCTIONALITY",
-    SetupL, TestSetItem2L, Teardown)
-
-EUNIT_TEST(
-    "TestClearL - clear mount entry",
-    "RsfwMountMan",
-    "Clear",
-    "FUNCTIONALITY",
-    SetupL, TestClearL, Teardown)
-
-EUNIT_TEST(
-    "TestCloneL - clone mount entry",
-    "RsfwMountMan",
-    "CloneL",
-    "FUNCTIONALITY",
-    SetupL, TestCloneL, Teardown)
-
-EUNIT_TEST(
-    "AddMountEntryL - add max number of mounts",
-    "RsfwMountMan",
-    "AddMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestAddMountEntryL, Teardown)
-    
-EUNIT_TEST(
-    "AddMountEntryL - add two mounts with the same name",
-    "RsfwMountMan",
-    "AddMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestAddMountEntry2L, Teardown)    
-
-EUNIT_TEST(
-    "AddMountEntryL - add two mounts with the same drive letter",
-    "RsfwMountMan",
-    "AddMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestAddMountEntry3L, Teardown)
-
-EUNIT_TEST(
-    "EditMountEntryL - basic test",
-    "RsfwMountMan",
-    "EditMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestEditMountEntryL, Teardown)
-
-EUNIT_TEST(
-    "EditMountEntryL - test nonexisting mount",
-    "RsfwMountMan",
-    "EditMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestEditMountEntry2L, Teardown)
-
-EUNIT_TEST(
-    "EditMountEntryL - test the name that is in use",
-    "RsfwMountMan",
-    "EditMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestEditMountEntry3L, Teardown)
-
-EUNIT_TEST(
-    "DeleteMountEntryL - basic test",
-    "RsfwMountMan",
-    "DeleteMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestDeleteMountEntryL, Teardown)
-
-EUNIT_TEST(
-    "DeleteMountEntryL - test nonexisting mount",
-    "RsfwMountMan",
-    "DeleteMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestDeleteMountEntry2L, Teardown)
-
-EUNIT_TEST(
-    "DeleteMountEntryL - by drive letter",
-    "RsfwMountMan",
-    "DeleteMountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestDeleteMountEntry3L, Teardown)
-
-EUNIT_TEST(
-    "TestMountEntryL - basic test",
-    "RsfwMountMan",
-    "MountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestMountEntryL, Teardown)
-
-EUNIT_TEST(
-    "TestMountEntryL - test nonexisting mount",
-    "RsfwMountMan",
-    "MountEntryL",
-    "FUNCTIONALITY",
-    SetupL, TestMountEntry2L, Teardown)
-   
-EUNIT_TEST(
-    "GetAllDrivesL - basic test",
-    "RsfwMountMan",
-    "GetAllDrivesL",
-    "FUNCTIONALITY",
-    SetupL, TestGetAllDrivesL, Teardown)
-
-EUNIT_TEST(
-    "GetMountNamesL - basic test",
-    "RsfwMountMan",
-    "GetMountNamesL",
-    "FUNCTIONALITY",
-    SetupL, TestGetMountNamesL, Teardown)
-
-EUNIT_TEST(
-    "GetRemoteMountListL - basic test",
-    "RsfwMountMan",
-    "GetRemoteMountListL",
-    "FUNCTIONALITY",
-    SetupL, TestGetRemoteMountListL, Teardown)
-
-EUNIT_TEST(
-    "IsAppOnBlackList - basic test",
-    "RsfwMountMan",
-    "IsAppOnBlackList",
-    "FUNCTIONALITY",
-    SetupL, TestIsAppOnBlackListL, Teardown)
-
-EUNIT_TEST(
-    "GetMountInfoL - basic test",
-    "RsfwMountMan",
-    "GetMountInfoL",
-    "FUNCTIONALITY",
-    SetupL, TestGetMountInfoL, Teardown)
-    
-EUNIT_TEST(
-    "SetMountConnectionStateL - basic test",
-    "RsfwMountMan",
-    "SetMountConnectionStateL",
-    "FUNCTIONALITY",
-    SetupL, TestSetMountConnectionStateL, Teardown)    
-
-EUNIT_TEST(
-    "RefreshDirectory - basic test",
-    "RsfwMountMan",
-    "RefreshDirectory",
-    "FUNCTIONALITY",
-    SetupL, TestRefreshDirectoryL, Teardown)
-
-EUNIT_TEST(
-    "CancelRemoteTransfer - basic test",
-    "RsfwMountMan",
-    "CancelRemoteTransfer",
-    "FUNCTIONALITY",
-    SetupL, TestCancelRemoteTransferL, Teardown)
-
-EUNIT_TEST(
-    "SetMountConnectionStateBlindL - basic test",
-    "RsfwMountMan",
-    "SetMountConnectionStateBlindL",
-    "FUNCTIONALITY",
-    SetupL, TestSetMountConnectionStateBlindL, Teardown)
-
-EUNIT_TEST(
-    "Externalize and internalize - basic test",
-    "RsfwMountMan",
-    "InternalizeL, ExternalizeL",
-    "FUNCTIONALITY",
-    SetupL, TestExternalizeAndInternalizeL, Teardown)
-
-EUNIT_END_TEST_TABLE
-
-//  END OF FILE
--- a/remotestoragefw/mountmanager/tsrc/public/basic/src/T_RSFW_TA_BasicDllMain.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Source file for EUnit test app for MountMan API
-*
-*/
-
-
-//  CLASS HEADER
-#include "T_RSFW_TA_Basic.h"
-
-//  EXTERNAL INCLUDES
-#include <CEUnitTestSuite.h>
-
-/**
- * Test suite factory function.
- */
-EXPORT_C MEUnitTest* CreateTestSuiteL()
-    {
-    return T_MountMan::NewL();
-    }
-
-
-
-//  END OF FILE
-
-
-
-
-
-
--- a/remotestoragefw/mountstore/bwins/rsfwconfigu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	?Get@CRsfwConfig@@QAEHIAAH@Z @ 1 NONAME ; int CRsfwConfig::Get(unsigned int, int &)
-	?Get@CRsfwConfig@@QAEHIAAVTDes16@@@Z @ 2 NONAME ; int CRsfwConfig::Get(unsigned int, class TDes16 &)
-	?IsFalse@CRsfwConfig@@QAEHI@Z @ 3 NONAME ; int CRsfwConfig::IsFalse(unsigned int)
-	?IsTrue@CRsfwConfig@@QAEHI@Z @ 4 NONAME ; int CRsfwConfig::IsTrue(unsigned int)
-	?NewL@CRsfwConfig@@SAPAV1@VTUid@@@Z @ 5 NONAME ; class CRsfwConfig * CRsfwConfig::NewL(class TUid)
-	?Set@CRsfwConfig@@QAEHIAAH@Z @ 6 NONAME ; int CRsfwConfig::Set(unsigned int, int &)
-	?Set@CRsfwConfig@@QAEHIAAVTDes16@@@Z @ 7 NONAME ; int CRsfwConfig::Set(unsigned int, class TDes16 &)
-
--- a/remotestoragefw/mountstore/bwins/rsfwmountstoreu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	??1CRsfwMountStore@@UAE@XZ @ 1 NONAME ; CRsfwMountStore::~CRsfwMountStore(void)
-	?AddEntryL@CRsfwMountStore@@QAEXPAVCRsfwMountEntry@@@Z @ 2 NONAME ; void CRsfwMountStore::AddEntryL(class CRsfwMountEntry *)
-	?CommitL@CRsfwMountStore@@QAEXXZ @ 3 NONAME ; void CRsfwMountStore::CommitL(void)
-	?GetDriveLettersL@CRsfwMountStore@@QAEXAAV?$TBuf8@$0BK@@@@Z @ 4 NONAME ; void CRsfwMountStore::GetDriveLettersL(class TBuf8<26> &)
-	?GetNamesL@CRsfwMountStore@@QAEXPAVCDesC16Array@@@Z @ 5 NONAME ; void CRsfwMountStore::GetNamesL(class CDesC16Array *)
-	?LoadEntriesL@CRsfwMountStore@@QAEXXZ @ 6 NONAME ; void CRsfwMountStore::LoadEntriesL(void)
-	?LookupEntryByDriveL@CRsfwMountStore@@QAEPBVCRsfwMountEntry@@VTChar@@@Z @ 7 NONAME ; class CRsfwMountEntry const * CRsfwMountStore::LookupEntryByDriveL(class TChar)
-	?LookupEntryByNameL@CRsfwMountStore@@QAEPBVCRsfwMountEntry@@ABVTDesC16@@@Z @ 8 NONAME ; class CRsfwMountEntry const * CRsfwMountStore::LookupEntryByNameL(class TDesC16 const &)
-	?NewL@CRsfwMountStore@@SAPAV1@PAVMRsfwMountStoreObserver@@@Z @ 9 NONAME ; class CRsfwMountStore * CRsfwMountStore::NewL(class MRsfwMountStoreObserver *)
-	?RemoveEntryL@CRsfwMountStore@@QAEXABVTDesC16@@@Z @ 10 NONAME ; void CRsfwMountStore::RemoveEntryL(class TDesC16 const &)
-	?RemoveEntryL@CRsfwMountStore@@QAEXVTChar@@@Z @ 11 NONAME ; void CRsfwMountStore::RemoveEntryL(class TChar)
-
--- a/remotestoragefw/mountstore/eabi/rsfwconfigu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-EXPORTS
-	_ZN11CRsfwConfig3GetEjR6TDes16 @ 1 NONAME
-	_ZN11CRsfwConfig3GetEjRi @ 2 NONAME
-	_ZN11CRsfwConfig3SetEjR6TDes16 @ 3 NONAME
-	_ZN11CRsfwConfig3SetEjRi @ 4 NONAME
-	_ZN11CRsfwConfig4NewLE4TUid @ 5 NONAME
-	_ZN11CRsfwConfig6IsTrueEj @ 6 NONAME
-	_ZN11CRsfwConfig7IsFalseEj @ 7 NONAME
-	_ZTI11CRsfwConfig @ 8 NONAME ; #<TI>#
-	_ZTV11CRsfwConfig @ 9 NONAME ; #<VT>#
-
--- a/remotestoragefw/mountstore/eabi/rsfwmountstoreu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	_ZN15CRsfwMountStore12LoadEntriesLEv @ 1 NONAME
-	_ZN15CRsfwMountStore12RemoveEntryLE5TChar @ 2 NONAME
-	_ZN15CRsfwMountStore12RemoveEntryLERK7TDesC16 @ 3 NONAME
-	_ZN15CRsfwMountStore16GetDriveLettersLER5TBuf8ILi26EE @ 4 NONAME
-	_ZN15CRsfwMountStore18LookupEntryByNameLERK7TDesC16 @ 5 NONAME
-	_ZN15CRsfwMountStore19LookupEntryByDriveLE5TChar @ 6 NONAME
-	_ZN15CRsfwMountStore4NewLEP23MRsfwMountStoreObserver @ 7 NONAME
-	_ZN15CRsfwMountStore7CommitLEv @ 8 NONAME
-	_ZN15CRsfwMountStore9AddEntryLEP15CRsfwMountEntry @ 9 NONAME
-	_ZN15CRsfwMountStore9GetNamesLEP12CDesC16Array @ 10 NONAME
-	_ZN15CRsfwMountStoreD0Ev @ 11 NONAME
-	_ZN15CRsfwMountStoreD1Ev @ 12 NONAME
-	_ZN15CRsfwMountStoreD2Ev @ 13 NONAME
-	_ZTI15CRsfwMountStore @ 14 NONAME ; #<TI>#
-	_ZTV15CRsfwMountStore @ 15 NONAME ; #<VT>#
-
--- a/remotestoragefw/mountstore/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Build info for Central Repository related subcomponents
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/rsfwmountstore.h					|../../inc/rsfwmountstore.h
-../inc/mdebug.h                 |../../inc/mdebug.h
-../inc/rsfwconfig.h             |../../inc/rsfwconfig.h
-
-PRJ_MMPFILES
-rsfwmountstore.mmp
-rsfwconfig.mmp
-
-
--- a/remotestoragefw/mountstore/group/rsfwconfig.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 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:  Project definition file for project RSFW Config
-*
-*/
-
-#include <platform_paths.hrh>
-TARGET		rsfwconfig.dll
-
-TARGETTYPE	dll
-
-CAPABILITY	ALL -TCB
-
-UID		0x1000008d 0x101F976D
-
-SOURCEPATH	../src
-
-SOURCE		rsfwconfig.cpp
-
-LANG		SC
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE     ../inc
-
-LIBRARY		centralrepository.lib
-LIBRARY		euser.lib
-
-DEFFILE   rsfwconfig.def
--- a/remotestoragefw/mountstore/group/rsfwmountstore.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Project definition file for project mount store API
-*
-*/
-
-#include <platform_paths.hrh>
-TARGET		rsfwmountstore.dll
-
-TARGETTYPE	dll
-
-UID		0x1000008d 0x101F9773
-
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-SOURCEPATH	../src
-SOURCE		rsfwmountstore.cpp
-
-LANG		SC
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE	../inc
-
-LIBRARY		bafl.lib
-LIBRARY		centralrepository.lib
-LIBRARY		cenrepnotifhandler.lib
-LIBRARY		efsrv.lib
-LIBRARY		euser.lib
-LIBRARY 	avkon.lib
-LIBRARY     rsfwmountman.lib
-
-DEFFILE		rsfwmountstore.def
-// End of File
--- a/remotestoragefw/mountstore/inc/mdebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug printing to a log file
- *
-*/
-
-
-#ifndef MDEBUG_H
-#define MDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-
-#include "mydebug.h"
-
-// Take care that the correct mydebug.h will be included
-// In mydebug.h in your module inc directory,
-// define your application-specific configuration like this:
-// ----------------------------------------------------------
-// Debug file - debug output is disabled if the parent dir does not exist
-// _LIT(KDebugFileName, "C:\\logs\\remotefileengine\\remotefileengine.txt");
-
-// Replace the current debug file - if not defined appends to the file
-#ifndef APPEND_TO_DEBUG_FILE
-#define REPLACE_DEBUG_FILE
-#endif
-
-// Maximum formatted size resulting from a single DEBUG* call
-#ifndef MAX_DEBUG_STRING_LENGTH
-#define MAX_DEBUG_STRING_LENGTH 4096
-#endif
-// ----------------------------------------------------------
-
-// FUNCTION PROTOTYPES
-void DebugInit(TBool aDebugSuspended = EFalse);
-void SetDebugEnabled(TBool aValue);
-void SetDebugSuspended(TBool aValue);
-void DebugStringNarrowL(const char* aFmt, ...);
-void DebugStringWideL(const char* aFmt, ...);
-void DebugBufferL(const TDesC8& aBuf);
-void DebugBufferL(const TDesC& aBuf);
-void DebugTimeL(const TTime& aTime);
-
-// MACROS
-// If you output one or more narrow descriptors by using '%S',
-//    use DEBUGSTRING8
-// else if you output one or more unicode descriptors by using '%S',
-//    use DEBUGSTRING16
-// else
-//    use DEBUGSTRING
-//
-// Narrow and unicode cannot be mixed in a single DEBUGSTRINGx call.
-
-#ifdef _DEBUG
-#define DEBUGINIT() DebugInit()
-#define DEBUGINITSUSPENDED() DebugInit(ETrue)
-#define DEBUGENABLE() SetDebugEnabled(ETrue)
-#define DEBUGDISABLE() SetDebugEnabled(EFalse)
-#define DEBUGSUSPEND() SetDebugSuspended(ETrue)
-#define DEBUGCONTINUE() SetDebugSuspended(EFalse)
-#define DEBUGSTRING(x) DebugStringNarrowL x
-#define DEBUGSTRING8(x) DebugStringNarrowL x
-#define DEBUGSTRING16(x) DebugStringWideL x
-#define DEBUGBUFFER(x) DebugBufferL x
-#define DEBUGTIME(x) DebugTimeL x
-#else
-#define DEBUGINIT()
-#define DEBUGINITSUSPENDED()
-#define DEBUGENABLE()
-#define DEBUGDISABLE()
-#define DEBUGSUSPEND()
-#define DEBUGCONTINUE()
-#define DEBUGSTRING(x)
-#define DEBUGSTRING8(x)
-#define DEBUGSTRING16(x)
-#define DEBUGBUFFER(x)
-#define DEBUGTIME(x)
-#endif
-
-#endif // MDEBUG_H
-
-// End of File
--- a/remotestoragefw/mountstore/inc/rsfwconfig.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Rsfw operational parameter config
- *                (not for mount configurations)
- *
-*/
-
-
-#ifndef CRSFWCONFIG_H
-#define CRSFWCONFIG_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-const TUid KCRUidRsfwCtrl         = { 0x101F9775 };
-const TInt KMaxRsfwConfItemLength = 128;
-
-namespace RsfwConfigKeys
-    {
-    const TUint KRsfwDefaultDrive        =  1;
-    const TUint KCacheDirectoryPath      =  2;
-    const TUint KMaxEntryCount           =  3;
-    const TUint KMaxCacheSize            =  4;
-    const TUint KFileCacheValidity       =  5;
-    const TUint KDirCacheValidity        =  6;
-    const TUint KCachingMode             =  7;
-    const TUint KRecognizerLimit         =  8;
-    const TUint KAudMpegLimit            =  9;
-    const TUint KImgJpegLimit            = 10;
-    const TUint KRsfwReserved1           = 11;
-    const TUint KLockTimeout             = 12;
-    const TUint KInactivityTimeout       = 13;
-    }
-
-// FORWARD DECLARATIONS
-class CRepository;
-
-// CLASS DECLARATION
-
-/**
- *  Configuration API for Rsfw operation
- *
- *  @lib rsfwconfig.lib
- *  @since Series 60 3.1
- */
-
-class CRsfwConfig: public CBase
-    {
-public:
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CRsfwConfig* NewL(TUid aRepositoryUid);
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwConfig();
-
-public: // New functions
-    /**
-       Sets numeric value.
-       @param aId parameter id
-       @return error code
-    */
-    IMPORT_C TInt Set(TUint aId, TInt& aValue);
-
-    /**
-       Sets string value.
-       @param aId parameter id
-       @return error code
-    */
-    IMPORT_C TInt Set(TUint aId, TDes& aValue);
-
-    /**
-       Gets numeric value.
-       @param aId parameter id
-       @return error code
-    */
-    IMPORT_C TInt Get(TUint aId, TInt& aValue);
-
-    /**
-       Gets string value.
-       @param aId parameter id
-       @return error code
-    */
-    IMPORT_C TInt Get(TUint aId, TDes& aValue);
-
-    /**
-       Checks whether a string value is True.
-       Gets boolean value: return true iff string starts with '1' | 'Y' | 'T'
-       (case-insensitive).
-       If the repository value is missing returns False.
-       @param aId parameter id
-       @return boolean
-    */
-    IMPORT_C TBool IsTrue(TUint aId);
-
-    /**
-       Checks whether a string value is False.
-       Gets boolean value: returns true iff string starts with '0' | 'N' | 'F'
-       (case-insensitive)
-       If the repository or value is missing returns False.
-       @param aId parameter id
-       @return boolean
-    */
-    IMPORT_C TBool IsFalse(TUint aId);
-
-private:
-    void ConstructL(TUid aRepositoryId);
-
-private: // Data
-    CRepository* iRepository;
-    };
-
-#endif // CRSFWCONFIG_H
-
-// End of File
--- a/remotestoragefw/mountstore/inc/rsfwmountstore.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mount configuration repository management
- *
-*/
-
-
-#ifndef CRSFWMOUNTSTORE_H
-#define CRSFWMOUNTSTORE_H
-
-// INCLUDES
-#include <cenrepnotifyhandler.h>
-
-// DATA TYPES
-// Event types for MMountStoreObserver
-enum TMountStoreEvent
-    {
-    EMountStoreEventMountConfigurationChanged = 1
-    };
-
-// FORWARD DECLARATIONS
-class CRepository;
-class CDesC16Array;
-class CRsfwMountEntry;
-
-// CLASS DECLARATION
-/**
- *  Interface for receiving mounting events
- *
- *  @lib mountman.dll
- *  @since Series 60 3.1
- */
-
-class MRsfwMountStoreObserver
-    {
-public:
-    /**
-     * Handles an event emanating from a CRsfwMountStore class.
-     * Used for notifying about changes in the configurations
-     *
-     * @param aEventType type of the event
-     * @param aStatus status code
-     * @param aArg miscellaneous arguments
-     */
-    virtual void HandleMountStoreEvent(TMountStoreEvent aEvent,
-                                       TInt aStatus,
-                                       TAny* aArg) = 0;
-    };
-
-// CLASS DECLARATION
-/**
- *  Maintain permanent storage of mount configuration entries
- *
- *  @lib mountstore.lib
- *  @since Series 60 3.1
- */
-class CRsfwMountStore: public CBase, public MCenRepNotifyHandlerCallback
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     * At the construction phase, all mount configurations are loaded
-     * into memory (that is, LoadEntries() is called).
-     * @param aMountStoreObserver store change notification handler
-     */
-    IMPORT_C static CRsfwMountStore* NewL(
-        MRsfwMountStoreObserver* aMountStoreObserver);
-
-    CRsfwMountStore();
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CRsfwMountStore();
-
-public: // New functions
-    /**
-     * (Re)loads the mount configurations into memory from the repository.
-     * 
-     */
-    IMPORT_C void LoadEntriesL();
-
-    /**
-     * Gets a list of friendly names of all mount configurations stored
-     * in Central Repository
-     *
-     * @param aNames returned information
-     * @return nothing
-     *  this array must be created by the caller
-     */
-    IMPORT_C void GetNamesL(CDesC16Array* aNames);
-    
-     /**
-     * Gets remote drive letters of all mount configurations stored
-     * in Central Repository (in correct order)
-     *
-     * @param aDriveList returned information
-     * @return nothing
-     *  this array must be created by the caller
-     */
-    IMPORT_C void GetDriveLettersL(TDriveList& aDriveList);
-
-
-    /**
-     * Finds the configuration configuration entry by drive letter.
-     * @param aDrive drive letter
-     * @return a pointer to the configuration entry or NULL if not found
-     */
-    IMPORT_C const CRsfwMountEntry* LookupEntryByDriveL(TChar aDriveLetter);
-
-    /**
-     * Finds the mount configuration entry by friendly name.
-     * The ownership of the entry is not moved
-     * @param aName friendly name
-     * @return a pointer to the configuration entry or NULL if not found
-     *  the ownership of the pointer is NOT transferred
-     */
-    IMPORT_C const CRsfwMountEntry* LookupEntryByNameL(const TDesC& aName);
-
-    /**
-     * Adds a new mount configuration entry in the list of entries.
-     * If an entry with the same name already exists,
-     * that entry is replaced with the new entry.
-     * The entry is positioned among the existing entries
-     * according to the EMountEntryItemIndex value
-     * The drive letter in aMountEntry must be set before calling.
-     * @param aMountEntry mount configuration entry -
-     *  the ownership of the pointer is transferred to CMountStore
-     * @leave KErrArgument drive letter not set
-     * @leave KErrInUse all nine allowed remote drives are in use
-     *
-     */
-    IMPORT_C void AddEntryL(CRsfwMountEntry* aMountEntry);
-
-    /**
-     * Removes a mount configuration entry from the list of entries.
-     * Nothing is done if no entry with the name is found
-     * @param aDriveLetter name of the entry to be removed
-     */
-    IMPORT_C void RemoveEntryL(const TDesC& aName);
-
-    /**
-     * Removes a mount configuration entry from the list of entries.
-     * Nothing is done if no entry with the drive letter is found.
-     * @param aDriveLetter name of the entry to be removed
-     */
-    IMPORT_C void RemoveEntryL(const TChar aDriveLetter);
-
-    /**
-     * Saves the mount configuration entries permanently.
-     * This function must be called after changes have been made in the
-     * mount configuration entries in order to store the cahnges permanently.
-     */
-    IMPORT_C void CommitL();
-    
-private:
-    void ConstructL(MRsfwMountStoreObserver* aMountStoreObserver);
-    void ReloadEntriesL();
-    void AddToRepositoryL(const CRsfwMountEntry* aMountEntry);
-    void RemoveFromRepositoryL(const CRsfwMountEntry* aMountEntry);
-    void ClearRepositoryL();
-    void SynchronizeIndexesL();
-    // From MCenRepNotifyHandlerCallback
-    void HandleNotifyError(TUint32 aId,
-                           TInt aError,
-                           CCenRepNotifyHandler* aHandler);
-    void HandleNotifyGeneric(TUint32 aId);
-    TInt MapDriveLetterToRecordIdL(const HBufC* drive);
-
-
-private: // Data
-    RPointerArray<CRsfwMountEntry> iMountEntries;
-    CRepository*                   iRepository;
-    CCenRepNotifyHandler*          iCenRepNotifyHandler;
-    TBool                          iReceivingCenRepNotifications;
-    TBool                          iCenRepChanged;
-    MRsfwMountStoreObserver*       iMountStoreObserver;
-    };
-
-#endif // CRSFWMOUNTSTORE_H
-
-// End of File
--- a/remotestoragefw/mountstore/src/rsfwconfig.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Rsfw operational parameter config using central repository
- *
-*/
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-
-#include "rsfwconfig.h"
-
-
-// =========================== MEMBER FUNCTIONS ===============================
-// ----------------------------------------------------------------------------
-// CRsfwConfig::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwConfig::ConstructL(TUid aRepositoryUid)
-    {
-    TRAPD(err, iRepository = CRepository::NewL(aRepositoryUid));
-    if (err) 
-        {
-        iRepository = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwConfig::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwConfig* CRsfwConfig::NewL(TUid aRepositoryUid)
-    {
-    CRsfwConfig* self = new (ELeave) CRsfwConfig();
-    CleanupStack::PushL(self);
-    self->ConstructL(aRepositoryUid);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// Destructor
-CRsfwConfig::~CRsfwConfig()
-    {
-    delete iRepository;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConfig::Set
-// See RsfwConfig.h
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwConfig::Set(TUint aId, TInt& aValue)
-    {
-    if (iRepository) 
-        {
-        return iRepository->Set(aId, aValue);
-        }
-    else 
-        {
-        return KErrNotFound;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConfig::Set
-// See RsfwConfig.h
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwConfig::Set(TUint aId, TDes& aValue)
-    {
-    if (iRepository) 
-        {
-        return iRepository->Set(aId, aValue);
-        }
-    else 
-        {
-        return KErrNotFound;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConfig::Get
-// See RsfwConfig.h
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwConfig::Get(TUint aId, TInt& aValue)
-    {
-    if (iRepository) 
-        {
-        return iRepository->Get(aId, aValue);
-        }
-    else 
-        {
-        return KErrNotFound;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConfig::Get
-// See RsfwConfig.h
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwConfig::Get(TUint aId, TDes& aValue)
-    {
-    if (iRepository) 
-        {
-        return iRepository->Get(aId, aValue);
-        }
-    else 
-        {
-        return KErrNotFound;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConfig::IsTrue
-// See RsfwConfig.h
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CRsfwConfig::IsTrue(TUint aId)
-    {
-    if (iRepository) 
-        {
-        TBuf<KMaxRsfwConfItemLength> value;
-        TInt err = iRepository->Get(aId, value);
-        if (err == KErrNone)
-            {
-            TChar c = value[0];
-            c.UpperCase();
-            if ((c == '1') || (c == 'Y') || (c == 'T'))
-                {
-                return ETrue;
-                }
-            }   
-        }
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConfig::IsFalse
-// See RsfwConfig.h
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CRsfwConfig::IsFalse(TUint aId)
-    {
-    if (iRepository) 
-        {
-        TBuf<KMaxRsfwConfItemLength> value;
-        TInt err = iRepository->Get(aId, value);
-        if (err == KErrNone)
-            {
-            TChar c = value[0];
-            c.UpperCase();
-            if ((c == '0') || (c == 'N') || (c == 'F'))
-                {
-                return ETrue;
-                }
-            }   
-        }
-    return EFalse;
-    }
-
-// End of File
--- a/remotestoragefw/mountstore/src/rsfwmountstore.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,556 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Access mount configuration storage
- *
-*/
-
-
-// In order to use the central repository,
-// The repository initialization file must be put in
-// [epoc32/release/winscw/udeb/]z/private/10202be9/101F9775.txt
-
-// The mount configurations form a table where
-// individual configuration entries form the rows and
-// the entry items form the columns.
-// - rows are indexed with the upper 24 bits of the Id, starting from 1.
-// - columns are indexed by the lower 8 bits of the Id, starting from 1.
-//
-// Row number 0 is reserved for system config name/value pairs (see RsfwConfig)
-
-// INCLUDES
-#include <centralrepository.h>
-#include <badesca.h>
-#include <aknnotewrappers.h> 
-#include <rsfwmountman.h>
-#include <rsfwmountentry.h>
-#include <rsfwmountentryitem.h>
-
-#include "rsfwmountstore.h"
-
-
-// CONSTANTS
-const TUid  KCRUidRsfwCtrl    = { 0x101F9775 };
-
-// Current mount configuration repository version
-const TInt  KCurrentVersion   = 1000;
-const TUint KCurrentVersionId = 0xff;
-
-const TInt  KColumnMaskSize   = 8;
-const TUint KRowMask          = 0xffffff00;
-const TUint KColumnMask       = 0x000000ff;
-
-const TUint KColumnName       = EMountEntryItemName;
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountStore* CRsfwMountStore::NewL(
-    MRsfwMountStoreObserver* aMountStoreObserver)
-    {
-    CRsfwMountStore* self = new (ELeave) CRsfwMountStore();
-    CleanupStack::PushL(self);
-    self->ConstructL(aMountStoreObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::CRsfwMountStore
-// ----------------------------------------------------------------------------
-//
-CRsfwMountStore::CRsfwMountStore()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::ConstructL(MRsfwMountStoreObserver* aMountStoreObserver)
-    {
-    iMountStoreObserver = aMountStoreObserver;
-    // if CenRep not found, just leave
-    iRepository = CRepository::NewL(KCRUidRsfwCtrl);
-
-    // Check version
-    TInt version;
-    // allow versionless repositories until the version id is
-    // included in the backup/restore scheme.
-    if (iRepository->Get(KCurrentVersionId, version) == KErrNone)
-        {
-        if (version != KCurrentVersion)
-            {
-            // This causes the repository to be cleared and
-            // stamped with the current version
-            CommitL();
-            }
-        }
-    LoadEntriesL();
-
-    // Start listening to changes in the repository
-    iCenRepNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository);
-    iCenRepNotifyHandler->StartListeningL();
-    iReceivingCenRepNotifications = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::~CRsfwMountStore
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwMountStore::~CRsfwMountStore()
-    {
-    iMountEntries.ResetAndDestroy();
-    if (iCenRepNotifyHandler) 
-      {
-      iCenRepNotifyHandler->StopListening();
-      delete iCenRepNotifyHandler;
-      }
-    delete iRepository;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::LoadEntriesL
-// CenRep keeps data in alphabetical order, and we want also iMountEntries to
-// to be filled in the same order
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::LoadEntriesL()
-    {
-    iMountEntries.ResetAndDestroy();
-
-    // go through the records in CenRep and populate the array
-    RArray<TUint32> nameIds;
-    CleanupClosePushL(nameIds);
-    User::LeaveIfError(iRepository->FindL(KColumnName, KColumnMask, nameIds));		
-   	HBufC* item = HBufC::NewLC(KMaxMountConfItemLength);
-   	TPtr itemPtr = item->Des();
-   	TInt row;
-	for (row = 0; row < nameIds.Count(); row++)
-    	{
-    	TUint rowId = (nameIds[row] & KRowMask);
-    	// don't touch record number 0, as it stores RSFW general data
-    	if (rowId > 0)
-        	{
-        	CRsfwMountEntry* entry = CRsfwMountEntry::NewLC();
-        	TUint i;
-        	for (i = EMountEntryItemIndex; i < EMountEntryItemCount; i++)
-            	{
-            	TInt err = iRepository->Get(rowId | i, itemPtr);
-                if ( err != KErrNone && err != KErrNotFound )
-                    {
-                    User::Leave(err);
-                    }
-           	    entry->SetItemL(i, itemPtr);	
-            	}
-            User::LeaveIfError(iMountEntries.Append(entry));
-            // ownership's been taken by the array
-            CleanupStack::Pop(entry);
-        	}
-    	}
-    CleanupStack::PopAndDestroy(item);
-    CleanupStack::PopAndDestroy(&nameIds);
-    
-    // now mount entries array is up-to-date
-    iCenRepChanged = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::GetNamesL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::GetNamesL(CDesC16Array* aNames)
-    {
-    ReloadEntriesL();
-    aNames->Reset();
-    HBufC* name = HBufC::NewLC(KMaxMountConfItemLength);
-    TPtr namePtr = name->Des();
-    TInt i;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        namePtr.Copy(*iMountEntries[i]->Item(EMountEntryItemName));
-        aNames->AppendL(namePtr);
-        }
-    CleanupStack::PopAndDestroy(name);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::GetDriveLettersL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::GetDriveLettersL(TDriveList& aDriveList)
-    {
-    ReloadEntriesL();
-    aDriveList.Zero();
-    HBufC* name = HBufC::NewLC(KMaxMountConfItemLength);
-    TPtr namePtr = name->Des();
-    TInt i;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        namePtr.Copy(*iMountEntries[i]->Item(EMountEntryItemDrive));
-        aDriveList.Append(namePtr);
-        }
-    CleanupStack::PopAndDestroy(name);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::LookupEntryByName
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const CRsfwMountEntry* CRsfwMountStore::LookupEntryByNameL(const TDesC& aName)
-    {
-    ReloadEntriesL();
-    TInt i;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        CRsfwMountEntry* entry = iMountEntries[i];
-        const HBufC* name = entry->Item(EMountEntryItemName);
-        if (name && name->CompareF(aName) == 0)
-            {
-            return entry;
-            }
-        }
-    return NULL;
-    }
- 
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::LookupEntryByDrive
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const CRsfwMountEntry* CRsfwMountStore::LookupEntryByDriveL(TChar aDriveLetter)
-    {
-    ReloadEntriesL();
-    TBuf<1> driveBuf;
-    driveBuf.Append(aDriveLetter);
-    TInt i;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        CRsfwMountEntry* entry = iMountEntries[i];
-        const HBufC* drive = entry->Item(EMountEntryItemDrive);
-        if (drive && drive->CompareF(driveBuf) == 0)
-            {
-            return entry;
-            }
-        }
-    return NULL;
-    }
- 
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::AddEntryL
-// Adds entry to CenRep, replaces existing item, so it can be used 
-// for edit operation as well
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::AddEntryL(CRsfwMountEntry* aMountEntry)
-    {
-    // Take ownership
-    CleanupStack::PushL(aMountEntry);
-
-    if ((!aMountEntry) || 
-        (!aMountEntry->Item(EMountEntryItemDrive)))
-        {
-        User::Leave(KErrArgument);
-        }
-
-    ReloadEntriesL();
-
-    TPtrC drive(*aMountEntry->Item(EMountEntryItemDrive));
-
-    // Check whether an entry with given drive letter exists.
-    // If so, delete it and remember index of deleted item.
-    // Otherwise find the index at which a new item should be added.
-    // Keep in mind the order is aphabetical.
-    TInt i;
-    TInt index = -1;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        CRsfwMountEntry* entry = iMountEntries[i];
-        TInt cmp = entry->Item(EMountEntryItemDrive)->CompareF(drive);
-        if (cmp == 0)
-            {
-            // Replace an existing entry
-            RemoveFromRepositoryL(entry);
-            delete entry;
-            entry = NULL;
-            iMountEntries.Remove(i);
-            // save the position, new item will be added here
-            index = i;
-            break;
-            }
-        else if (cmp > 0)
-            {
-            // we've found the entry whose drive letter is larger, which
-            // means we've found the place where a new entry should be added
-            index = i;
-            break;
-            }
-        }
-    
-    // before we add a new entry, make sure that we don't exceed max drives allowed
-    if (iMountEntries.Count() >= KMaxRemoteDrives)    
-        {
-        User::Leave(KErrInUse);
-        }
-
-    // add entry to the array
-    if (index < 0)
-        {
-        // this means the drive letter of newly added entry is the latest 
-        // in the alphabet. hence just append the entry
-        User::LeaveIfError(iMountEntries.Append(aMountEntry));        
-        }
-    else
-        {
-        User::LeaveIfError(iMountEntries.Insert(aMountEntry, index));
-        }
-
-
-    // add to repository  
-    AddToRepositoryL(aMountEntry);
-
-    // cleanup
-    CleanupStack::Pop(aMountEntry);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::RemoveEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::RemoveEntryL(const TDesC& aName)
-    {
-    ReloadEntriesL();
-    TInt i;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        CRsfwMountEntry* entry = iMountEntries[i];
-        const HBufC* name = entry->Item(EMountEntryItemName);
-        if (name && name->CompareF(aName) == 0)
-            {
-            RemoveFromRepositoryL(entry);
-            iMountEntries.Remove(i);
-            delete entry;
-            break;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::RemoveEntryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::RemoveEntryL(TChar aDrive)
-    {
-    ReloadEntriesL();
-    TBuf<1> driveBuf;
-    driveBuf.Append(aDrive);
-    TInt i;
-    for (i = 0; i < iMountEntries.Count(); i++)
-        {
-        CRsfwMountEntry* entry = iMountEntries[i];
-        const HBufC* drive = entry->Item(EMountEntryItemDrive);
-        if (drive && drive->CompareF(driveBuf) == 0)
-            {
-            RemoveFromRepositoryL(entry);
-            iMountEntries.Remove(i);
-            delete entry;
-            break;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::CommitL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwMountStore::CommitL()
-    {
-    if (iRepository) 
-        {
-        // We don't want to get reports of our own changes
-        iCenRepNotifyHandler->StopListening();
-        ClearRepositoryL();
-        TInt i;
-        for (i = 0; i < iMountEntries.Count(); i++)
-            {
-            CRsfwMountEntry* entry = iMountEntries[i];
-            AddToRepositoryL(entry);
-            }
-        // Set correct version id
-        User::LeaveIfError(iRepository->Set(KCurrentVersionId, KCurrentVersion));
-        // Restart listening
-        iCenRepNotifyHandler->StartListeningL();
-        }
-    else 
-        {
-        _LIT(KWarningText, "Cannot store entries permanently!");
-        TRAP_IGNORE(CAknWarningNote* note = new (ELeave) CAknWarningNote;
-                    note->ExecuteLD(KWarningText);
-            );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::AddToRepositoryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::AddToRepositoryL(const CRsfwMountEntry* aMountEntry)
-    {
-    // retrieve drive letter
-    const HBufC* drive = aMountEntry->Item(EMountEntryItemDrive);
-
-    // calculate record ID for the drive letter
-    TInt recordId = MapDriveLetterToRecordIdL(drive);
-
-    // write down the entry settings to given record ID
-    TInt i = 0;
-    for (i = EMountEntryItemIndex; i < EMountEntryItemCount; i++)
-        {
-        TInt fieldId = (recordId << KColumnMaskSize) | i;
-        const HBufC* item = aMountEntry->Item(i);
-        if (item)
-            {
-            User::LeaveIfError(iRepository->Create(fieldId, *item));
-            }
-        else
-            {
-            TPtrC null;
-            User::LeaveIfError(iRepository->Create(fieldId, null));
-            }
-        }
-    }    
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::RemoveFromRepositoryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::RemoveFromRepositoryL(const CRsfwMountEntry* aMountEntry)
-    {
-    // retrieve drive letter
-    const HBufC* drive = aMountEntry->Item(EMountEntryItemDrive);
-
-    // calculate record ID for the drive letter
-    TInt recordId = MapDriveLetterToRecordIdL(drive);
-
-    // delete settings from given record ID
-    TInt i = 0;
-    for (i = EMountEntryItemIndex; i < EMountEntryItemCount; i++)
-        {
-        TInt fieldId = (recordId << KColumnMaskSize) | i;
-        User::LeaveIfError(iRepository->Delete(fieldId));
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::ClearRepositoryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::ClearRepositoryL()
-    {
-    // find all non-empty records
-    RArray<TUint32> nameIds;
-    CleanupClosePushL(nameIds);
-    User::LeaveIfError(iRepository->FindL(KColumnName, KColumnMask, nameIds));
-    
-    TInt record;
-    for (record = 0; record < nameIds.Count(); record++)
-        {
-        TUint recordId = (nameIds[record] & KRowMask);
-        // don't touch record number 0, as it stores RSFW general data
-        if (recordId > 0)
-            {
-            TInt i;
-            for (i = EMountEntryItemIndex; i < EMountEntryItemCount; i++)
-                {
-                TUint fieldId = (recordId | i);
-                User::LeaveIfError(iRepository->Delete(fieldId));
-                }            
-            }
-        }
-    CleanupStack::PopAndDestroy(&nameIds);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::ReloadEntriesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::ReloadEntriesL()
-    {
-    if (!iReceivingCenRepNotifications || iCenRepChanged)
-        {
-        // We only need reload if it is not done automatically
-        // through notifications
-        LoadEntriesL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::HandleNotifyGeneric
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::HandleNotifyGeneric(TUint32 /* aId */)
-    {
-    iCenRepChanged = ETrue;
-    if (iMountStoreObserver)
-        {
-        iMountStoreObserver->HandleMountStoreEvent(
-            EMountStoreEventMountConfigurationChanged,
-            0,
-            NULL);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::HandleNotifyError
-// ----------------------------------------------------------------------------
-//
-void CRsfwMountStore::HandleNotifyError(TUint32 /* aId */,
-                                    TInt /* aError */, 
-                                    CCenRepNotifyHandler* /* aHandler */)
-    {
-    iReceivingCenRepNotifications = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStore::MapDriveLetterToRecordIdL
-// drive with letter 'J' will take record number 1
-// drive with letter 'K' will take record number 2
-// etc.
-// (remember that record number 0 stores RSFW general data, so don't touch it)
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwMountStore::MapDriveLetterToRecordIdL(const HBufC* drive)
-    {
-    if (!drive || !drive->Length())
-        {
-        User::Leave(KErrArgument);
-        }
-        
-    // we have to convert HBufC to TChar and then TChar to TInt
-    TChar driveChar = (*drive)[0];        
-    TInt driveNumber;
-    RFs fs;
-	User::LeaveIfError(fs.Connect());
-	TInt err = fs.CharToDrive(driveChar, driveNumber);
-	fs.Close();
-    User::LeaveIfError(err);
-
-    // count record ID based on drive number
-    // +1 is to omit record number 0!
-    return driveNumber - EDriveJ + 1;
-    }
-
-//  End of File
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/bif/rsfwmountconfbcbif.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 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:  BIF definition for the remote drive BIO control
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-
-NAME    MCFB
-
-//  INCLUDES
-
-#include <biftool2.rh>
-
-#include <rsfwmountconfbc.loc>
-
-//  RESOURCE DEFINITIONS
-
- RESOURCE BIO_INFO_FILE
-	{
-	message_type_uid = 0x1bdeff02;   // KUidBIOMountConfMsg
-// Messaging API v. 2 assumed
-  message_parser_name = "gfp.dll";
-	message_appctrl_name = "rsfwmountconfbc.dll";
-	message_app_uid = KUidUseDefaultApp;
-	file_extension = ".mpmc";
-	description = qtn_rd_msg_sm_type;
-	icons_filename = "none";
-	icon_zoom_levels = {1};
-
-	ids=
-		{
-		ID	
-			{
-			type = EWap;
-			confidence = ECertain;
-			port = 7777;		//SCKL1E61 is a NBS Port
-			text = "//vnd.nokia.s60.mount.config";
-			},
-		ID
-			{
-			type = ENbs;
-			confidence = ECertain;
-			// port = 7777;
-			text = "//vnd.nokia.s60.mount.config";
-			},
-		ID
-			{
-			type = EIana;
-			confidence = ECertain;
-			text = "//vnd.nokia.s60.mount.config";
-			}
-		};
-	}
-
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/bwins/rsfwmountconfbcu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewL@CRsfwMountConfBioControl@@SAPAVCMsgBioControl@@AAVMMsgBioControlObserver@@PAVCMsvSession@@JW4TMsgBioMode@@PBVRFile@@@Z @ 1 NONAME ; class CMsgBioControl * CRsfwMountConfBioControl::NewL(class MMsgBioControlObserver &, class CMsvSession *, long, enum TMsgBioMode, class RFile const *)
-
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/eabi/rsfwmountconfbcu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_ZN24CRsfwMountConfBioControl4NewLER22MMsgBioControlObserverP11CMsvSessionl11TMsgBioModePK5RFile @ 1 NONAME
-
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 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:  Build information file for project remote drive BIO control
-*
-*/
-
-
-PRJ_EXPORTS
-// export localised loc file
-../loc/rsfwmountconfbc.loc        MW_LAYER_LOC_EXPORT_PATH(rsfwmountconfbc.loc)
-
-PRJ_MMPFILES
-../group/rsfwmountconfbc.mmp
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/group/rsfwmountconfbc.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 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:  Project definition file for project remote drive BIO control
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET		rsfwmountconfbc.dll
-
-TARGETTYPE	dll
-
-UID		0x10005f5f 0x101F976E
-CAPABILITY CAP_GENERAL_DLL
-TARGETPATH	/system/libs
-
-// APP HEADER DIRS NEEDED FOR PLUG-IN BIO CONTROL API:
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-
-USERINCLUDE     ../inc
-  
-SOURCEPATH	../src
-
-SOURCE		rsfwmountconfbc.cpp
-SOURCEPATH              ../../MDebug/src
-SOURCE                  mdebug.cpp
-
-SOURCEPATH	../src
-START RESOURCE	../inc/rsfwmountconfbc.rss
-HEADER
-TARGETPATH  RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE ../bif/rsfwmountconfbcbif.rss
-TARGETPATH BIOFILE_DIR
-LANGUAGE_IDS
-END
-
-LIBRARY		cone.lib
-LIBRARY		efsrv.lib
-LIBRARY     eikcoctl.lib // Menus API
-LIBRARY		euser.lib
-LIBRARY		rsfwmountstore.lib
-LIBRARY		rsfwmountutils.lib
-LIBRARY		rsfwmountman.lib
-LIBRARY     rsfwnotplugin.lib // dialog for renaming drives
-LIBRARY		msgeditorutils.lib          //CMsgBioControl
-LIBRARY		msgs.lib
-LIBRARY     richbio.lib
-LIBRARY     estor.lib //for RFileReadStream
-LIBRARY     commonengine.lib // StringLoader
-LIBRARY     bafl.lib 
-LIBRARY     avkon.lib
-LIBRARY    flogger.lib
-LIBRARY     charconv.lib // for CnvUtfConverter
-
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/inc/mydebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug definitions for Remote File Engine
- *
-*/
-
-
-#ifndef MYDEBUG_H
-#define MYDEBUG_H
-
-// Debug defines for Remote File Engine
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "rsfwbiocontrol");
-_LIT(KDebugFileName, "rsfwbiocontrol.txt");
-
-#endif // MYDEBUG_H
-
-// End of File
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/inc/rsfwmountconfbc.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 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:  Remote drive configuration BIO control
-*
-*/
-
-
-#ifndef CRSFWMOUNTCONFBIOCONTROL_H
-#define CRSFWMOUNTCONFBIOCONTROL_H
-
-// INCLUDES
-#include <msgbiocontrol.h>			 // CMsgBioControl
-
-
-// FORWARD DECLARATIONS
-class CRichBio;
-class CRsfwMountMan;
-class CRsfwMountEntry;
-
-// CLASS DECLARATION
-
-/**
- * Bio control for Remote drive settings
- */
-NONSHARABLE_CLASS(CRsfwMountConfBioControl) : 
-	public CMsgBioControl
-	{
-	public:
-	 /**
-      * Two-phased constructor
-      * @param aObserver Reference to the Bio control observer.
-      * @param aSession Reference to Message Server session.
-      * @param aId Id of the message.
-      * @param aEditorOrViewerMode Flags the new Bio control as editor or viewer.
-      * @param aFile filehandle.         
-      * @return The newly created object.
-      */
-	IMPORT_C static CMsgBioControl* NewL(MMsgBioControlObserver& aObserver,
-										 CMsvSession* aSession,
-										 TMsvId aId,
-										 TMsgBioMode aEditorOrViewerMode,	
-										 const RFile* aFile);
-	 // Destructor									 
-	~CRsfwMountConfBioControl();
-
-public: //from MMsgBioControl
-
-        /**
-         * Calculates and sets size for a Bio control according to aSize.
-         * @param aSize A reference to the suggested size and new size.
-         */
-        void SetAndGetSizeL(TSize& aSize);
-        
-         /**
-         * Adds a menu command.
-         * @param aMenuPane Reference to the CEikMenuPane of the application.
-         */
-        void SetMenuCommandSetL(CEikMenuPane& aMenuPane);       
-
-        /*
-         * The command handler of the bio control.
-         * The commands usually originate from a bio specific menu item being
-         * selected by the user.
-         * @param aCommand Id of command to be handled.
-         */
-        TBool HandleBioCommandL(TInt aCommand);
-
-        /**
-        * Returns a rectangle slice of the bio controls viewing area.
-        * It is used by the CMsgEditorView class for scrolling the screen.
-        * @return TRect
-        */
-        TRect CurrentLineRect() const;
-
-        /**
-         * This is used by the body container for managing focus and
-         * scrolling.
-         * @param aDirection The direction to be checked.
-         */
-        TBool IsFocusChangePossible(TMsgFocusDirection aDirection) const;
-        
-
-        /**
-         * Returns the header text.
-         * @return The header text.
-         */
-        HBufC* HeaderTextL(void) const;
-
-        /**
-         * Gives the height of the text in pixels.
-         * It is used by the scrolling framework of Editor Base.
-         * @return Height of the text in pixels.
-         */
-        TInt VirtualHeight();
-
-        /**
-         * Gives the cursor position in pixels.
-         * It is used by the scrolling framework of Editor Base.
-         * @return Cursor position in pixels.
-         */
-        TInt VirtualVisibleTop();
-
-       /* Tells whether the cursor is in the topmost or bottom position.
-         * It is used by the scrolling framework.
-         * @param aLocation Specifies either top or bottom.
-         * @return ETrue if the cursor is in the part specified by aLocation.
-         */
-        TBool IsCursorLocation(TMsgCursorLocation aLocation) const;
-
-	
-	// Functions from CCoeControl
-	TKeyResponse OfferKeyEventL(
-		const TKeyEvent& aKeyEvent,
-		TEventCode aType);
-	
-protected:
-	// Functions from CCoeControl
-	TInt CountComponentControls() const;
-	CCoeControl* ComponentControl(TInt aIndex) const;
-	void SizeChanged();
-	void FocusChanged(TDrawNow aDrawNow);
-	void SetContainerWindowL(const CCoeControl& aContainer);
-	
-private:
-	CRsfwMountConfBioControl(
-		MMsgBioControlObserver& aObserver,
-		CMsvSession* aSession,
-		TMsvId aId,
-		TMsgBioMode aEditorOrViewerMode,
-		const RFile* aFile);
-	void ConstructL();
-
-	void DoMountL(CRsfwMountEntry*);
-	void EncodeMounterEntry(CRsfwMountEntry&, TDes&);
-	TBool isNameUniqueL(const TDesC& aFriendlyName);
-	
-	/* returns true when user has selected an unique name for the new drive
-	 *
-	 */
-    TBool GetNameForNewMountL(TDes& aName);
-	
-	/**
-      * Fills the viewer with data from the mount entry
-      */
-    void FillViewerWithDataL();
-
-	/**
-      * Helper for adding to viewer.
-      * @param aLabelRes Resource id for label
-      * @param aValue Value text
-      */
-	void AddItemL(TInt aLabelRes, const TDesC& aValue);
-
-	/**
-      * Resolve the file handle of the data file that is used as input.
-      * @param aFile A reference that gets the file handle.
-      */
-    void ResolveFileL( RFile& aFile );
-    
-    /**
-      * This is needed because the menuPane adding is done in a different
-      * way in BVA than in SMS Editor/Viewer.
-      * @param aMenuPane Reference to the menu pane.
-      * @param aStringRes String resource ID of the command text.
-      * @param aCommandOffset Offset in the Options list.
-      */
-    void FileBasedAddMenuItemL(CEikMenuPane& aMenuPane,
-            TInt aStringRes, TInt aCommandOffset);
-
-private:
-    CRichBio* iViewer; 	// The viewer control
-    
-	TBool iIsFileBased;	// ETrue if BIO Control is lauched through BVA
-    
-    CRsfwMountEntry* iMountEntry;  // Contains the imported mount entry
-   					 		   // only one because the list in GS is not markable
-	CRsfwMountMan* iMountMan; // mount manager
-	};
-
-#endif // CRSFWMOUNTCONFBIOCONTROL_H
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/inc/rsfwmountconfbc.hrh	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 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:  Resource headers for project remote drive BIO control
-*
-*/
-
-
-#ifndef RSFWMOUNTCONFBC_HRH
-#define RSFWMOUNTCONFBC_HRH
-
-#define MAXCONFITEMLENGTH 128
-
-enum
-	{
-	EMountConfBcCmdSave = 0,
-	EMountConfBcCmdMount
-	};
-
-#endif // RSFWMOUNTCONFBC_HRH
-
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/inc/rsfwmountconfbc.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 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:  Resource definitions for project ?myapp
-*
-*/
-
-
-NAME MCBC
-
-#include <eikon.rh>
-#include <eikon.rsg>
-
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-
-#include "rsfwmountconfbc.hrh"
-#include <rsfwmountconfbc.loc>   // Localisable text
-#include <rsfwgsplugin.loc>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf = ""; }
-
-RESOURCE EIK_APP_INFO
-	{
-	status_pane = R_AVKON_STATUS_PANE_LAYOUT_USUAL;
-	cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-	}
-
-RESOURCE TBUF r_sm_save
-    {
-    buf = qtn_rd_msg_option_save_drive;
-    }
-
-
-RESOURCE TBUF r_sm_success_mount
-    {
-    buf = qtn_rd_msg_note_drive_saved;
-    }
-
-RESOURCE TBUF r_sm_default_drive_name 
-		{
-		buf = qtn_rd_msg_query_default_name;
-		}
-RESOURCE TBUF r_sm_too_many_remote_drives
-	{
-	buf = qtn_rd_error_max_drives;
-	}
-
-RESOURCE DIALOG r_name_query
-	{
-	flags = EEikDialogFlagWait | EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | EEikDialogFlagCbaButtons | EEikDialogFlagNoShadow;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtQuery;
-			id = EGeneralQuery;
-			control = AVKON_DATA_QUERY 
-				{ 
-					layout = EDataLayout;
-					label = "Enter name";
-					control = EDWIN 
-					{
-					flags = EEikEdwinNoHorizScrolling;  
-					avkon_flags = EAknEditorFlagNoT9;
-					maxlength = MAXCONFITEMLENGTH; 
-					width = 16;
-					lines = 3; 
-					};
-				};
-			}
-		};
-	}
-
-RESOURCE DIALOG r_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items=
-        {
-        DLG_LINE 
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout =EConfirmationQueryLayout;
-                };
-            }
-        };
-    }  
-RESOURCE DIALOG r_file_name_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EDataLayout;
-                label = qtn_fldr_item_name_prmpt;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;
-                    lines = 1;
-                    maxlength = 256;
-                    };
-                };
-            }
-        };
-    }
-
-
-RESOURCE TBUF r_sm_title_mount_conf
-    {
-    buf =  qtn_rd_msg_title_remote_drive;
-    }
-//----------------------------------------------------
-//   
-//    string resouces
-//    the strings can be localized in loc file
-//
-//----------------------------------------------------
-//    
-RESOURCE TBUF r_str_setting_item_drive_name { buf = qtn_rd_msg_label_drive_name; }
-RESOURCE TBUF r_str_name_rename_query       { buf = qtn_fldr_rename_query; }
-RESOURCE TBUF r_str_new_name_prompt         { buf = qtn_fldr_item_name_prmpt; }
-RESOURCE TBUF r_str_saving_wait_note        { buf = qtn_rd_msg_note_saving_drive; }
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/loc/rsfwmountconfbc.loc	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 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:  Localization strings for project MountConfiguration BioControl
-*
-*/
-
-
-//d:Success note saving a remote drive configuration
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_note_drive_saved "Remote drive saved"
-
-//d:Saving received remote drive configuration in progress
-//l:popup_note_wait_window
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_note_saving_drive "Saving remote drive"
-
-//d:Default new name if user must be queried for a new name
-//l: popup_query_data_window
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_query_default_name "New drive"
-
-//d:Options list text for saving the remote drive configuration entry.
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_option_save_drive "Save drive settings"
-
-//d:Remote drive name header in smart messaging "send message" view
-//l:list_double_heading_pane_t1_cp2
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_label_drive_name "Drive name:"
-
-//d:Remote drive configuration message type in "Message details"
-//l:list_double_graphic_pane_t2
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_sm_type "Remote drive settings"
-
-//d:Title pane when sending a remote drive setting
-//l:title_pane_t2/opt9
-//w:
-//r:3.1
-//
-#define qtn_rd_msg_title_remote_drive "Remote drive settings"
-
-//d:Message id in Send message view
-//l:navi_text_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_stat_msg_number "%0N/%1N"
-
-
--- a/remotestoragefw/remotedriveconfigurationbiocontrol/src/rsfwmountconfbc.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,530 +0,0 @@
-/*
-* Copyright (c) 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:  BIO control for handling remote drive configurations as 
-*                smart messages
-*
-*/
-
- 
-// INCLUDE FILES
-
-#include <biocmtm.h>					// for CBIOClientMtm
-#include <msgbiocontrolObserver.h>		// for MMsgBioControlObserver
-#include <StringLoader.h>				// for StringLoader
-#include <CRichBio.h>               	// CRichBio
-#include <aknnotewrappers.h>			// for CAknInformationNote
-#include <mmsvattachmentmanager.h>
-#include <utf.h> // for CnvUtfConverter
-#include <rsfwmountman.h>
-#include <rsfwmountentry.h>
-
-#include <rsfwmountconfbc.rsg>              // for resouce identifiers
-
-#include "rsfwmountconfbc.h"				
-#include "rsfwmountconfbc.hrh"
-#include "rsfwmountutils.h"
-#include "rsfwgsplugin.hrh"
-#include "rsfwnotpluginnamedialog.h"
-#include "mdebug.h"
-
-#define KUidGeneralSettings   0x100058EC
-
-enum TOptionListLocation
-	{
-	EFirstMenuItem	= 0,
-	ESecondMenuItem,
-	EThirdMenuItem,
-	EFourthMenuItem
-	};
-
-const TInt KMConfBcHeightReductionBva = 9;
-_LIT(KMountConfBcResourceFile, "rsfwmountconfbc.rsc");
-_LIT(KAvkonResourceFile, "avkon.rsc");
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMsgBioControl* CRsfwMountConfBioControl::NewL(
-		MMsgBioControlObserver& aObserver,
-		CMsvSession* aSession,
-		TMsvId aId,
-		TMsgBioMode aEditorOrViewerMode,
-		const RFile* aFile)
-	{
-	CRsfwMountConfBioControl* self =
-		new(ELeave) CRsfwMountConfBioControl(aObserver,
-										 aSession,
-										 aId,
-										 aEditorOrViewerMode,
-										 aFile);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// destructor
-// ---------------------------------------------------------------------------
-//
-CRsfwMountConfBioControl::~CRsfwMountConfBioControl()
-	{	
-    delete iViewer;
-
-	if (iMountEntry) 						
-		{
-		delete iMountEntry;
-		}
-	delete iMountMan;
-	}
-
-// ---------------------------------------------------------------------------
-// constructor
-// ---------------------------------------------------------------------------
-//
-CRsfwMountConfBioControl::CRsfwMountConfBioControl(
-		 MMsgBioControlObserver& aObserver,
-		 CMsvSession* aSession,
-		 TMsvId aId,
-		 TMsgBioMode aEditorOrViewerMode,
-		 const RFile* aFile):
-		 CMsgBioControl(aObserver,
-						aSession,
-						aId,
-						aEditorOrViewerMode,
-						aFile)
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CRsfwMountConfBioControl::ConstructL()
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::ConstructL"));
-	iMountMan = CRsfwMountMan::NewL(0, NULL);
-	
-	iIsFileBased = IsFileBased();
-	LoadResourceL(KMountConfBcResourceFile);
-	LoadResourceL(KAvkonResourceFile);
-	LoadResourceL(KNotPluginResourcePath);
-    LoadStandardBioResourceL();
-	// file handle to the remote drive configuration attachment in msv store
-	RFile fileHandle;
-    ResolveFileL( fileHandle );
-    CleanupClosePushL( fileHandle );
-
-	// read stream
-    RFileReadStream stream( fileHandle,0 );
-    CleanupClosePushL( stream );
-	
-	MStreamBuf* buf = stream.Source();
-    buf->PushL();
-    User::LeaveIfNull(buf);
-    TInt bufferSize = buf->SizeL();
-    if (bufferSize == 0 || (bufferSize < KMountMessagePrefixLength))
-        {
-        User::Leave(KErrMsgBioMessageNotValid);
-        }
-    TRequestStatus status;    
-	HBufC8* utf8configuration = HBufC8::NewMaxLC(bufferSize);
-	TPtr8 utfPtr = utf8configuration->Des();
-	buf->ReadL(utfPtr, status);
-	User::WaitForRequest(status);
-	
-	HBufC* unistring(NULL); 
-	unistring = CnvUtfConverter::ConvertToUnicodeFromUtf7L(*utf8configuration);
-	CleanupStack::PushL(unistring);
-	
-	RsfwMountUtils::ImportMountEntryL(*unistring,&iMountEntry);
-								 		
-	iViewer = new (ELeave) CRichBio(ERichBioModeEditorBase);
-	
-	FillViewerWithDataL();
-           
-	CleanupStack::PopAndDestroy(5,&fileHandle); 						 	
-	}
-
-// ---------------------------------------------------------------------------
-// Formats displaying a remote drive (only the drive name is shown)
-// ---------------------------------------------------------------------------
-//
-void CRsfwMountConfBioControl::FillViewerWithDataL()
-    {
-    DEBUGSTRING16(("CRsfwMountConfBioControl::FillViewerWithDataL"));
-   	AddItemL(R_STR_SETTING_ITEM_DRIVE_NAME, *(*iMountEntry).Item(EMountEntryItemName));
-    }
-	
-	
-// ---------------------------------------------------------------------------
-// Display a single item
-// ---------------------------------------------------------------------------
-//	
-void CRsfwMountConfBioControl::AddItemL(TInt aLabelRes, const TDesC& aValue)
-    {
-    DEBUGSTRING16(("CRsfwMountConfBioControl::AddItemL"));	
-    // Empty fields are not shown.
-    if (&aValue) 
-    	{
-    	if (aValue.Length())
-            {
-            HBufC* labelTxt = StringLoader::LoadLC(aLabelRes, iCoeEnv);
-            iViewer->AddItemL(*labelTxt, aValue);
-            CleanupStack::PopAndDestroy(labelTxt);
-            }
-    	}
-    }
-    
-
-void CRsfwMountConfBioControl::SetAndGetSizeL(TSize& aSize)
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::SetAndGetSizeL"));		
-	if(iIsFileBased)
-    	{
-    	SetPosition(TPoint(0,KMConfBcHeightReductionBva));
-    	aSize.iHeight -= KMConfBcHeightReductionBva;
-    	iViewer->SetAndGetSizeL(aSize);
-    	}
-    else
-    	{
-    	iViewer->SetAndGetSizeL(aSize);
-    	}
-    SetSizeWithoutNotification(aSize);
-	}
-
-// ---------------------------------------------------------------------------
-// Adds Save command to "Options" set
-// ---------------------------------------------------------------------------
-//
-void CRsfwMountConfBioControl::SetMenuCommandSetL(CEikMenuPane& aMenuPane)
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::SetMenuCommandSetL"));			
-	if (!IsEditor())
-        {
-   	    if( iIsFileBased )
-            {
-            FileBasedAddMenuItemL(aMenuPane, R_SM_SAVE,
-                EMountConfBcCmdSave);
-            }
-        else
-            {
-            AddMenuItemL(aMenuPane, R_SM_SAVE,
-                EMountConfBcCmdSave, EFirstMenuItem);
-                             
-            }
-        }
-	}
-
-
-void CRsfwMountConfBioControl::FileBasedAddMenuItemL(CEikMenuPane& aMenuPane,
-    TInt aStringRes, TInt aCommandOffset)
-    {
-		DEBUGSTRING16(("CRsfwMountConfBioControl::FileBasedAddMenuItemL"));		   	
-    CEikMenuPaneItem::SData menuItem;
-    menuItem.iCascadeId = NULL;
-    menuItem.iFlags = NULL;
-    HBufC* string = StringLoader::LoadL(aStringRes, iCoeEnv);
-    menuItem.iText.Format(*string);
-    delete string;
-    menuItem.iCommandId = iBioControlObserver.FirstFreeCommand()
-        + aCommandOffset;
-    aMenuPane.InsertMenuItemL(menuItem, 0);
-    }
-
-TRect CRsfwMountConfBioControl::CurrentLineRect() const
-	{
-		DEBUGSTRING16(("CRsfwMountConfBioControl::CurrentLineRect"));			
-  	return iViewer->CurrentLineRect();
-	}
-
-TBool CRsfwMountConfBioControl::IsFocusChangePossible(
-		TMsgFocusDirection aDirection) const
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::IsFocusChangePossible"));		
-   	if (aDirection == EMsgFocusUp)
-        {
-        return iViewer->IsCursorLocation(EMsgTop);
-        }
-    return EFalse;
-	}
-
-// ---------------------------------------------------------------------------
-// Sets the header or the remote drive view
-// ---------------------------------------------------------------------------
-//
-HBufC* CRsfwMountConfBioControl::HeaderTextL() const
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::HeaderTextL"));				
-	return StringLoader::LoadL(R_SM_TITLE_MOUNT_CONF, iCoeEnv);
-	}
-
-
-// ---------------------------------------------------------------------------
-// Handles the command selected by the user
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwMountConfBioControl::HandleBioCommandL(TInt aCommand)
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::HandleBioCommandL %d", aCommand));
-	
-	aCommand -= iBioControlObserver.FirstFreeCommand();
-	switch (aCommand)
-		{
-	case EMountConfBcCmdSave:
-    	TRAPD(err, DoMountL(iMountEntry));	
-        if (!err) 
-	        {
-		    HBufC* buf = StringLoader::LoadLC(R_SM_SUCCESS_MOUNT);
-            CAknConfirmationNote* note = new (ELeave) CAknConfirmationNote;
-            note->ExecuteLD(*buf);
-	        CleanupStack::PopAndDestroy(buf);	
-	        }
-	    else if (KErrInUse == err) 
-	        {
-	        HBufC* buf = StringLoader::LoadLC(R_SM_TOO_MANY_REMOTE_DRIVES);
-            CAknErrorNote* note = new (ELeave) CAknErrorNote;
-            note->ExecuteLD(*buf);
-	        CleanupStack::PopAndDestroy(buf);	
-	        }
-	    else if (!(KErrCancel == err)) 
-	        {
-	        // cancel means that user does not want to rename
-	        User::Leave(err);
-	        }
-	    
-	    return ETrue;
-	default:
-		return EFalse;
-		}
-	}
-	
-TKeyResponse CRsfwMountConfBioControl::OfferKeyEventL(
-		const TKeyEvent& aKeyEvent,
-		TEventCode aType)
-	{
-DEBUGSTRING16(("CRsfwMountConfBioControl::OfferKeyEventL"));		
-	return iViewer->OfferKeyEventL(aKeyEvent, aType);
-	}
-
-TInt CRsfwMountConfBioControl::CountComponentControls() const
-	{
-DEBUGSTRING16(("CRsfwMountConfBioControl::CountComponentControls"));			
- 	return 1; // the viewer component
-	}
-
-CCoeControl* CRsfwMountConfBioControl::ComponentControl(TInt aIndex) const
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::ComponentControl"));		
-    if (aIndex == 0)
-        {
-        return iViewer;
-        }
-    return NULL;
-
-	}
-
-void CRsfwMountConfBioControl::SizeChanged()
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::SizeChanged"));		
-	iViewer->SetExtent(Position(), iViewer->Size());
-	}
-
-void CRsfwMountConfBioControl::FocusChanged(TDrawNow /* aDrawNow */)
-	{
-	DEBUGSTRING16(("CRsfwMountConfBioControl::FocusChanged"));				
- 	iViewer->SetFocus(IsFocused());
-	}
-
-void CRsfwMountConfBioControl::SetContainerWindowL(const CCoeControl& aContainer)
-	{
-		DEBUGSTRING16(("CRsfwMountConfBioControl::SetContainerWindowL"));			
-	CCoeControl::SetContainerWindowL(aContainer);
-
-    // The reason for creating the viewer control here is that the
-    // construction of the viewer requires a parent with a window. So it
-    // cannot be done in ConstructL().
-    //
-    iViewer->ConstructL(this);
-
-	}
-	
-TInt CRsfwMountConfBioControl::VirtualHeight()
-	{
-		DEBUGSTRING16(("CRsfwMountConfBioControl::VirtualHeight"));			
- 	return iViewer->VirtualHeight();
-	}
-
-TInt CRsfwMountConfBioControl::VirtualVisibleTop()
-	{
-		DEBUGSTRING16(("CRsfwMountConfBioControl::VirtualVisibleTop"));				
-	return iViewer->VirtualVisibleTop();
-	}
-
-TBool CRsfwMountConfBioControl::IsCursorLocation(TMsgCursorLocation aLocation) const
-    {
- 		DEBUGSTRING16(("CRsfwMountConfBioControl::IsCursorLocation"));			   	
-    return iViewer->IsCursorLocation(aLocation);
-    }
-
-
-void CRsfwMountConfBioControl::ResolveFileL( RFile& aFile )
-    {
-  		DEBUGSTRING16(("CRsfwMountConfBioControl::ResolveFileL"));	   	
-    if ( iIsFileBased )
-        {
-		aFile.Duplicate(FileHandle());
-        }
-    else
-        {
-        CMsvEntry* entry = MsvSession().GetEntryL( iId );
-
-        CleanupStack::PushL( entry );
-		CMsvStore* store = entry->ReadStoreL();
-		CleanupStack::PushL(store);
-		MMsvAttachmentManager& attachMan = store->AttachmentManagerL();
-		aFile = attachMan.GetAttachmentFileL( 0 ); //entry is the first attachment
-		CleanupStack::PopAndDestroy( 2, entry ); // store, entry
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Saves the selected remote drive to the Central Repository table
-// ---------------------------------------------------------------------------
-//
-void CRsfwMountConfBioControl::DoMountL(CRsfwMountEntry* aMounterEntry)
-	{
-  		DEBUGSTRING16(("CRsfwMountConfBioControl::DoMountL"));	   		
-	// CRsfwMountEntry API ensures that EMountEntryItemName
-	// length does not exceed KMaxFriendlyNameLength characters	
-	TBuf<KMaxFriendlyNameLength>  newFriendlyName;
-    newFriendlyName.Copy(*aMounterEntry->Item(EMountEntryItemName));
-	
-    TBool nameUnique = EFalse;
-    TBool operationCancelled = EFalse;
-    
-    nameUnique = isNameUniqueL(newFriendlyName);
-    
-    while ((!nameUnique) && (!operationCancelled)) 
-        {
-        operationCancelled = GetNameForNewMountL(newFriendlyName);
-        nameUnique = isNameUniqueL(newFriendlyName);
-        }
-    
-    if (!operationCancelled) 
-        {
-        // clone the entry and add it to the cenrep
-        // we clone it so that the original smart message content does not change
-        CRsfwMountEntry* entrytoBeSaved = aMounterEntry->CloneL();
-        
-        // copy newFriendlyName to name
-        entrytoBeSaved->SetItemL(EMountEntryItemName, newFriendlyName);
-        
-        // set mountentryindex to -1 so that this will go the end of the list
-        TBuf<5> index;
-   	    index.Num(-1);
-   	    entrytoBeSaved->SetItemL(EMountEntryItemIndex, index);	
-   	    
-   	    // ownership is transferred to MountMan
-	    iMountMan->AddMountEntryL(entrytoBeSaved);
-        }
-    else 
-        {
-        User::Leave(KErrCancel);
-        }
-
-	}
-	
-// ---------------------------------------------------------------------------
-// Tests whether the chosen remote drive name is unique
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwMountConfBioControl::isNameUniqueL(const TDesC& aName)
-    {
-  		DEBUGSTRING16(("CRsfwMountConfBioControl::isNameUniqueL"));	    	
-    // figure out whether a drive with the same name already exists
-	CDesCArray* driveArray = new (ELeave) CDesC16ArraySeg(4);
-	CleanupStack::PushL(driveArray);
-	iMountMan->GetMountNamesL(driveArray); 
-	// report error if there are already 9 remote drives
-	if (driveArray->Count() == KMaxRemoteDrives) 
-	    {
-	    CleanupStack::PopAndDestroy(driveArray);
-	    User::Leave(KErrInUse);
-	    }
-	                       
-    for (int i = 0; i < driveArray->Count(); i++) 
-        {
-        if (aName == driveArray->MdcaPoint(i)) 
-            {
-            // there was a match and the name is not unique
-            CleanupStack::PopAndDestroy(driveArray);
-            return EFalse;
-            }
-        }
-    CleanupStack::PopAndDestroy(driveArray);    
-    return ETrue;    
-    }
-
-// ---------------------------------------------------------------------------
-// Queries new remote drive name from the user
-// ---------------------------------------------------------------------------
-//
-TBool CRsfwMountConfBioControl::GetNameForNewMountL(TDes& aName)	
-    {
-  		DEBUGSTRING16(("CRsfwMountConfBioControl::GetNameForNewMountL"));	    	
-    TBool operationCancelled = EFalse; 
-    // ask user to change the name and try again
-    HBufC* confmess = StringLoader::LoadLC(R_STR_NAME_RENAME_QUERY, aName);
-    CAknQueryDialog* query = CAknQueryDialog::NewL
-                                        (CAknQueryDialog::EConfirmationTone);
-     
-	if (query->ExecuteLD( R_CONFIRMATION_QUERY, *confmess)) 
-	    {
-	    TBuf<KMaxFriendlyNameLength> newName;
-	    TBool retval;
-	    
-	    // for getting the new name, use name dialog from the "global save as dialog"
-	    HBufC* defaultname = StringLoader::LoadLC(R_SM_DEFAULT_DRIVE_NAME);
-         
-        CRsfwNotPluginNameDialog* dlg = 
-                CRsfwNotPluginNameDialog::NewL( 
-               *defaultname, newName, iEikonEnv->FsSession());
-        dlg->SetMaxLength(KMaxFriendlyNameLength);
-        dlg->PrepareLC( R_FILE_NAME_QUERY );
-        retval = dlg->RunLD();
-        CleanupStack::PopAndDestroy(defaultname);
-        if (!retval) 
-            {
-            // user cancelled renaming
-            operationCancelled = ETrue;
-            }
-         else 
-            {
-            aName = newName;
-            }
-	    }
-	else 
-	    {
-	    // user does not want to rename
-	    operationCancelled = ETrue;
-	    }
-    CleanupStack::PopAndDestroy(confmess);      
-	return operationCancelled;    
-    }
--- a/remotestoragefw/remotefileengine/bwins/rsfwcommonu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-EXPORTS
-	??1CRsfwConnectionManager@@UAE@XZ @ 1 NONAME ; CRsfwConnectionManager::~CRsfwConnectionManager(void)
-	??1CRsfwDirEnt@@UAE@XZ @ 2 NONAME ; CRsfwDirEnt::~CRsfwDirEnt(void)
-	??1CRsfwDirEntAttr@@UAE@XZ @ 3 NONAME ; CRsfwDirEntAttr::~CRsfwDirEntAttr(void)
-	??1CRsfwRemoteAccess@@UAE@XZ @ 4 NONAME ; CRsfwRemoteAccess::~CRsfwRemoteAccess(void)
-	?Att@CRsfwDirEntAttr@@QBEIXZ @ 5 NONAME ; unsigned int CRsfwDirEntAttr::Att(void) const
-	?Attr@CRsfwDirEnt@@QBEPAVCRsfwDirEntAttr@@XZ @ 6 NONAME ; class CRsfwDirEntAttr * CRsfwDirEnt::Attr(void) const
-	?ETag@CRsfwDirEntAttr@@QBEPBVTDesC8@@XZ @ 7 NONAME ; class TDesC8 const * CRsfwDirEntAttr::ETag(void) const
-	?ExtractAttr@CRsfwDirEnt@@QAEPAVCRsfwDirEntAttr@@XZ @ 8 NONAME ; class CRsfwDirEntAttr * CRsfwDirEnt::ExtractAttr(void)
-	?GetConnection@CRsfwConnectionManager@@QAEHAAPAVRSocketServ@@AAPAVRConnection@@@Z @ 9 NONAME ; int CRsfwConnectionManager::GetConnection(class RSocketServ * &, class RConnection * &)
-	?GetName@CRsfwDirEnt@@QBEXAAVTDes16@@@Z @ 10 NONAME ; void CRsfwDirEnt::GetName(class TDes16 &) const
-	?GetName@CRsfwDirEnt@@QBEXAAVTDes8@@@Z @ 11 NONAME ; void CRsfwDirEnt::GetName(class TDes8 &) const
-	?GetQuotaAndSizeL@CRsfwRemoteAccess@@UAEHAAH0@Z @ 12 NONAME ; int CRsfwRemoteAccess::GetQuotaAndSizeL(int &, int &)
-	?MimeType@CRsfwDirEntAttr@@QBEPBVTDesC8@@XZ @ 13 NONAME ; class TDesC8 const * CRsfwDirEntAttr::MimeType(void) const
-	?Modified@CRsfwDirEntAttr@@QBE?AVTTime@@XZ @ 14 NONAME ; class TTime CRsfwDirEntAttr::Modified(void) const
-	?Name@CRsfwDirEnt@@QBEPBVHBufC16@@XZ @ 15 NONAME ; class HBufC16 const * CRsfwDirEnt::Name(void) const
-	?NewL@CRsfwConnectionManager@@SAPAV1@PAVMRsfwConnectionObserver@@@Z @ 16 NONAME ; class CRsfwConnectionManager * CRsfwConnectionManager::NewL(class MRsfwConnectionObserver *)
-	?NewL@CRsfwDirEnt@@SAPAV1@ABVTDesC16@@PAVCRsfwDirEntAttr@@@Z @ 17 NONAME ; class CRsfwDirEnt * CRsfwDirEnt::NewL(class TDesC16 const &, class CRsfwDirEntAttr *)
-	?NewL@CRsfwDirEnt@@SAPAV1@ABVTDesC8@@PAVCRsfwDirEntAttr@@@Z @ 18 NONAME ; class CRsfwDirEnt * CRsfwDirEnt::NewL(class TDesC8 const &, class CRsfwDirEntAttr *)
-	?NewL@CRsfwDirEntAttr@@SAPAV1@XZ @ 19 NONAME ; class CRsfwDirEntAttr * CRsfwDirEntAttr::NewL(void)
-	?NewL@CRsfwRemoteAccess@@SAPAV1@ABVTDesC8@@@Z @ 20 NONAME ; class CRsfwRemoteAccess * CRsfwRemoteAccess::NewL(class TDesC8 const &)
-	?NewLC@CRsfwDirEnt@@SAPAV1@ABVTDesC16@@PAVCRsfwDirEntAttr@@@Z @ 21 NONAME ; class CRsfwDirEnt * CRsfwDirEnt::NewLC(class TDesC16 const &, class CRsfwDirEntAttr *)
-	?NewLC@CRsfwDirEnt@@SAPAV1@ABVTDesC8@@PAVCRsfwDirEntAttr@@@Z @ 22 NONAME ; class CRsfwDirEnt * CRsfwDirEnt::NewLC(class TDesC8 const &, class CRsfwDirEntAttr *)
-	?NewLC@CRsfwDirEntAttr@@SAPAV1@XZ @ 23 NONAME ; class CRsfwDirEntAttr * CRsfwDirEntAttr::NewLC(void)
-	?ResetAttFlags@CRsfwDirEntAttr@@QAEXI@Z @ 24 NONAME ; void CRsfwDirEntAttr::ResetAttFlags(unsigned int)
-	?SetAtt@CRsfwDirEntAttr@@QAEXI@Z @ 25 NONAME ; void CRsfwDirEntAttr::SetAtt(unsigned int)
-	?SetAttFlags@CRsfwDirEntAttr@@QAEXI@Z @ 26 NONAME ; void CRsfwDirEntAttr::SetAttFlags(unsigned int)
-	?SetAttrL@CRsfwDirEnt@@QAEXPAVCRsfwDirEntAttr@@@Z @ 27 NONAME ; void CRsfwDirEnt::SetAttrL(class CRsfwDirEntAttr *)
-	?SetETagL@CRsfwDirEntAttr@@QAEXABVTDesC8@@@Z @ 28 NONAME ; void CRsfwDirEntAttr::SetETagL(class TDesC8 const &)
-	?SetMimeTypeL@CRsfwDirEntAttr@@QAEXABVTDesC8@@@Z @ 29 NONAME ; void CRsfwDirEntAttr::SetMimeTypeL(class TDesC8 const &)
-	?SetModified@CRsfwDirEntAttr@@QAEXABVTTime@@@Z @ 30 NONAME ; void CRsfwDirEntAttr::SetModified(class TTime const &)
-	?SetNameL@CRsfwDirEnt@@QAEXABVTDesC16@@@Z @ 31 NONAME ; void CRsfwDirEnt::SetNameL(class TDesC16 const &)
-	?SetNameL@CRsfwDirEnt@@QAEXABVTDesC8@@@Z @ 32 NONAME ; void CRsfwDirEnt::SetNameL(class TDesC8 const &)
-	?SetSize@CRsfwDirEntAttr@@QAEXH@Z @ 33 NONAME ; void CRsfwDirEntAttr::SetSize(int)
-	?SetStringValueL@CRsfwDirEntAttr@@QAEXHABVTDesC8@@@Z @ 34 NONAME ; void CRsfwDirEntAttr::SetStringValueL(int, class TDesC8 const &)
-	?SetUid@CRsfwDirEntAttr@@QAEXVTUid@@@Z @ 35 NONAME ; void CRsfwDirEntAttr::SetUid(class TUid)
-	?Size@CRsfwDirEntAttr@@QBEHXZ @ 36 NONAME ; int CRsfwDirEntAttr::Size(void) const
-	?StringValue@CRsfwDirEntAttr@@QBEPBVTDesC8@@H@Z @ 37 NONAME ; class TDesC8 const * CRsfwDirEntAttr::StringValue(int) const
-	?Uid@CRsfwDirEntAttr@@QAEABVTUid@@XZ @ 38 NONAME ; class TUid const & CRsfwDirEntAttr::Uid(void)
-	?UseIapL@CRsfwConnectionManager@@QAEXABVTDesC16@@@Z @ 39 NONAME ; void CRsfwConnectionManager::UseIapL(class TDesC16 const &)
-
--- a/remotestoragefw/remotefileengine/bwins/rsfwcontrolu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-EXPORTS
-	??0RRsfwControl@@QAE@XZ @ 1 NONAME ; RRsfwControl::RRsfwControl(void)
-	?CancelRemoteTransfer@RRsfwControl@@QAEHABVTDesC16@@@Z @ 2 NONAME ; int RRsfwControl::CancelRemoteTransfer(class TDesC16 const &)
-	?Connect@RRsfwControl@@QAEHXZ @ 3 NONAME ; int RRsfwControl::Connect(void)
-	?DismountByDriveLetter@RRsfwControl@@QAEHVTChar@@@Z @ 4 NONAME ; int RRsfwControl::DismountByDriveLetter(class TChar)
-	?DismountByVolumeId@RRsfwControl@@QAEHH@Z @ 5 NONAME ; int RRsfwControl::DismountByVolumeId(int)
-	?GetMountInfo@RRsfwControl@@QAEHABVTChar@@AAVTRsfwMountInfo@@@Z @ 6 NONAME ; int RRsfwControl::GetMountInfo(class TChar const &, class TRsfwMountInfo &)
-	?Mount@RRsfwControl@@QAEHH@Z @ 7 NONAME ; int RRsfwControl::Mount(int)
-	?Mount@RRsfwControl@@QAEXABVTRsfwMountConfig@@AAVTRequestStatus@@@Z @ 8 NONAME ; void RRsfwControl::Mount(class TRsfwMountConfig const &, class TRequestStatus &)
-	?RefreshDirectory@RRsfwControl@@QAEHABVTDesC16@@@Z @ 9 NONAME ; int RRsfwControl::RefreshDirectory(class TDesC16 const &)
-	?SetMountConnectionState@RRsfwControl@@QAEHABVTChar@@I@Z @ 10 NONAME ; int RRsfwControl::SetMountConnectionState(class TChar const &, unsigned int)
-	?Version@RRsfwControl@@QAE?AVTVersion@@XZ @ 11 NONAME ; class TVersion RRsfwControl::Version(void)
-	?MountBlind@RRsfwControl@@QAEHH@Z @ 12 NONAME ; int RRsfwControl::MountBlind(int)
-	?Mount@RRsfwControl@@QAEHABVTRsfwMountConfig@@@Z @ 13 NONAME ; int RRsfwControl::Mount(class TRsfwMountConfig const &)
-
--- a/remotestoragefw/remotefileengine/bwins/rsfwsessionu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-EXPORTS
-	??0RRsfwSession@@QAE@XZ @ 1 NONAME ; RRsfwSession::RRsfwSession(void)
-	?Clear@TDirEnt@@QAEXXZ @ 2 NONAME ; void TDirEnt::Clear(void)
-	?Clear@TDirEntAttr@@QAEXXZ @ 3 NONAME ; void TDirEntAttr::Clear(void)
-	?Close@RRsfwSession@@QAEXXZ @ 4 NONAME ; void RRsfwSession::Close(void)
-	?CloseFile@RRsfwSession@@QAEXVTFid@@I@Z @ 5 NONAME ; void RRsfwSession::CloseFile(class TFid, unsigned int)
-	?Connect@RRsfwSession@@QAEHXZ @ 6 NONAME ; int RRsfwSession::Connect(void)
-	?CreateFile@RRsfwSession@@QAEHVTFid@@ABVTDesC16@@IIAAV2@@Z @ 7 NONAME ; int RRsfwSession::CreateFile(class TFid, class TDesC16 const &, unsigned int, unsigned int, class TFid &)
-	?ExternalizeL@TDirEnt@@QBEXAAVRWriteStream@@@Z @ 8 NONAME ; void TDirEnt::ExternalizeL(class RWriteStream &) const
-	?ExternalizeL@TDirEntAttr@@QBEXAAVRWriteStream@@@Z @ 9 NONAME ; void TDirEntAttr::ExternalizeL(class RWriteStream &) const
-	?Fetch@RRsfwSession@@QAEHVTFid@@HHAAH@Z @ 10 NONAME ; int RRsfwSession::Fetch(class TFid, int, int, int &)
-	?FetchData@RRsfwSession@@QAEHVTFid@@HHAAVTDes16@@AAH@Z @ 11 NONAME ; int RRsfwSession::FetchData(class TFid, int, int, class TDes16 &, int &)
-	?Flush@RRsfwSession@@QAEHVTFid@@HHH@Z @ 12 NONAME ; int RRsfwSession::Flush(class TFid, int, int, int)
-	?FlushCache@RRsfwSession@@QAEHAAVTFid@@@Z @ 13 NONAME ; int RRsfwSession::FlushCache(class TFid &)
-	?GetAttributes@RRsfwSession@@QAEHVTFid@@AAVTEntry@@@Z @ 14 NONAME ; int RRsfwSession::GetAttributes(class TFid, class TEntry &)
-	?InternalizeL@TDirEnt@@QAEXAAVRReadStream@@@Z @ 15 NONAME ; void TDirEnt::InternalizeL(class RReadStream &)
-	?InternalizeL@TDirEntAttr@@QAEXAAVRReadStream@@@Z @ 16 NONAME ; void TDirEntAttr::InternalizeL(class RReadStream &)
-	?Lookup@RRsfwSession@@QAEHVTFid@@ABVTDesC16@@IAAV2@@Z @ 17 NONAME ; int RRsfwSession::Lookup(class TFid, class TDesC16 const &, unsigned int, class TFid &)
-	?MakeDirectory@RRsfwSession@@QAEHVTFid@@ABVTDesC16@@@Z @ 18 NONAME ; int RRsfwSession::MakeDirectory(class TFid, class TDesC16 const &)
-	?MoveFids@RRsfwSession@@QAEHVTFid@@ABVTDesC16@@01H@Z @ 19 NONAME ; int RRsfwSession::MoveFids(class TFid, class TDesC16 const &, class TFid, class TDesC16 const &, int)
-	?OkToWrite@RRsfwSession@@QAEHVTFid@@IAAH@Z @ 20 NONAME ; int RRsfwSession::OkToWrite(class TFid, unsigned int, int &)
-	?OpenByPath@RRsfwSession@@QAEHVTFid@@AAVTDes16@@PAVTDirEntAttr@@H@Z @ 21 NONAME ; int RRsfwSession::OpenByPath(class TFid, class TDes16 &, class TDirEntAttr *, int)
-	?RemoveDirectory@RRsfwSession@@QAEHVTFid@@ABVTDesC16@@@Z @ 22 NONAME ; int RRsfwSession::RemoveDirectory(class TFid, class TDesC16 const &)
-	?RemoveFile@RRsfwSession@@QAEHVTFid@@ABVTDesC16@@@Z @ 23 NONAME ; int RRsfwSession::RemoveFile(class TFid, class TDesC16 const &)
-	?RfeInit@RRsfwSession@@QAEHAAVTFid@@@Z @ 24 NONAME ; int RRsfwSession::RfeInit(class TFid &)
-	?SetEntry@RRsfwSession@@QAEHVTFid@@ABVTTime@@II@Z @ 25 NONAME ; int RRsfwSession::SetEntry(class TFid, class TTime const &, unsigned int, unsigned int)
-	?SetHighCachePriority@RRsfwSession@@QAEHAAVTFid@@@Z @ 26 NONAME ; int RRsfwSession::SetHighCachePriority(class TFid &)
-	?Version@RRsfwSession@@QBE?AVTVersion@@XZ @ 27 NONAME ; class TVersion RRsfwSession::Version(void) const
-
--- a/remotestoragefw/remotefileengine/data/RemoteFileEngine.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Resource file Remote File Engine
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    RSFE // 4 letter ID
-
-//  INCLUDES
-#include    <eikon.rh>
-#include 	<badef.rh> 
-#include 	<avkon.hrh>
-#include <avkon.rsg>
-#include <CommonDialogs.hrh> 
-#include <CommonDialogs.rh> 
-#include <avkon.loc>
-#include <remotefileengine.loc>
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-// ---------------------------------------------------------
-//   
-//    Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF 
-    { 
-    buf=""; 
-    }    
- 
-   
-//------------------------------------------------------------------------------
-//
-//    r_remotefe_memory_selection_dialog
-//    Defines a memory selection dialog
-//
-//------------------------------------------------------------------------------
-RESOURCE MEMORYSELECTIONDIALOG r_remotefe_memory_selection_dialog
-    {
-    softkey_1 = text_softkey_select;
-    softkey_2 = text_softkey_cancel;
-    }
-         
-//----------------------------------------------------
-//   
-//    string resouces
-//    the strings can be localized in loc file
-//
-//----------------------------------------------------
-//    
-RESOURCE LBUF r_wait_note_connecting { txt = qtn_rd_wait_connecting; }
-RESOURCE LBUF r_wait_note_transferring { txt = qtn_rd_wait_transferring; }
-RESOURCE LBUF r_save_query_confirm { txt = qtn_rd_query_file_save_fail; } 
-RESOURCE LBUF r_wait_note_retrieving { txt = qtn_gen_note_fetching; }
-RESOURCE LBUF r_note_address_not_available { txt = qtn_rd_error_faulty_address; }
-RESOURCE LBUF r_confirm_drive_unavailable { txt = qtn_rd_conf_drive_unavailable; }
-RESOURCE LBUF r_confirm_file_saved_to { txt = qtn_fldr_file_saved_to; }
-RESOURCE LBUF r_saving_failed { txt = qtn_rd_all_serv_failed; }
-RESOURCE LBUF r_wait_note_disc_warning { txt = qtn_rd_conf_query_open_files_disconnect; }
-RESOURCE LBUF r_no_network_coverage { txt = qtn_rd_err_no_network_cover; }
-RESOURCE LBUF r_offline_not_possible { txt = qtn_offline_not_possible; }
-RESOURCE LBUF r_ram_out_of_memory { txt = qtn_memlo_ram_out_of_mem; }
-//End of File
--- a/remotestoragefw/remotefileengine/data/rsfw.cfg	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-SIP=no
-SipId=sip:mypocket1@hera.wipsl.com
-permanent_meta_data=yes
-conflict_resolution_policy=client_dominates
--- a/remotestoragefw/remotefileengine/eabi/rsfwcommonu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-EXPORTS
-	_ZN11CRsfwDirEnt11ExtractAttrEv @ 1 NONAME
-	_ZN11CRsfwDirEnt4NewLERK6TDesC8P15CRsfwDirEntAttr @ 2 NONAME
-	_ZN11CRsfwDirEnt4NewLERK7TDesC16P15CRsfwDirEntAttr @ 3 NONAME
-	_ZN11CRsfwDirEnt5NewLCERK6TDesC8P15CRsfwDirEntAttr @ 4 NONAME
-	_ZN11CRsfwDirEnt5NewLCERK7TDesC16P15CRsfwDirEntAttr @ 5 NONAME
-	_ZN11CRsfwDirEnt8SetAttrLEP15CRsfwDirEntAttr @ 6 NONAME
-	_ZN11CRsfwDirEnt8SetNameLERK6TDesC8 @ 7 NONAME
-	_ZN11CRsfwDirEnt8SetNameLERK7TDesC16 @ 8 NONAME
-	_ZN11CRsfwDirEntD0Ev @ 9 NONAME
-	_ZN11CRsfwDirEntD1Ev @ 10 NONAME
-	_ZN11CRsfwDirEntD2Ev @ 11 NONAME
-	_ZN15CRsfwDirEntAttr11SetAttFlagsEj @ 12 NONAME
-	_ZN15CRsfwDirEntAttr11SetModifiedERK5TTime @ 13 NONAME
-	_ZN15CRsfwDirEntAttr12SetMimeTypeLERK6TDesC8 @ 14 NONAME
-	_ZN15CRsfwDirEntAttr13ResetAttFlagsEj @ 15 NONAME
-	_ZN15CRsfwDirEntAttr15SetStringValueLEiRK6TDesC8 @ 16 NONAME
-	_ZN15CRsfwDirEntAttr3UidEv @ 17 NONAME
-	_ZN15CRsfwDirEntAttr4NewLEv @ 18 NONAME
-	_ZN15CRsfwDirEntAttr5NewLCEv @ 19 NONAME
-	_ZN15CRsfwDirEntAttr6SetAttEj @ 20 NONAME
-	_ZN15CRsfwDirEntAttr6SetUidE4TUid @ 21 NONAME
-	_ZN15CRsfwDirEntAttr7SetSizeEi @ 22 NONAME
-	_ZN15CRsfwDirEntAttr8SetETagLERK6TDesC8 @ 23 NONAME
-	_ZN15CRsfwDirEntAttrD0Ev @ 24 NONAME
-	_ZN15CRsfwDirEntAttrD1Ev @ 25 NONAME
-	_ZN15CRsfwDirEntAttrD2Ev @ 26 NONAME
-	_ZN17CRsfwRemoteAccess16GetQuotaAndSizeLERiS0_ @ 27 NONAME
-	_ZN17CRsfwRemoteAccess4NewLERK6TDesC8 @ 28 NONAME
-	_ZN17CRsfwRemoteAccessD0Ev @ 29 NONAME
-	_ZN17CRsfwRemoteAccessD1Ev @ 30 NONAME
-	_ZN17CRsfwRemoteAccessD2Ev @ 31 NONAME
-	_ZN22CRsfwConnectionManager13GetConnectionERP11RSocketServRP11RConnection @ 32 NONAME
-	_ZN22CRsfwConnectionManager4NewLEP23MRsfwConnectionObserver @ 33 NONAME
-	_ZN22CRsfwConnectionManager7UseIapLERK7TDesC16 @ 34 NONAME
-	_ZN22CRsfwConnectionManagerD0Ev @ 35 NONAME
-	_ZN22CRsfwConnectionManagerD1Ev @ 36 NONAME
-	_ZN22CRsfwConnectionManagerD2Ev @ 37 NONAME
-	_ZNK11CRsfwDirEnt4AttrEv @ 38 NONAME
-	_ZNK11CRsfwDirEnt4NameEv @ 39 NONAME
-	_ZNK11CRsfwDirEnt7GetNameER5TDes8 @ 40 NONAME
-	_ZNK11CRsfwDirEnt7GetNameER6TDes16 @ 41 NONAME
-	_ZNK15CRsfwDirEntAttr11StringValueEi @ 42 NONAME
-	_ZNK15CRsfwDirEntAttr3AttEv @ 43 NONAME
-	_ZNK15CRsfwDirEntAttr4ETagEv @ 44 NONAME
-	_ZNK15CRsfwDirEntAttr4SizeEv @ 45 NONAME
-	_ZNK15CRsfwDirEntAttr8MimeTypeEv @ 46 NONAME
-	_ZNK15CRsfwDirEntAttr8ModifiedEv @ 47 NONAME
-	_ZTI11CRsfwDirEnt @ 48 NONAME ; #<TI>#
-	_ZTI15CRsfwDirEntAttr @ 49 NONAME ; #<TI>#
-	_ZTI17CRsfwRemoteAccess @ 50 NONAME ; #<TI>#
-	_ZTI22CRsfwConnectionManager @ 51 NONAME ; #<TI>#
-	_ZTV11CRsfwDirEnt @ 52 NONAME ; #<VT>#
-	_ZTV15CRsfwDirEntAttr @ 53 NONAME ; #<VT>#
-	_ZTV17CRsfwRemoteAccess @ 54 NONAME ; #<VT>#
-	_ZTV22CRsfwConnectionManager @ 55 NONAME ; #<VT>#
-
--- a/remotestoragefw/remotefileengine/eabi/rsfwcontrolu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-EXPORTS
-	_ZN12RRsfwControl12GetMountInfoERK5TCharR14TRsfwMountInfo @ 1 NONAME
-	_ZN12RRsfwControl16RefreshDirectoryERK7TDesC16 @ 2 NONAME
-	_ZN12RRsfwControl18DismountByVolumeIdEi @ 3 NONAME
-	_ZN12RRsfwControl20CancelRemoteTransferERK7TDesC16 @ 4 NONAME
-	_ZN12RRsfwControl21DismountByDriveLetterE5TChar @ 5 NONAME
-	_ZN12RRsfwControl23SetMountConnectionStateERK5TCharj @ 6 NONAME
-	_ZN12RRsfwControl5MountERK16TRsfwMountConfigR14TRequestStatus @ 7 NONAME
-	_ZN12RRsfwControl5MountEi @ 8 NONAME
-	_ZN12RRsfwControl7ConnectEv @ 9 NONAME
-	_ZN12RRsfwControl7VersionEv @ 10 NONAME
-	_ZN12RRsfwControlC1Ev @ 11 NONAME
-	_ZN12RRsfwControlC2Ev @ 12 NONAME
-	_ZN12RRsfwControl10MountBlindEi @ 13 NONAME
-	_ZN12RRsfwControl5MountERK16TRsfwMountConfig @ 14 NONAME
-
--- a/remotestoragefw/remotefileengine/eabi/rsfwsessionu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXPORTS
-	_ZN11TDirEntAttr12InternalizeLER11RReadStream @ 1 NONAME
-	_ZN11TDirEntAttr5ClearEv @ 2 NONAME
-	_ZN12RRsfwSession10CreateFileE4TFidRK7TDesC16jjRS0_ @ 3 NONAME
-	_ZN12RRsfwSession10FlushCacheER4TFid @ 4 NONAME
-	_ZN12RRsfwSession10OpenByPathE4TFidR6TDes16P11TDirEntAttri @ 5 NONAME
-	_ZN12RRsfwSession10RemoveFileE4TFidRK7TDesC16 @ 6 NONAME
-	_ZN12RRsfwSession13GetAttributesE4TFidR6TEntry @ 7 NONAME
-	_ZN12RRsfwSession13MakeDirectoryE4TFidRK7TDesC16 @ 8 NONAME
-	_ZN12RRsfwSession15RemoveDirectoryE4TFidRK7TDesC16 @ 9 NONAME
-	_ZN12RRsfwSession20SetHighCachePriorityER4TFid @ 10 NONAME
-	_ZN12RRsfwSession5CloseEv @ 11 NONAME
-	_ZN12RRsfwSession5FetchE4TFidiiRi @ 12 NONAME
-	_ZN12RRsfwSession5FlushE4TFidiii @ 13 NONAME
-	_ZN12RRsfwSession6LookupE4TFidRK7TDesC16jRS0_ @ 14 NONAME
-	_ZN12RRsfwSession7ConnectEv @ 15 NONAME
-	_ZN12RRsfwSession7RfeInitER4TFid @ 16 NONAME
-	_ZN12RRsfwSession8MoveFidsE4TFidRK7TDesC16S0_S3_i @ 17 NONAME
-	_ZN12RRsfwSession8SetEntryE4TFidRK5TTimejj @ 18 NONAME
-	_ZN12RRsfwSession9CloseFileE4TFidj @ 19 NONAME
-	_ZN12RRsfwSession9FetchDataE4TFidiiR6TDes16Ri @ 20 NONAME
-	_ZN12RRsfwSession9OkToWriteE4TFidjRi @ 21 NONAME
-	_ZN12RRsfwSessionC1Ev @ 22 NONAME
-	_ZN12RRsfwSessionC2Ev @ 23 NONAME
-	_ZN7TDirEnt12InternalizeLER11RReadStream @ 24 NONAME
-	_ZN7TDirEnt5ClearEv @ 25 NONAME
-	_ZNK11TDirEntAttr12ExternalizeLER12RWriteStream @ 26 NONAME
-	_ZNK12RRsfwSession7VersionEv @ 27 NONAME
-	_ZNK7TDirEnt12ExternalizeLER12RWriteStream @ 28 NONAME
-
--- a/remotestoragefw/remotefileengine/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:  Build information file for project Remote File Engine
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/rsfwdirent.h             |../../../inc/rsfwdirent.h
-../inc/rsfwdirentattr.h         |../../../inc/rsfwdirentattr.h
-../inc/rsfwremoteaccess.h       |../../../inc/rsfwremoteaccess.h
-../inc/rsfwcontrol.h            |../../inc/rsfwcontrol.h
-../inc/rsfwcommon.h             |../../inc/rsfwcommon.h
-../inc/rsfwconnectionmanager.h  |../../inc/rsfwconnectionmanager.h
-../inc/rsfwfile.h               |../../inc/rsfwfile.h
-../inc/rsfwinterface.h          |../../inc/rsfwinterface.h
-../inc/rsfwinterface.inl        |../../inc/rsfwinterface.inl
-../inc/rsfwsession.h            |../../inc/rsfwsession.h
-// export localised loc file
-../loc/RemoteFileEngine.loc        MW_LAYER_LOC_EXPORT_PATH(RemoteFileEngine.loc)
-
-PRJ_MMPFILES
-rsfwsession.mmp
-rsfwcontrol.mmp
-rsfwcommon.mmp
-remotefe.mmp
-// End of File
--- a/remotestoragefw/remotefileengine/group/remotefe.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Project definition file for project remote file engine
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET                  remotefe.exe
-TARGETTYPE              exe
-UID                     0x100039ce 0x101F970D
-
-CAPABILITY              NetworkServices ReadDeviceData WriteDeviceData ReadUserData
-VENDORID                VID_DEFAULT
-
-SOURCEPATH              ../src
-SOURCE                  rsfwrfestatemachine.cpp
-SOURCE                  rsfwwaitnotestatemachine.cpp
-SOURCE                  rsfwattributerefreshingstatemachine.cpp
-SOURCE                  rsfwclosestatemachine.cpp
-SOURCE                  rsfwflushstatemachine.cpp
-SOURCE                  rsfwcreatefilestatemachine.cpp
-SOURCE                  rsfwdeletestatemachine.cpp
-SOURCE                  rsfwfetchandcachestatemachine.cpp
-SOURCE                  rsfwfetchdatastatemachine.cpp
-SOURCE                  rsfwgetattributesstatemachine.cpp
-SOURCE                  rsfwlookupstatemachine.cpp
-SOURCE                  rsfwmkdirstatemachine.cpp
-SOURCE                  rsfwmountconnectionstatemachine.cpp
-SOURCE                  rsfwmountstatemachine.cpp
-SOURCE                  rsfwopenbypathstatemachine.cpp
-SOURCE                  rsfwrenamefilestatemachine.cpp
-SOURCE                  rsfwsyncoperations.cpp
-SOURCE                  rsfwrequestallocator.cpp
-SOURCE                  rsfwrferequest.cpp
-SOURCE                  rsfwrfemessagerequest.cpp
-SOURCE                  rsfwrfeoperation.cpp
-SOURCE                  rsfwrfesyncoperation.cpp
-SOURCE                  rsfwrfeasyncoperation.cpp
-SOURCE                  rsfwfiletable.cpp
-SOURCE                  rsfwfileentry.cpp
-SOURCE                  rsfwvolumetable.cpp
-SOURCE                  rsfwvolume.cpp
-SOURCE                  rsfwlruprioritylist.cpp
-SOURCE                  rsfwlrulistnode.cpp
-SOURCE                  rsfwfileengine.cpp
-SOURCE                  rsfwrfeserver.cpp
-SOURCE                  rsfwrfesession.cpp
-SOURCE                  rsfwlockmanager.cpp
-SOURCE                  rsfwpermanentstore.cpp
-SOURCE                  rsfwmetadatastore.cpp
-SOURCE                  rsfwwaitnotemanager.cpp
-SOURCE                  rsfwdormantmountloader.cpp
-SOURCEPATH              ../../MDebug/src
-SOURCE                  mdebug.cpp
-
-SOURCEPATH              ../data
-START RESOURCE          RemoteFileEngine.rss
-HEADER
-TARGETPATH              RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // RESOURCE
-
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE           /epoc32/include/libc
-SYSTEMINCLUDE           /epoc32/include/libc/sys
-SYSTEMINCLUDE           /epoc32/include/ecom
-USERINCLUDE     ../inc
-
-
-LIBRARY                 euser.lib
-LIBRARY                 efsrv.lib
-LIBRARY                 estor.lib
-LIBRARY                 apgrfx.lib // for RApaLsSession 
-LIBRARY                 apmime.lib // for TDataType
-LIBRARY                 inetprotutil.lib // uri parsers
-LIBRARY                 sysutil.lib // DiskSpaceBelowCriticalLevel
-LIBRARY                 ecom.lib		
-LIBRARY                 bafl.lib // for RResourceFile
-LIBRARY                 aknnotify.lib // for the global notes
-LIBRARY                 commonengine.lib // for S60 .loc formatting in stringloader
-LIBRARY                 directorylocalizer.lib
-LIBRARY                 rsfwmountstore.lib
-LIBRARY                 rsfwmountman.lib
-LIBRARY                 rsfwcommon.lib
-LIBRARY                 rsfwconfig.lib
-LIBRARY                 rsfwsession.lib
-LIBRARY                 flogger.lib
-
-
-
-
--- a/remotestoragefw/remotefileengine/group/rsfwcommon.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Project definition file for project RSFW common definitions
-*
-*/
-
-#include <platform_paths.hrh>
-
-CAPABILITY      ALL -TCB
-
-TARGET          rsfwcommon.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x101F9776
-
-SOURCEPATH      ../src
-SOURCE          rsfwremoteaccess.cpp
-SOURCE          rsfwdirent.cpp
-SOURCE          rsfwdirentattr.cpp
-SOURCE          rsfwconnectionmanager.cpp
-SOURCEPATH      ../../MDebug/src
-SOURCE          mdebug.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE   /epoc32/include/ecom
-USERINCLUDE     ../inc
-
-LIBRARY         commdb.lib
-LIBRARY	        connmon.lib
-LIBRARY         ecom.lib
-LIBRARY         esock.lib
-LIBRARY         euser.lib
-LIBRARY         flogger.lib
-
-DEFFILE         rsfwcommon.def
-
-LANG            SC
-
-// End of File  
--- a/remotestoragefw/remotefileengine/group/rsfwcontrol.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:  Project definition file for project Remote File Engine Control API
-*
-*/
-
-#include <platform_paths.hrh>
-
-CAPABILITY	ALL -TCB
-
-TARGET		rsfwcontrol.dll
-TARGETTYPE	dll
-UID		0x1000008d 0x101F976C
-
-SOURCEPATH	../src
-SOURCE		rsfwcontrol.cpp
-
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE     ../inc
-
-LIBRARY		euser.lib
-
-DEFFILE		rsfwcontrol.def
-
-LANG		SC
-
-
-
-// End of File  
--- a/remotestoragefw/remotefileengine/group/rsfwsession.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  Project definition file for project Remote File Engine Access API
-*
-*/
-
-
-#include <platform_paths.hrh>
-// Must have TCB as is used by the File Server process
-CAPABILITY      ALL
-
-TARGET          rsfwsession.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x101F976B
-
-SOURCEPATH      ../src
-SOURCE          rsfwsession.cpp
-SOURCE          rsfwinterface.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-USERINCLUDE     ../inc
-
-LIBRARY         euser.lib
-LIBRARY         estor.lib 
-
-DEFFILE         rsfwsession.def
-
-LANG            SC
-
-// End of File
-
-
-
-
-
--- a/remotestoragefw/remotefileengine/inc/mydebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug definitions for Remote File Engine
- *
-*/
-
-
-#ifndef MYDEBUG_H
-#define MYDEBUG_H
-
-// Debug defines for Remote File Engine
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "rfe");
-_LIT(KDebugFileName, "rfe.txt");
-
-#endif // MYDEBUG_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwattributerefreshingstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2005-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:  States that need to refresh file or directory attributes
-*
-*/
-
-#ifndef C_RSFW_ATTRIBUTEREFRESHINGSTATEMACHINE_H
-#define C_RSFW_ATTRIBUTEREFRESHINGSTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-
-// FORWARD DECLARATIONS
-class CRsfwDirEntAttr;
-
-/**
- *  Parent class for operations that need to refresh file or 
- *	directory attributes.
- *
- */
- class CRsfwAttributeRefreshingStateMachine : public CRsfwRfeStateMachine   
-    {
- public:
-    ~CRsfwAttributeRefreshingStateMachine(); 
- public:
-    // file or directory attributes
-    CRsfwDirEntAttr* iDirEntAttr;
-    // The old attributes for a cached file or directory.  
-    // Comparing the tells whether the actual data must 
-    // be fetched from the server.
-    CRsfwDirEntAttr* iDirEntAttrOld;    
-    };
-
-
-#endif // C_RSFW_ATTRIBUTEREFRESHINGSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwclosestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for closing a file
-*
-*/
-
-
-#ifndef C_RSFW_CLOSESTATEMACHINE_H
-#define C_RSFW_CLOSESTATEMACHINE_H
-
-
-#include "rsfwwaitnotestatemachine.h"
-#include "rsfwsavetodlgrequest.h"
-
-/**
- *  State machine for closing a file
- *
- *  Consists of following states:
- *	- File is written to the server
- *	- Possible lock is released
- *	- If writing fails, file becomes "dirty" and
- *		is saved locally.
- *
- */
-
-class CRsfwCloseStateMachine : public CRsfwWaitNoteStateMachine
-    {
-public:
-    CRsfwCloseStateMachine();
-    ~CRsfwCloseStateMachine();
-        
-public:
-    // STATES
-    class TReleaseLockState : public CRsfwCloseStateMachine::TState
-        {
-    public:
-        TReleaseLockState(CRsfwCloseStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwCloseStateMachine* iOperation;
-        };
-        
-    class TSaveLocallyState : public CRsfwCloseStateMachine::TState
-        {
-    public:
-        TSaveLocallyState(CRsfwCloseStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-    	CRsfwCloseStateMachine* iOperation;
-    	TRsfwSaveToDlgRequest iSaveToRequest;
-        TBuf<KRsfwMaxFileSizeString> iFileSizeString;
-        };
-    
-public: 
-    TState* CompleteRequestL(TInt aError);
-    TState* ErrorOnStateEntry(TInt aError);
-
-public:
-	TInt iFlags;
-  };
-
-
-
-#endif // C_RSFW_CLOSESTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwcommon.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Definitions that are common to the Access API and Control API
- *
-*/
-
-#ifndef RSFWCOMMON_H
-#define RSFWCOMMON_H
-
-// INCLUDES
-#include <e32std.h>
-
-// names needed when starting the server.
-_LIT(KRfeSemaphoreName, "RfeSemaphore");
-// the name of the server, used in Connect()
-_LIT(KRfeServerName, "remotefe");
-
-// special values for IAP selection
-_LIT(KIapDefaultPreferences, "*");
-_LIT(KIapAskUser,            "?");
-
-// the server version
-// A version must be specified when creating a session with the server
-const TUint KRfeMajorVersionNumber = 0;
-const TUint KRfeMinorVersionNumber = 1;
-const TUint KRfeBuildVersionNumber = 1;
-
-// DATA TYPES
-// opcodes used in message passing between client and server
-// opcodes used in message passing between client and server
-enum TRfeRqst
-    {
-    ERfeRequest,
-    EAsynchRequest,
-    EMount,
-    EMountByDriveLetter,
-    EDismountByVolumeId,
-    EDismountByDriveLetter,
-    EGetMountList,
-    EGetMountInfo,
-    ESetMountConnectionState,
-    EDirRefresh,
-    ECancelAll,
-    ERenameReplace,
-    ESetAttr,
-    EFsIoctl,
-    EGetAttr,
-    EOpenByPath,
-    EFsRoot,
-    EMkDir,
-    ERemoveDir,
-    ECreateFile,
-    ERemove,
-    ELookUp,
-    EClose,
-    EFlush,
-    EFetch,
-    EFetchData,
-    EOkToWrite,
-    EMaxRfeOperations
-    };
-
-#endif  // RSFWCOMMON_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwconnectionmanager.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Connection manager
- *
-*/
-
-
-#ifndef CRSFWCONNECTIONMANAGER_H
-#define CRSFWCONNECTIONMANAGER_H
-
-// INCLUDES
-#include <commdb.h>
-#include <rconnmon.h>
-#include <es_sock.h>
-
-// FORWARD DECLARATIONS
-
-// DATA TYPES
-// Connection event types for MRsfwConnectionObserver
-enum TRsfwConnectionObserverEventConnection
-    {
-    ERsfwConnectionObserverEventConnectionDisconnected = 0,
-    ERsfwConnectionObserverEventConnectionWeaklyConnected,
-    ERsfwConnectionObserverEventConnectionStronglyConnected
-    };
-
-enum TRsfwConnectionManagerConnectionQuality
-    {
-    ERsfwConnectionQualityNull = 0,
-    ERsfwConnectionQualityStrong
-    };
-
-// IAP selection algorithms
-enum TRsfwConnectionManagerIapSelection
-    {
-    ERsfwIapSelectionAskUser = 0,            // show the IAP selection menu
-    ERsfwIapSelectionUseDefaultPreferences,  // use CommDB preferences
-    ERsfwIapSelectionExplicit                // use explicit list
-    };
-
-// CLASS DECLARATION
-class TIapInfo
-    {
-public:
-    TBuf<KCommsDbSvrMaxColumnNameLength> iName;
-    TUint32                              iId;
-    TBuf<KCommsDbSvrMaxColumnNameLength> iNetworkName;
-    TBuf<KCommsDbSvrMaxColumnNameLength> iServiceName;
-    TBuf<KCommsDbSvrMaxColumnNameLength> iSsId;
-    TBuf<KCommsDbSvrMaxColumnNameLength> iBearerType;
-    TInt                                 iBearerQuality;  // weak/strong
-    };
-
-// CLASS DECLARATION
-class MRsfwConnectionObserver
-    {
-public:
-    virtual void HandleConnectionEventL(TInt aConnectionEventType,
-                                        TAny* aArg) = 0;
-    };
-
-// CLASS DECLARATION
-// This class manages the link layer for the Rsfw remote access modules.
-//
-// The primary input is a list of access point names that are assumed
-// to be in preference order. However,
-// 1) if the list only contains a "*" string,
-//    static commdb preference order will be used, or else
-// 2) if the list is empty,
-//    the user will be prompted for an access point
-//
-class CRsfwConnectionManager: public CActive
-    {
-public:
-    // Ownership of aIapNames moves to RsfwConnectionManager
-    IMPORT_C static CRsfwConnectionManager* NewL(
-        MRsfwConnectionObserver* aConnectionObserver);
-    IMPORT_C virtual ~CRsfwConnectionManager();
-    IMPORT_C void UseIapL(const TDesC& aIap);
-    IMPORT_C TInt GetConnection(RSocketServ*& aSocketServ, RConnection*& aConnection);
-
-private:
-    CRsfwConnectionManager();
-    void ConstructL(MRsfwConnectionObserver* aConnectionObserver);
-    TInt LoadIapInfoL(TIapInfo& aIapInfo);
-    TInt StartConnection(TUint32 aIapId, TCommDbDialogPref aDialogPreference);
-    void HandleDisconnectionEventL();
-    
-    // functions related to timer for GPRS 'suspend' event
-    static TInt SuspensionTimerExpiredL(TAny* aArg);
-    void StartSuspensionTimer();
-    void StopSuspensionTimer();
-    
-    
-    // from CActive
-	void RunL();
-	TInt RunError(TInt aError);
-	void DoCancel();
-
-private: // Data
-    RSocketServ               iSocketServ;
-    RConnection               iConnection;
-    MRsfwConnectionObserver*  iConnectionObserver;
-    TInt                      iIapSelection;        // IAP selection policy
-    RArray<TIapInfo>          iIaps;                // allowed IAPs, if any
-    TPckgBuf<TNifProgress>    iProgress; 
-    CPeriodic*                iSuspensionTimer;     // for GPRS 'suspend' events
-    };
-
-#endif // CRSFWCONNECTIONMANAGER_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwcontrol.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Remote File Engine Control API
-*
-*/
-
-
-
-#ifndef RRSFWCONTROL_H
-#define RRSFWCONTROL_H
-
-//  INCLUDES
-#include <f32file.h>
-#include <e32def.h>
-#include <s32strm.h>
-#include <rsfwmountman.h>
-
-// CONSTANTS
-
-// Number of message slots to reserve for this client server session.
-const TUint KDefaultMessageSlots = 4;
-
-// Mounting options
-const TUint KMountFlagNull             = 0x00;  // nothing
-const TUint KMountFlagInteractive      = 0x01;  // do user prompting
-const TUint KMountFlagAskPassword      = 0x02;  // ask the user for password
-const TUint KMountFlagOffLine          = 0x04;  // mount in disconnected mode
-const TUint KMountFlagAsync            = 0x10;  // mount asynchronously
-const TUint KMountFlagAllocDriveLetter = 0x20;  // find a free drive letter
-const TUint KMountFlagMountAtRfeOnly   = 0x40;  // mount only at the RFE
-
-// Mount states
-const TUint KMountStateDormant = 0x01; // only persistent metada on disk
-const TUint KMountStateMounted = 0x02;
-
-// Data types
-
-enum TMountControl
-    {
-    EMountControlPermanence
-    };
-    
-enum TRfeError
-    {
-    EServerNotAvailable = 3
-    };
-
-
-// CLASS DECLARATIONS
-    
-class RRsfwControl : public RSessionBase
-    {
-public: // Constructors and destructor
-    /**
-     * Constructor.
-     */
-    IMPORT_C RRsfwControl();
-    
-public: // New functions
-    /**
-     * Connect to the server and create a session.
-     * @since Series 60 3.1
-     * @param aServerName Server name.
-     * @return Standard error code.
-     */    
-    IMPORT_C TInt Connect();
-        
-    /**
-     * Get the server version number.
-     * @since Series 60 3.1
-     * @return The version number of the server.
-     */            
-    IMPORT_C TVersion Version();
-        
-    /**
-     * Mount a remote drive - synchronous version
-     * @since Series 60 3.1
-     * @param aDriveLetter - letter of the  drive to be mounted
-     * @return error code.
-     */    
-    IMPORT_C TInt Mount(TInt aDriveLetter);
-    
-    
-     /**
-     * Mount a remote drive - synchronous version
-     * @since Series 60 3.1
-     * @param aMountConfig mount configuration information
-     *   The following TRsfwMountConfig::iFlags are used in this function:
-     *     KMountFlagOffLine         mount in disconnected mode
-     * @param aStatus returned status code.
-     * @return error code.
-     */    
-    IMPORT_C TInt Mount(const TRsfwMountConfig& aMountConfig);
-    
-    /**
-     * Mount a remote drive - asynchronous version
-     * @since Series 60 3.1
-     * @param aMountConfig mount configuration information
-     *   The following TRsfwMountConfig::iFlags are used in this function:
-     *     KMountFlagOffLine         mount in disconnected mode
-     * @param aStatus returned status code.
-     * @return error code.
-     */    
-    IMPORT_C void Mount(const TRsfwMountConfig& aMountConfig,
-                        TRequestStatus& aStatus);
-    
-    /**
-     * Dismount a remote drive by referring to the id of the volume in RFE
-     * @since Series 60 3.1
-     * @param aVolumeId volume identifier (can be found in TRsfwMountInfo)
-     * @return error code.
-     */    
-    IMPORT_C TInt DismountByVolumeId(TInt aVolumeId);
-
-    /**
-     * Dismount a remote drive by referring to the drive letter
-     * @since Series 60 3.1
-     * @param aDriveLetter drive letter (can be found in TRsfwMountInfo)
-     * @return error code.
-     */    
-    IMPORT_C TInt DismountByDriveLetter(TChar aDriveLetter);
-
-    /**
-     * Get information about the specified drive
-     * @since Series 60 3.1
-     * @param aDriveLetter drive letter.
-     * @param aMountInfo to be filled.
-     * @return error code.
-     */    
-    IMPORT_C TInt GetMountInfo(const TChar& aDriveLetter,
-                               TRsfwMountInfo& aMountInfo);
-
-    /**
-     * Set mount connection state
-     * @since Series 60 3.1
-     * @param aDriveLetter drive letter.
-     * @param aState connection state:
-     *    KMountStronglyConnected or KMountNotConnected.
-     * @return error code.
-     */    
-    IMPORT_C TInt SetMountConnectionState(const TChar& aDriveLetter,
-                                          TUint aState);       
-
-
-     /**
-     * Refresh a remote directory
-     *
-     * Ensures that contents of a remote directory are up to date.
-     * Synchronous variant deletes the currently cached version.
-     * Note that this function intentionally does not return directory
-     * contents. All data should be read through the File Server instead.
-     *
-     * @param aPath the remote path
-     * @return KErrArgument Path refers to a file
-     *         KErrNotFound path is not found from cache
-     */
-    IMPORT_C TInt RefreshDirectory(const TDesC& aPath);
- 
-     /**
-     * Cancels an active remote file upload or download
-     * 
-     * @param aFile file name
-     * @return The number of remote operations cancelled
-     *         or one of the system wide error codes.
-     */    
-    IMPORT_C TInt CancelRemoteTransfer(const TDesC& aFile);
-    
-
-     /**
-     * Mount a remote drive - "blind request" version
-     * @since Series 60 3.1
-     * @param aDriveLetter - letter of the  drive to be mounted
-     * @return error code.
-     */    
-    IMPORT_C TInt MountBlind(TInt aDriveLetter);
-
-
-
-private:
-    static TInt StartServer(const TDesC& aServerName);
-    static TInt CreateServerProcess(const TDesC& aServerName);
-    TInt SendRequest(TInt aOpCode,
-                     TIpcArgs aArgs);
-    void SendRequest(TInt aOpCode,
-                     TIpcArgs aArgs,
-                     TRequestStatus& aStatus);
-
-private:
-    TIpcArgs iArgs;
-    TPckgBuf<TRsfwMountConfig> iPckgBufMountConfig; // for asynchronous ipc
-    };       
-
-
-#endif  // RRSFWCONTROL_H
- 
-// End of File 
--- a/remotestoragefw/remotefileengine/inc/rsfwcreatefilestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for creating files
-*
-*/
-
-
-#ifndef C_RSFW_CREATEFILESTATEMACHINE_H
-#define C_RSFW_CREATEFILESTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-
-/**
- *  Creates a file
- *
- *  State machine for creating a file. Possibly could be combined with 
- *	CRsfwMkDirStateMachine, the differences are not that big...
- *
- */ 
-class CRsfwCreateFileStateMachine : public CRsfwRfeStateMachine
-    {
-public: 
-    CRsfwCreateFileStateMachine();
-    ~CRsfwCreateFileStateMachine();
-        
-public:
-    
-    class TCheckIfExistsState : public CRsfwCreateFileStateMachine::TState
-        {
-    public:
-        TCheckIfExistsState(CRsfwCreateFileStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwCreateFileStateMachine* iOperation;
-        TInt iExclp;    
-        }; 
-        
-    class TCreateNodeState : public CRsfwCreateFileStateMachine::TState
-        {
-    public:
-        TCreateNodeState(CRsfwCreateFileStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwCreateFileStateMachine* iOperation;    
-        };
-      
-    class TAcquireLockState : public CRsfwCreateFileStateMachine::TState
-        {
-    public:
-        TAcquireLockState(CRsfwCreateFileStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwCreateFileStateMachine* iOperation;
-    private:
-        TBool iRequestedLock;   
-        };
-    
-public:
-    TState* CompleteRequestL(TInt aError);
-    
-    CRsfwFileEntry* iKidFep;
-    TBool iKidCreated;
-    // file open mode
-    TUint iFlags;
-    
-    // used in TCheckIfExistsState
-    CRsfwDirEntAttr* iDirEntAttr;   
-    TDesC8* iLockToken;
-    };
-
-
-#endif // C_RSFW_CREATEFILESTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwdeletestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Delete a file or directory
-*
-*/
-
-
-#ifndef C_RSFW_DELETESTATEMACHINE_H
-#define C_RSFW_DELETESTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-
-/**
- *  Deletes a file or directory
- *
- *  State machine for deleting a file or directory.
- *
- */ 
- class CRsfwDeleteStateMachine : public CRsfwRfeStateMachine
-    {
-public:
-    CRsfwDeleteStateMachine(TUint iNodeType);
-    ~CRsfwDeleteStateMachine();
-    
-public:
-    // STATES
-    // TCheckIfCanBeDeleted: 
-    // If a directory is not empty, it must not be deleted
-    class TCheckIfCanBeDeleted : public CRsfwDeleteStateMachine::TState
-        {
-    public:
-        TCheckIfCanBeDeleted(CRsfwDeleteStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwDeleteStateMachine* iOperation;  
-        };
-        
-    class TDeleteNodeState : public CRsfwDeleteStateMachine::TState 
-        {
-    public:
-        TDeleteNodeState(CRsfwDeleteStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwDeleteStateMachine* iOperation;    
-        };
-        
-public:
-    TState* CompleteRequestL(TInt aError);
-        
-    TBool iKidCreated;
-    HBufC* iKidPath;
-    CRsfwFileEntry* iKidFep;
-        
-    TUint iNodeType; // are we removing file or directory...
-    
-    // directory entries
-    // used to fetch directory contents in TCheckIfCanBeDeleted
-    RPointerArray<CRsfwDirEnt> iDirEnts;    
-    }; 
-
-
-#endif // C_RSFW_DELETESTATEMACHINE_H
--- a/remotestoragefw/remotefileengine/inc/rsfwdirent.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Directory entry container
- *
-*/
-
-
-#ifndef CRSFWDIRENT_H
-#define CRSFWDIRENT_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-class CRsfwDirEntAttr;
-
-// CLASS DECLARATION
-/**
- *  Directory entry container
- *
- *  @lib rsfwcommon.lib
- *  @since Series 60 3.1
- */
-class CRsfwDirEnt: public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor
-     * @param aName name of the entry
-     * @param aAttr attributes - if this parameter is NULL,
-     *   an attribute object with attribute values set to zero will be created.
-     *   The entry takes ownership of the attribute object.
-     */
-    IMPORT_C static CRsfwDirEnt* NewLC(const TDesC& aName, CRsfwDirEntAttr* aAttr);
-
-    /**
-     * Two-phased constructor
-     * @param aName name of the entry
-     * @param aAttr attributes - if this parameter is NULL,
-     *   an attribute object with attribute values set to zero will be created.
-     *   The entry takes ownership of the attribute object.
-     */
-    IMPORT_C static CRsfwDirEnt* NewLC(const TDesC8& aName, CRsfwDirEntAttr* aAttr);
-
-    /**
-     * Two-phased constructor.
-     * @param aName name of the entry
-     * @param aAttr attributes - if this parameter is NULL,
-     *   an attribute object with attribute values set to zero will be created.
-     *   The entry takes ownership of the attribute object.
-     */
-    IMPORT_C static CRsfwDirEnt* NewL(const TDesC& aName, CRsfwDirEntAttr* aAttr);
-
-    /**
-     * Two-phased constructor.
-     * @param aName name of the entry
-     * @param aAttr attributes - if this parameter is NULL,
-     *   an attribute object with attribute values set to zero will be created.
-     *   The entry takes ownership of the attribute object.
-     */
-    IMPORT_C static CRsfwDirEnt* NewL(const TDesC8& aName, CRsfwDirEntAttr* aAttr);
-
-    CRsfwDirEnt();
-
-    IMPORT_C ~CRsfwDirEnt();
-
-    /**
-     * Gets the name of the filesystem object
-     * @return pointer to the name
-     */
-    IMPORT_C const HBufC* Name() const;
-
-    /**
-     * Gets the name of the filesystem object
-     * @param aName name
-     */
-    IMPORT_C void GetName(TDes& aName) const;
-
-    /**
-     * Gets the name of the filesystem object
-     * @param aName name
-     */
-    IMPORT_C void GetName(TDes8& aName) const;
-
-    /**
-     * Sets the name of the filesystem object
-     * @param aName name
-     */
-    IMPORT_C void SetNameL(const TDesC& aName);
-
-    /**
-     * Sets the name of the filesystem object
-     * @param aName name
-     */
-    IMPORT_C void SetNameL(const TDesC8& aName);
-
-    /**
-     * Returns a pointer to the filesystem object's attributes
-     * @return pointer to the attributes
-     */
-    IMPORT_C CRsfwDirEntAttr* Attr() const;
-
-    /**
-     * Returns a pointer to the filesystem object's attributes
-     * The ownership to the attribute object is transferred to the caller
-     * @return pointer to the attributes
-     */
-    IMPORT_C CRsfwDirEntAttr* ExtractAttr();
-
-    /**
-     * Sets the attribute object for the directory entry.
-     * The pre-existing attribute object is deleted (if owned by the entry).
-     * The directory entry gets ownership of the new attribute object.
-     * If the aAttr parameter is NULL,
-     * an attribute object with default values is created.
-     * @param pointer to the attribute object
-     */
-    IMPORT_C void SetAttrL(CRsfwDirEntAttr* aAttr);
-
-private:
-    void ConstructL(const TDesC& aName, CRsfwDirEntAttr* aAttr);
-    void Construct8L(const TDesC8& aName, CRsfwDirEntAttr* aAttr);
-
-private:
-    HBufC*              iName;         // name
-    CRsfwDirEntAttr*    iAttr;         // attributes
-    TBool               iNotOwnAttr;   // we do not own the attributes (extracted)
-    };
-
-#endif // CRSFWDIRENT_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwdirentattr.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Directory entry container
- *
-*/
-
-
-#ifndef CRSFWDIRENTATTR_H
-#define CRSFWDIRENTATTR_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
- *  Filesystem object attribute container
- *  The attribute setting operations on this class
- *  do not affect any external objects -
- *  only the internal state of the object will be changed.
- *  Similarily, attribute getting operations only reflect the
- *  state of the object.
- *
- *  @lib rsfwcommon.lib
- *  @since Series 60 3.1
- */
-class CRsfwDirEntAttr: public CBase
-    {
-public:
-    enum TDirEntAttrString
-        {
-        EDirEntAttrStringMimeType = 0,
-        EDirEntAttrStringETag,
-        EDirEntAttrStringReserved,
-        EDirEntAttrStringCount
-        };
-
-public:
-    /**
-     * Two-phased constructor
-     */
-    IMPORT_C static CRsfwDirEntAttr* NewLC();
-
-    /**
-     * Two-phased constructor.
-     * The attribute values are zeroed
-     */
-    IMPORT_C static CRsfwDirEntAttr* NewL();
-
-    CRsfwDirEntAttr();
-
-    IMPORT_C ~CRsfwDirEntAttr();
-
-    /**
-     * Gets file or directory attribute bits
-     * (for SymbianOS standard bit definitions, see f32file.h)
-     * @return attribute bits
-     */
-    IMPORT_C TUint Att() const;
-
-    /**
-     * Sets file or directory attribute bits
-     * (for SymbianOS standard bit definitions, see f32file.h)
-     * @param aAtt attribute bits
-     */
-    IMPORT_C void SetAtt(TUint aAtt);
-
-    /**
-     * Sets the given file or directory attribute bits to 1
-     * (for SymbianOS standard bit definitions, see f32file.h)
-     * @param aFlags attribute bits
-     */
-    IMPORT_C void SetAttFlags(TUint aFlags);
-
-    /**
-     * Resets the given file or directory attribute bits to 0
-     * (for SymbianOS standard bit definitions, see f32file.h)
-     * @param aFlags attribute bits
-     *   (those bits are cleared that are set in aFlags)
-     */
-    IMPORT_C void ResetAttFlags(TUint aFlags);
-
-    /**
-     * Returns the size of the filesystem object
-     * @return size in bytes
-     */
-    IMPORT_C TInt Size() const;
-
-    /**
-     * Sets the size of the filesystem object
-     * @param aSize size in bytes
-     */
-    IMPORT_C void SetSize(TInt aSize);
-
-    /**
-     * Returns the last modified time of the filesystem object
-     * @return last modified time
-     */
-    IMPORT_C TTime Modified() const;
-
-    /**
-     * Sets the last modified time of the filesystem object
-     * @param aModified last modified time
-     */
-    IMPORT_C void SetModified(const TTime& aModified);
-
-    /**
-     * Returns the UID3 of the filesystem object
-     * @return UID value
-     */
-    IMPORT_C const TUid& Uid();
-
-    /**
-     * Sets the UID3 time of the filesystem object
-     * @param aUid UID value
-     */
-    IMPORT_C void SetUid(TUid aUid);
-
-    /**
-     * Returns a string value at the given index
-     * @param aIndex index
-     * @return string value
-     */
-    IMPORT_C const TDesC8* StringValue(TInt aIndex) const;
-
-    /**
-     * Sets a string value at the given index
-     * @param aIndex index
-     * @param string value
-     */
-    IMPORT_C void SetStringValueL(TInt aIndex, const TDesC8& aString);
-
-    /**
-     * Gets the MIME type
-     * @return MIME type string
-     */
-    IMPORT_C const TDesC8* MimeType() const;
-
-    /**
-     * Sets the MIME type
-     * @param aMimeType MIME type string
-     */
-    IMPORT_C void SetMimeTypeL(const TDesC8& aMimeType);
-
-    /**
-     * Gets the ETag
-     * @return ETag string
-     */
-    IMPORT_C const TDesC8* ETag() const;
-
-    /**
-     * Sets the ETag type
-     * @param aETag ETag type string
-     */
-    IMPORT_C void SetETagL(const TDesC8& aETag);
-
-private:
-    void ConstructL();
-
-private:
-    TUint iAtt;                                    // attribute bits
-    TInt iSize;                                    // file size in bytes
-    TTime iModified;                               // last modified         
-    TUid iUid;                                     // Symbian data-type (UID3)
-    HBufC8* iStringValues[EDirEntAttrStringCount]; // string values
-    };
-
-
-#endif // CRSFWDIRENTATTR_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwdormantmountloader.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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:  class for restoring dormant mounts asynchronously when server starts
-*
-*/
-
-
-#ifndef C_RSFWDORMANTMOUNTLOADER_H
-#define C_RSFWDORMANTMOUNTLOADER_H
-
-// INCLUDES
-#include <e32base.h>
-#include "rsfwvolumetable.h"
-
-
-// how many microseconds after server startup
-// we start to restore the dormant mounts.
-#define KDormantLoaderDelay 1000000 // 1s
-
-// CLASS DECLARATION
-
-/**
-*  Crsfwdormantmountloader class
-*
-*  This class is for doing stuff asynchronously when loading dormant 
-*  mounts at server startup. When server is started, dormant mounts
-*  are loaded. However, if there is something that takes more time
-*  it can be done synchronously while client is waiting for server to start.
-*  
-*  Currently only such operation is saving "dirty" files to the local cache
-*/
-class CRsfwDormantMountLoader : public CActive                                       
-    {
- public: // Constructors and destructor
-
-        /**
-        * Symbian OS two-phased constructor
-        * @return Pointer to this component.
-        */
-        IMPORT_C static CRsfwDormantMountLoader* NewL(CRsfwVolumeTable *aTheTable);
-
-        /**
-        * C++ default destructor.
-        */
-        virtual ~CRsfwDormantMountLoader();
-
- private:
-
-        /**
-        * C++ default constructor.
-        */
-        CRsfwDormantMountLoader();
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL(CRsfwVolumeTable *aTheTable);
-
-
- private: // New functions
-
-        void ResolveDirtyFilesL();
-        
-   
-private:    // Functions from base classes
-
-        /**
-        * Handles an active object’s request completion event.
-        */
-        void RunL();  
-
- 		/**
-    	*Implements cancellation of an outstanding request.
-		*/
-		void DoCancel();
-
- 		/**
-    	* Called in case RunL() leaves
-		*/
-        TInt RunError(TInt aError);
-        
-private:    // Data
-        RTimer  iTimer;
-        CRsfwVolumeTable* iVolumeTable;
-	  
-    };
-
-#endif  // REMOTEWAITNOTEMANAGER_H
-
-// End of File
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwfetchandcachestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for fetching and caching files and directories
-*
-*/
-
-
-#ifndef C_RSFW_FETCHANDCACHESTATEMACHINE_H
-#define C_RSFW_FETCHANDCACHESTATEMACHINE_H
-
-#include "rsfwwaitnotestatemachine.h"
-
-/**
- *  State machine for fetching and caching files and directories
- *
- */
-class CRsfwFetchAndCacheStateMachine : public CRsfwWaitNoteStateMachine
-    {
-public:
-    CRsfwFetchAndCacheStateMachine();
-    TState* ErrorOnStateExit(TInt aError);
-
-public:
-    // STATES
-    // Before DoFetch we call UpdateAttributesL,
-    // where it is decided whether cached data is used...
-    // so this operation has only one state that fetches the data -
-    // possibly from the server or then from the local cache
-    class TFetchDataState : public CRsfwFetchAndCacheStateMachine::TState
-        {
-    public:
-        TFetchDataState(CRsfwFetchAndCacheStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwFetchAndCacheStateMachine* iOperation;
-        };
-        
-public:
-    TState* CompleteRequestL(TInt aError);
-
-public:
-    // input params
-    // the first byte requested
-    // = the current cached size
-    TInt iFirstByte;
-
-    // output params:
-    // last byte of the container file after fetch
-    TInt iLastByte;
-    
-    // directory entries, when used to fetch directory contents...
-    RPointerArray<CRsfwDirEnt> iDirEnts;
-    
-    // length of the data fetched
-    TInt iLength;
-   
-    };
-
-#endif // C_RSFW_FETCHANDCACHESTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwfetchdatastatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for fetching data without caching it permanently
-*
-*/
-
-#ifndef C_RSFW_FETCHDATASTATEMACHINE_H
-#define C_RSFW_FETCHDATASTATEMACHINE_H
-
-#include "rsfwwaitnotestatemachine.h"
-
-/**
- *  State machine for fetching data without caching it permanently.
- *
- *  Fetches data to a temporary cache file, i.e. the data
- *  does not become part of the permanent cache.
- *
- */
-class CRsfwFetchDataStateMachine : public CRsfwWaitNoteStateMachine
-    {
-public:
-    CRsfwFetchDataStateMachine();
-    
-public:
-    // STATES
-    class TFetchDataState : public CRsfwFetchDataStateMachine::TState
-        {
-    public:
-        TFetchDataState(CRsfwFetchDataStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwFetchDataStateMachine* iOperation;
-        };
-public:
-    TState* CompleteRequestL(TInt aError);
-    
-public:
-    // directory entries, when used to fetch directory contents...
-    RPointerArray<CRsfwDirEnt> iDirEnts;
-    // output params
-    TDesC* iCacheName;
-    TInt iLength;
-    };
-
-#endif // C_RSFW_FETCHDATASTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwfile.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  New file attributes defined in the subsystem
- *
-*/
-
-
-#ifndef RSFW_FILE_H
-#define RSFW_FILE_H
-
-// CONSTANTS
-// Other file attributes are defined in \epoc32\include\f32file.h and
-// f32\inc\common.h
-// KEntryAttCachePriorityHigh is reserved for possible "briefcase" use cases
-const TUint KEntryAttCachePriorityHigh=0x10000; // bit 16
-
-
-// A file attribute that marks the file as having been modified.
-// from common.h
-const TUint KEntryAttModified=0x20000000;
-
-#endif // RSFW_FILE_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwfileengine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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:  Operation independent remote file handling functions
-*
-*/
-
-#ifndef C_RSFWFILEENGINE_H
-#define C_RSFWFILEENGINE_H
-
-#include "rsfwinterface.h"
-#include "rsfwremoteaccess.h"
-
-class CRsfwLockManager;
-class TDirEnt;
-class CRsfwFileTable;
-class CRsfwRfeStateMachine;
-class CRsfwVolume;
-class CRsfwFileEntry;
-
-// Default values for various operation parameters
-const TInt KDefaultMaxCacheSize             = (16 * 1024 * 1024); // 16 MB
-const TInt KDefaultMaxEntryCount            = 1024;
-const TInt KDefaultCacheValidity            = 30;            // in seconds
-const TInt KDefaultDirCacheValidity         = 30;
-const TInt KDefaultRecognizerLimit          = 256;
-const TInt KDefaultJpegLimit                = 0;            
-const TInt KDefaultMpegLimit                = 10000;
-
-
-class CRsfwFileEngine: public CBase, public MRsfwRemoteAccessObserver
-    {
-public:
-    static CRsfwFileEngine* NewL(CRsfwVolume* aVolume);
-    static CRsfwFileEngine* NewLC(CRsfwVolume* aVolume);
-    ~CRsfwFileEngine();
-    
-    void DispatchL(TRfeInArgs& aIn, TRfeOutArgs& aOut);
-    HBufC* FullNameLC(CRsfwFileEntry& aFe);
-    HBufC* FullNameL(CRsfwFileEntry& aFe);
-    void SetupAttributes(CRsfwFileEntry& aFe);
-    void MakeDirectoryEntry(CRsfwFileEntry& aFe, TDirEnt& aDirEnt);
-    void UpdateDirectoryContainerL(CRsfwFileEntry& aFe);
-    TBool DataChanged(const CRsfwDirEntAttr& oldAttr, const CRsfwDirEntAttr& newAttr);
-    TBool UseCachedData(CRsfwFileEntry& aFe);    
-    TBool UseCachedAttributes(CRsfwFileEntry& aFe);
-    void GetAttributesL(CRsfwFileEntry& aFe,
-                        CRsfwDirEntAttr*& aAttr,
-                        TUint aNodeType, 
-                        CRsfwRfeStateMachine* aCaller = NULL);
-    void UpdateAttributesL(TDesC& aPath,
-                           TDesC& aName,
-                           CRsfwDirEntAttr*& aAttr,
-                           TUint aNodeType,
-                           MRsfwRemoteAccessResponseHandler* aCaller = NULL);
-    void UpdateAttributesL(CRsfwFileEntry& aFe, 
-                           CRsfwDirEntAttr*& aAttr, 
-                           TUint aNodeType, 
-                           MRsfwRemoteAccessResponseHandler* aCaller = NULL);
-    void UpdateAttributesL(TDesC& aFullPath, 
-                           CRsfwDirEntAttr*& aAttr, 
-                           TUint aNodeType, 
-                           MRsfwRemoteAccessResponseHandler* aCaller = NULL);
-    void CreateContainerFileL(CRsfwFileEntry& aFe);
-    TUint FetchAndCacheL(CRsfwFileEntry& aFe,
-                        TInt aFirstByte,
-                        TInt* aLength, 
-                        RPointerArray<CRsfwDirEnt>* aDirEntsp,
-                        CRsfwRfeStateMachine* aCaller = NULL);                                                         
-    TUint RequestConnectionStateL(TUint aConnectionState,
-                                 CRsfwRfeStateMachine* aCaller = NULL);                                                                  
-    void EnteredConnectionStateL(TUint aConnectionState, TBool aRequested);
-    TUint ConnectionState();
-    CRsfwLockManager* LockManager();       
-    void SetPermanenceL(TBool aPermanence);
-    TBool Disconnected();
-    TBool WriteDisconnected();
-    TInt AddToCacheL(CRsfwFileEntry& aFe, 
-                     RPointerArray<CRsfwDirEnt>* aDirEnts, 
-                     CRsfwFileEngine *aFileEngine, 
-                     TUint cachedSize);
-    CRsfwRemoteAccess* RemoteAccessL();
-    void OperationCompleted();
-    void CancelTransactionL(TDesC& aPathName);
-    void CancelTransaction(TUint aTransactionId);
-    void SetFailedLookup(TDesC& aPath, TDesC& aKidName); 
-    void ResetFailedLookup();
-    CRsfwVolume* Volume();
-    TInt PurgeFromCache(const TDesC& aPath);
-    HBufC8* GetContentType(TDesC& aName); 
-    CRsfwFileEntry* FetchFep(const TDesC& aPath);
-
-private:
-    void ConstructL(CRsfwVolume* aVolume);
-    void PrepareCacheL();
-    TInt UpdateDirectoryL(CRsfwFileEntry& aFe, TDesC* aFullName);
-    TInt UpdateDirectoryL(CRsfwFileEntry& aFe);
-    TUint GetDirectoryL(CRsfwFileEntry& aFe,
-                       TDesC& aFullName,
-                       RFile& aF,
-                       RPointerArray<CRsfwDirEnt>* aDirEntsp, 
-                       MRsfwRemoteAccessResponseHandler* aCaller = NULL);
-    void BuildContainerPathL(CRsfwFileEntry& aFe, TDes& aPath);
-    void ApplyMultiDirCacheL(TDes& aPath); 
-    void CreateContainerFileL(CRsfwFileEntry& aFe, TDes& aPath, RFile& aF);
-    void DoCreateL(TRfeCreateInArgs& aIn, TRfeCreateOutArgs& aOut);
-    void DoIoctlL(TRfeIoctlInArgs& aIn,TRfeOutArgs& aOut);
-    void DoRootL(TRfeRootInArgs& aIn, TRfeRootOutArgs& aOut);
-    void DoSetAttrL(TRfeSetAttrInArgs& aIn, TRfeOutArgs& aOut);
-    void SetupRootL(TBool aPermanence);
-    void CleanupCorruptedCacheL();
-    TUint ConnectL(TBool aRestart, CRsfwRfeStateMachine* aCaller = NULL);
-    void DisconnectL();
-    void StartInactivityTimer();
-    void StopInactivityTimer();
-    static TInt InactivityTimerExpired(TAny* aArg);
-   
-    
-    // the purpose of these functions is to give capability info
-    // for the access protocol plugin used
-    
-    // whether getting the directory listing also gives reliable file metadata
-    TBool DirectoryListingContainsFileMetadata();
-    
-    // from MRsfwRemoteAccessObserver
-    void HandleRemoteAccessEventL(TInt aEventType, TInt aEvent, TAny* aArg);
-
-public:
-    CRsfwFileTable*    iFileTable;         // table of known vnodes, by fid
-    TUint          iConnectionState;   // connection state
-    CRsfwRemoteAccess* iRemoteAccess;      // remote file transport module
-    CRsfwLockManager*  iLockManager;       // implement locking for files
- 
-private:
-    
-	// Data
-    CRsfwFileEntry*    iRootFep;           // root file entry
-    CRsfwVolume*       iVolume;            // volume info
-    const TFid*    iRootFid;           // root file id
-    TFileName      iCacheRoot;         // location of local cache files
-    RFs            iFs;                // fileserver handle
-    TInt           iInactivityTimeout; // inactivity timeout
-    CPeriodic*     iInactivityTimer;   // remote access inactivity watch dog
-    TBool          iConnectionStateChanged;
-    TFileName      iLastFailedLookup;   // path of the last failed lookup, cached 
-    TTime          iLookupTime; 		// then this failed lookup happened      
-    };
-
-
-#endif
--- a/remotestoragefw/remotefileengine/inc/rsfwfileentry.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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:  data struct for a remote file metadata
-*
-*/
-
-
-#ifndef C_RSFWFILEENTRY_H
-#define C_RSFWFILEENTRY_H
-
-#include "rsfwinterface.h"
-#include "rsfwlrulistnode.h"
-
-class TDirEntAttr;
-class CRsfwLockManager;
-class CRsfwDirEntAttr;
-class CRsfwFileTable;
-
-
-class CRsfwFileEntry: public CBase
-    {
-    friend class CRsfwFileTable;
-    friend class CRsfwVolumeTable;
-    friend class CRsfwLockManager;
-
-public:
-    ~CRsfwFileEntry();
-    static CRsfwFileEntry* NewLC(const TDesC& aName, CRsfwFileEntry* aParent);
-    static CRsfwFileEntry* NewL(const TDesC& aName, CRsfwFileEntry* aParent);
-    static CRsfwFileEntry* NewL(RReadStream& aStream);
-
-    CRsfwFileEntry* FindKidByName(const TDesC& aName);
-    void RenameL(const TDesC& aName);
-    void AddKid(CRsfwFileEntry& aFe);
-    TInt RemoveKidL(CRsfwFileEntry* aFep);
-    TInt KidsCount();
-    void UnmarkKids();
-    void DropUnmarkedKidsL();
-    void DropLD();
-    void GetAttributes(TDirEntAttr& aAttr) const;
-    void GetAttributesL(CRsfwDirEntAttr& aAttr) const;
-    void SetAttributesL(CRsfwDirEntAttr& aAttr, TBool aAllMetaData);
-    TDesC* CacheFileName();
-    void SetCacheFileName(TDesC* aFn);
-    TBool IsCached() const;
-    TBool IsFullyCached() const;
-    void SetCached(TBool aCached);
-    void SetCachedSize(TInt aFetchedSize);
-    void RemoveCacheFile();
-    void ValidateCacheFile();
-    void PrintL(TInt aLevel, TBool aKids, TBool aall) const;
-    HBufC* FullNameLC() const;
-    TInt TotalCachedSize();
-    TInt TotalEntryCount();
-    CRsfwFileEntry* Lookup(const TFid& aFid);
-    void SetLockedL(CRsfwLockManager* aLockManager, TDesC8* aLockToken);
-    void RemoveLocked();
-    static int LockTimerExpiredL(TAny* aParam);
-    TBool UseCachedData();
-    void SetAttribValidationTime();
-    void ExternalizeL(RWriteStream& aStream) const;
-    void InternalizeL(RReadStream& aStream);
-    void SetType(TUint8 aType);
-    void SetSize(TInt aSize);
-    void SetModified(const TTime& aModified);
-    void SetAtt(TUint aAtt);
-    void SetMimeTypeL(const TDesC8& aMimeType);
-    void SetOpaqueFileIdL(const TDesC8& aOpaqueFileId);
-    TBool IsLocallyDirty() const;
-    TBool IsCancelled() const;
-    void SetLocallyDirty();
-    void ResetLocallyDirty();
-    TBool RemotelyDirty() const;
-    void SetRemotelyDirty();
-    void ResetRemotelyDirty();
-    void SetNewlyCreated();
-    void ResetNewlyCreated();
-    TBool IsNewlyCreated() const;
-    TBool IsMarked() const;
-    void Mark();
-    void Unmark();
-    void SetFlags(TUint aFlags);
-    void ResetFlags(TUint aFlags);
-    void SetOpenedForWriting(TBool aOpenedForWriting);
-    TBool IsOpenedForWriting() const;
-    // for a remote file which has been locally modified, but not yet written back to the
-    // server the cache file is set as read only until the file has been resolved
-    TBool IsLocked() const;
-    void ReportEvent(TInt aEvent);
-    inline const TFid& Fid() const;
-    inline void SetFid(const TFid& aFid);
-    inline const TDesC* Name() const;
-    inline TUint8 Type() const;
-    inline TInt Size() const;
-    inline TTime Modified() const;
-    inline TUint Att() const;
-    inline const TDesC8* MimeType() const;
-    inline const TDesC8* OpaqueFileId() const;
-    inline void SetUid(TUid anUid);
-    inline CRsfwFileEntry* Parent();
-    inline void SetParent(CRsfwFileEntry* aFep);
-    inline TInt CachePriority() const;
-    inline TBool IsFlagged(TUint aFlag) const;
-    inline RPointerArray<CRsfwFileEntry>* Kids();
-    inline const TDesC8* LockToken();
-    inline const TDesC* ProtectionDomainName() const;
-    inline void SetCachePriority(TCachePriority);
-    inline TInt ProtectionDomainId() const;
-    void ResolveDirtyFilesL();
-
-private:
-    void ConstructL(const TDesC& aName, CRsfwFileEntry* aParent);
-    void ConstructL(RReadStream& aStream);
-    
-    void SetLockTimeout();
-
-public:
-
-    // how much has been cached
-    TInt                    iCachedSize;
-
-    // when the file attributes have been fetched from the server
-    TTime                   iAttribValidation;
-
-    // uid of the symbian app which handles this datatype
-    TUid                    iUid;
-
-    // Timer associated with a possible file locked
-    CPeriodic*              iLockTimer;
-
-
-protected:
-    RPointerArray<CRsfwFileEntry> iKids;             // contained files and dirs
-
-private:
-    TFid                    iFid;            // id
-    HBufC*                  iName;           // name
-    TInt                    iSize;           // file size in bytes
-    TUint                   iAtt;            // attribute bits
-    TUint                   iFlags;          // local state
-    TTime                   iModified;       // last modified
-    TUint8                  iType;           // type (unknown, file, dir)
-    HBufC8*                 iMimeType;       // MIME type
-    HBufC8*                 iOpaqueFileId;   // e.g. ETag in WebDAV
-    CRsfwFileEntry*             iParent;         // parent dir
-    TBuf<KMaxPath>  iCacheName;   // local cache filename
-    TDesC8*                 iLockToken;      // lock token
-    // cache priority is currently always KCachePriorityNormal
-    TInt                    iCachePriority;
-    
-    // Lock timeout for this locked file
-    // In practise we need to store this per-file
-    // as server may always ignore our request
-    // and e.g. mod_dav allows setting different min timeout
-    // for different directories.
-    TUint                   iLockTimeout;
-
-public:
-    // pointer to lock manager that can be called to refresh the lock
-    CRsfwLockManager*           iLockManager;
-    TBool                   iUseCachedData;
-    // only used at recovery when iParent is not set (yet)
-    TInt                    iParentNodeId;
-    // the table in which the entry belongs
-    CRsfwFileTable*             iFileTable;
-    };
-
-#include "rsfwfileentry.inl"
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwfileentry.inl	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +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:  inlines for file entry data structure
-*
-*/
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Fid
-// ----------------------------------------------------------------------------
-// 
-inline const TFid& CRsfwFileEntry::Fid() const
-    {
-    return iFid;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetFid
-// ----------------------------------------------------------------------------
-//     
-inline void CRsfwFileEntry::SetFid(const TFid& aFid)
-    {
-    iFid = aFid;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Name
-// ----------------------------------------------------------------------------
-// 
-inline const TDesC* CRsfwFileEntry::Name() const
-    {
-    return iName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Type
-// ----------------------------------------------------------------------------
-// 
-inline TUint8 CRsfwFileEntry::Type() const
-    {
-    return iType;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Size
-// ----------------------------------------------------------------------------
-// 
-inline TInt CRsfwFileEntry::Size() const
-    {
-    return iSize;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Modified
-// ----------------------------------------------------------------------------
-// 
-inline TTime CRsfwFileEntry::Modified() const
-    {
-    return iModified;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Att
-// ----------------------------------------------------------------------------
-// 
-inline TUint CRsfwFileEntry::Att() const
-    {
-    return iAtt;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::MimeType
-// ----------------------------------------------------------------------------
-// 
-inline const TDesC8* CRsfwFileEntry::MimeType() const
-    {
-    return iMimeType;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::OpaqueFileId
-// ----------------------------------------------------------------------------
-// 
-inline const TDesC8* CRsfwFileEntry::OpaqueFileId() const
-    {
-    return iOpaqueFileId;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetUid
-// ----------------------------------------------------------------------------
-// 
-inline void CRsfwFileEntry::SetUid(TUid anUid) 
-    {
-    iUid = anUid;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Parent
-// ----------------------------------------------------------------------------
-// 
-inline CRsfwFileEntry* CRsfwFileEntry::Parent()
-    {
-    return iParent;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetParent
-// ----------------------------------------------------------------------------
-// 
-inline void CRsfwFileEntry::SetParent(CRsfwFileEntry* aParent)
-    {
-    // This meta data event is handle in kid Add/Remove functions
-    iParent = aParent;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::CachePriority
-// ----------------------------------------------------------------------------
-// 
-inline TInt CRsfwFileEntry::CachePriority() const
-    {
-    return iCachePriority;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsFlagged
-// ----------------------------------------------------------------------------
-// 
-inline TBool CRsfwFileEntry::IsFlagged(TUint aFlag) const
-    {
-    return (iFlags & aFlag) != 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Kids
-// ----------------------------------------------------------------------------
-// 
-inline RPointerArray<CRsfwFileEntry>* CRsfwFileEntry::Kids()
-    {
-    return &iKids;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::LockToken
-// ----------------------------------------------------------------------------
-// 
-inline const TDesC8* CRsfwFileEntry::LockToken()
-    {
-    return iLockToken;
-    }
-
- 
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwfiletable.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:  data struct for remote files metadata
-*
-*/
-
-
-#ifndef C_RSFWFILETABLE_H
-#define C_RSFWFILETABLE_H
-
-#include <e32base.h>
-#include <f32file.h>
-#include "rsfwmetadatastore.h"
-
-class CRsfwVolume;
-class CRsfwFileEntry;
-class TFid;
-class TMetaDataEvent;
-
-/**  file where permanent metadata is stored */
-_LIT(KMetaDataFileName, "M.dat");
-
-/**  an entry has been added */
-const TInt KNotifyNodeAdded    = 1;  
-
-/** an entry has been modified  */
-const TInt KNotifyNodeModified = 2; 
-
-/**  an entry has been deleted */
-const TInt KNotifyNodeRemoved  = 3; 
- 
-/**  size of the buffer used when writing file entry to permanent metadata */
-const TInt KMaxExternalizedFileEntrySize = 1024;
-
-/**  internal state bits */
-
-/** local changes (eg caching bits) */
-const TUint KNodeLocallyDirty      = 0x0001; 
-/** remote changes */
-const TUint KNodeRemotelyDirty     = 0x0002; 
-/** temp mark for various purposes */
-const TUint KNodeMarked            = 0x0004; 
-
-const TUint KNodeHasValidLock      = 0x0008;
-const TUint KNodeOpenedForWriting  = 0x0010;
-
-const TUint KNodeWritingCancelled  = 0x0020;
-
-const TUint KNodePartlyCached      = 0x0100;
-
-/** indicates that a file that has been
-opened has been created (instead of opening
-an already existing file). This affects
-logic when closing the file (PUT + RENAME
-trick to protect the existing file in case  of
-cancelled PUT is not used)
- **/
-const TUint KNodeNewlyCreated      = 0x0200;
-
-
-class TMetaDataEvent
-    {
-public:
-    TInt        iEvent;    // notified event
-    TInt        iNodeId;   // node id
-    CRsfwFileEntry* iEntry;    // file entry
-    };
-
-
-class CRsfwFileTable: public CBase
-    {
-private:
-    enum TMetaDataState
-        {
-        EMetaDataSaveNone = 0,  // meta data saving has not started yet
-        EMetaDataSaveStarted,   // meta data saving has been started
-        EMetaDataSaveFailed     // meta data saving has failed
-        };
-
-    class TMetaDataSlot
-        {
-    public:
-        TInt        iNodeId;       // node id
-        TInt        iSlotId;       // slot index
-        };
-
-public: 
-    static CRsfwFileTable* NewL(CRsfwVolume* aVolume, TFileName& aCachePath);
-
-    inline CRsfwVolume* Volume();
-    inline CRsfwFileEntry* Root();
-
-    ~CRsfwFileTable();
-    
-    // add node to three
-    void AddL(CRsfwFileEntry* aFep);
-    
-    // remove node from thee
-    void RemoveL(CRsfwFileEntry* aFep);
-    
-    // lookup three
-    CRsfwFileEntry *Lookup(const TFid& aFid);
-    void DumpL(TBool aAll);
-    inline const TBool Permanence() const;
-    void SetPermanenceL(TBool aPermanence);
-    void HandleMetaDataEvent(TInt aEvent, CRsfwFileEntry* aFep);
-    CRsfwFileEntry* LoadMetaDataL();
-    TInt SaveMetaDataDelta();
-    void SetupCacheL();
-    TInt TotalCachedSize();
-    TInt TotalEntryCount();
-    inline TInt OpenFileCount();
-    inline void UpdateOpenFileCount(TInt aDelta);
-    void ResolveDirtyFilesL();
-    void ResolveDirtyFileL(CRsfwFileEntry* aFep);
-
-
-private:
-    void ConstructL(CRsfwVolume* aVolume, TFileName& aCachePath);
-    void ClearCacheL();
-    void ConstructL(RReadStream& aStream);
-    TMetaDataEvent* NodeEvent(TInt aNodeId);
-    void AddEvent(TInt aEvent, CRsfwFileEntry* aFep);
-    void RemoveEvent(TInt aNodeId);
-    void LoadNodeL(CRsfwFileEntry*& aFep, TInt &aSlot);
-    void SaveNodeL(CRsfwFileEntry* aFep, TInt &aSlot);
-    void SaveMetaDataDeltaL();
-
-private:
-    RFs           iFs;                      // inherited from RFE environment
-    TInt          iNodeId;                  // next node id to assign
-    CRsfwVolume*      iVolume;                  // volume info
-    CRsfwFileEntry*   iRootFep;                 // root file entry
-    TFileName     iCachePath;               // cache directory path
-    TBool         iPermanence;              // permanent meta data
-    RArray<TMetaDataEvent> iMetaDataEvents; // dirty entries since last flush
-    CRsfwMetaDataStore* iMetaDataStore;         // permanent store for metadata
-    RArray<TMetaDataSlot> iMetaDataSlots;   // maps file slot to node ids
-    TFileName     iMetaDataFilePath;        // meta data file path
-    TInt          iMetaDataSaveState;       // the state of meta data saving
-    CRsfwFileEntry*   iCurrentParent;           // parent of last looked up entry
-    TInt          iOpenFileCount;           // count of open files
-    };
-
-#include "rsfwfiletable.inl"
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwfiletable.inl	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  inlines for file table data structure
-*
-*/
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::Volume
-// ----------------------------------------------------------------------------
-// 
-inline CRsfwVolume* CRsfwFileTable::Volume()
-    {
-    return iVolume;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::Root
-// ----------------------------------------------------------------------------
-//
-inline CRsfwFileEntry* CRsfwFileTable::Root()
-    {
-    return iRootFep;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::Permanence
-// ----------------------------------------------------------------------------
-//
-inline const TBool CRsfwFileTable::Permanence() const
-    {
-    return iPermanence;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::OpenFileCount
-// ----------------------------------------------------------------------------
-//
-inline TInt CRsfwFileTable::OpenFileCount()
-    {
-    return iOpenFileCount;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::UpdateOpenFileCount
-// ----------------------------------------------------------------------------
-//    
-inline void CRsfwFileTable::UpdateOpenFileCount(TInt aDelta)
-    {
-    iOpenFileCount += aDelta;
-    if (iOpenFileCount < 0)
-        {
-        iOpenFileCount = 0;
-        }
-    }
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwflushstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* 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:  State machine for flushing file contexts
-*
-*/
-
-
-#ifndef C_RSFW_FLUSHSTATEMACHINE_H
-#define C_RSFW_FLUSHSTATEMACHINE_H
-
-#include "rsfwwaitnotestatemachine.h"
-#include "rsfwsavetodlgrequest.h"
-
-/**
- *  State machine for flushing a file
- *
- */
-
-class CRsfwFlushStateMachine : public CRsfwWaitNoteStateMachine
-    {
-public:
-    CRsfwFlushStateMachine();
-        
-public:
-    // STATES
-    class TFlushDataToServerState : public CRsfwFlushStateMachine::TState
-        {
-    public:
-        TFlushDataToServerState(CRsfwFlushStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwFlushStateMachine* iOperation;
-        };
-    
-public: 
-    TState* CompleteL(TInt aError);
-    TState* CompleteRequestL(TInt aError);
-   
-  };
-
-
-
-#endif // C_RSFW_FLUSHSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwgetattributesstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for getting attributes of a file
-*
-*/
-
-#ifndef C_RSFW_GETATTRIBUTESSTATEMACHINE_H
-#define C_RSFW_GETATTRIBUTESSTATEMACHINE_H
-
-
-#include "rsfwgetattributesstatemachine.h"
-#include "rsfwattributerefreshingstatemachine.h"
-
-class CRsfwGetAttributesStateMachine : public CRsfwAttributeRefreshingStateMachine
-    {
-public:
-    CRsfwGetAttributesStateMachine();
-    
-public:
-    // STATES
-    // get remote attributes
-    class TRefreshAttributesState :
-        public CRsfwGetAttributesStateMachine::TState
-        {
-    public:
-        TRefreshAttributesState(CRsfwAttributeRefreshingStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        TState* CompleteOurRequestL(TInt aErr);
-    private:
-        // iOperation = CRsfwGetAttributesStateMachine or COpenByPath 
-        CRsfwAttributeRefreshingStateMachine* iOperation;    
-        };     
-        
-public:   
-    TState* CompleteRequestL(TInt aError);   
-  };
-
-#endif // C_RSFW_GETATTRIBUTESSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwinterface.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,367 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  The definitions of file operation codes and their parameters 
- *
-*/
-
-
-#ifndef RSFWINTERFACE_H
-#define RSFWINTERFACE_H
-
-// INCLUDES
-#include <f32file.h>
-#include <s32strm.h>
-
-#include "rsfwcommon.h"
-#include "rsfwfile.h"
-
-// CONSTANTS
-_LIT(KRSFWDefaultDrive, "C:");
-_LIT(KCacheRootDefault, "\\system\\data\\rsfw_cache\\");
-_LIT(KTempFileName, "temp");
-_LIT(KRsfwConfigPath, "\\data\\rscfw.cfg");
-_LIT(KResolutionLogPath, "\\logs\\rsfw\\rsfw.log");
-_LIT(KConfigNameCacheRoot, "cache_root");
-_LIT(KDirReadAllMask, "*");
-_LIT(KRemoteFs, "eremotefs");
-_LIT(KRemoteFSName, "RemoteFS");
-_LIT(KPanicSource, "RemoteFS");
-_LIT(KRemoteVolumeName, "RemoteFS");
-_LIT(KRemoteFEName, "RemoteFE");
-_LIT(KCachePanicSource, "cache manager");
-_LIT(KRfeInputData, "RemoteFeInputArgsChunk");
-_LIT(KRfeOutputData, "RemoteFeOutputArgsChunk");
-_LIT(KRfeDataSemaphoreName, "RemoteFeDataSemaphore");
-_LIT(KRfeMain, "RemoteFeMain");
-_LIT(KRsfwMounterExe, "rsfwbootmounter");
-
-const TInt KMaxMimeTypeLength = 64;
-// Node Types
-const TUint KNodeTypeUnknown = 0x00;
-const TUint KNodeTypeFile    = 0x01;
-const TUint KNodeTypeDir     = 0x02;
-
-
-// DATA TYPES
-// Remote File System plug-in <--> Remote File Engine communications
-enum TRfeIoctl
-    {
-    ERemoteFsIoctlRefresh = 1,
-    ERemoteFsProtect,
-    ERemoteFsHighCachePriority
-    };
-    
-enum TRfeClose
-    {
-    ECloseNotModified,
-    ECloseModified,
-    ECloseLastFlushFailed
-    };
-
-// CLASS DECLARATIONS
-
-/**
- *  Node identifier in the framework
- *
- *  @lib Rsfwsession.dll
- *  @since Series 60 3.1
- */
-class TFid
-    {
-public:   // New functions
-    inline TBool operator==( const TFid& aFid ) const;
-public: // Data
-    // Identifiers the volume. Each mount is an own volume.
-    TInt iVolumeId;
-    // Identifies the node (i.e. file or directory) inside the volume.
-    TInt iNodeId;
-    };
-
-/**
- *  Directory attributes for a file or directory.
- *
- *  @lib rsfwsession.dll
- *  @since Series 60 3.1
- */
-class TDirEntAttr
-    {
-public:   // New functions
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-    IMPORT_C void InternalizeL( RReadStream& aStream  );
-    IMPORT_C void Clear();
-
-public:   // Data
-    // attribute bits
-    TUint iAtt;
-    // file size in bytes        
-    TInt iSize;      
-    // last modified         
-    TTime iModified; 
-    // Symbian data-type (UID) 
-    TUid iUid3;
-    };
-
-/**
- *  Encapsulates a file or directory entry.
- *
- *  @lib rsfwsession.dll
- *  @since Series 60 3.1
- */
-class TDirEnt
-    {
-public:   // New functions
-    IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-    IMPORT_C void Clear();
-
-public:   // Data
-    // attributes
-    TDirEntAttr iAttr; 
-    // filename
-    TFileName iName;
-    };
-
-/**
- *  Remote File Engine input parameters header
- *
- *  @lib rsfwsession.dll
- *  @since Series 60 3.1
- */
-class TRfeInArgs
-    {
-public:  
-    // operation code, used to cast this instance into the right impl. class
-    TInt iOpCode;
-     // The fid of the target file (not used in root operation).
-    TFid iFid;
-    };
-    
-/**
- *  Remote File Engine output parameters header
- *
- *  @lib rsfwsession.dll
- *  @since Series 60 3.1
- */
-class TRfeOutArgs
-    {
-public:   // Data
-    TUint iUnique;      // The request ID
-    };
-
-/**
- *  Remote File Engine operation input and output parameter structures
- *
- *  @lib rsfwsession.dll
- *  @since Series 60 3.1
- */
-// Close
-class TRfeCloseInArgs : public TRfeInArgs
-    {
-public:
-    TInt iFlags;
-    };
-
-// Create
-class TRfeCreateInArgs : public TRfeInArgs
-    {
-public:
-    TDirEnt iEntry;
-    TInt iExcl;
-    };
-
-class TRfeCreateOutArgs : public TRfeOutArgs
-    {
-public:
-    TFid iFid;
-    TDirEntAttr iAttr;
-    };
-
-// Fetch and cache
-class TRfeFetchInArgs : public TRfeInArgs
-    {
-public:
-    TInt iFirstByte;
-    TInt iLastByte;
-    };
-
-class TRfeFetchOutArgs : public TRfeOutArgs
-    {
-public:
-    // last byte that was actually fetched, might be more than was requested
-    TInt iLastByte;
-    };
-
-// Fetch without caching
-class TRfeFetchDataInArgs : public TRfeInArgs
-    {
-public:
-    TInt iFirstByte;
-    TInt iLastByte;
-    };
-    
-class TRfeFetchDataOutArgs : public TRfeOutArgs
-    {
-public:
-    TFileName iTempPath;
-    TBool iUseTempPath;
-    };  
- 
-// flush
-class TRfeFlushInArgs : public TRfeInArgs
-    {
-public:
-    TInt iFirstByte;
-    TInt iDataLength;
-    TInt iTotalSize;
-    };
-    
-    
-// Fsync
-class TRfeFsyncInArgs : public TRfeInArgs
-    {
-public:
-    };
-
-// GetAttr
-class TRfeGetAttrInArgs : public TRfeInArgs
-    {
-public:
-    };
-
-class TRfeGetAttrOutArgs : public TRfeOutArgs
-    {
-public:
-    TDirEntAttr iAttr;
-    };
-
-// Ioctl
-class TRfeIoctlInArgs : public TRfeInArgs
-    {
-public:
-    TInt iCmd;
-    TInt iLen;
-    union
-        {
-        TUint8 iData8[1];
-        TUint32 iData32[1];
-        };
-    };
-
-// Lookup
-class TRfeLookupInArgs : public TRfeInArgs
-    {
-public:
-    TFileName iName;
-    TUint iNodeType;
-    };
-
-class TRfeLookupOutArgs : public TRfeOutArgs
-    {
-public:
-    TFid iFid;
-    };
-
-// Mkdir
-class TRfeMkdirInArgs : public TRfeInArgs
-    {
-public:
-    TDirEnt iEntry;
-    };
-
-class TRfeMkdirOutArgs : public TRfeOutArgs
-    {
-public:
-    TFid iFid;
-    TDirEntAttr iAttr;
-    };
-
-// OpenByPath
-class TRfeOpenByPathInArgs : public TRfeInArgs
-    {
-public:
-    TUint iFlags;
-    TBool iTrueOpen;
-    };
-
-
-class TRfeOpenByPathOutArgs : public TRfeOutArgs
-    {
-public:
-    TFileName iPath;
-    TDirEntAttr iAttr;
-    };
-
-// Remove
-class TRfeRemoveInArgs : public TRfeInArgs
-    {
-public:
-    TFileName iName;
-    };
-
-// Rename
-class TRfeRenameInArgs : public TRfeInArgs
-    {
-public:
-    TFileName iSrcName;
-    TFid iDstFid;
-    TFileName iDstName;
-    TBool iOverWrite;
-    };
-
-// Rmdir
-class TRfeRmdirInArgs : public TRfeInArgs
-    {
-public:
-    TFileName iName;
-    };
-
-// Root operation returns the fid of the volume root
-class TRfeRootInArgs : public TRfeInArgs
-    {
-    };
-
-class TRfeRootOutArgs : public TRfeOutArgs
-    {
-public:
-    TFid iFid;
-    };
-
-// SetAttr
-class TRfeSetAttrInArgs : public TRfeInArgs
-    {
-public:
-    TDirEntAttr iMask;
-    TDirEntAttr iAttr;
-    };
-
-// Requests whether it is ok to write n bytes to the local cache
-class TRfeWriteDataInArgs : public TRfeInArgs
-    {
-public:
-    // Number of bytes to be written.
-    TUint iBytes;
-    };
-  
-class TRfeWriteDataOutArgs : public TRfeOutArgs
-    {
-public:
-    // Permission to write.
-    TBool iOkToWrite; 
-    };
-
-#include "rsfwinterface.inl"
-
-#endif // RSFWINTERFACE_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwinterface.inl	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  inlines for rsfw interface
- *
-*/
-
-
-
-inline TBool TFid::operator==(const TFid& aFid) const
-    {
-    return ((iNodeId == aFid.iNodeId) && (iVolumeId == aFid.iVolumeId));
-    }
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwlockmanager.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Lock manager for locked remote files
-*
-*/
-
-
-#ifndef C_RSFWLOCKMANAGER_H
-#define C_RSFWLOCKMANAGER_H
-
-#include <e32base.h>
-
-#include "rsfwrfesession.h"
-#include "rsfwremoteaccess.h"
-
-class CRsfwFileEntry;
-class CRsfwRfeStateMachine;
-
-/** lock timeout in seconds */
-const TInt KDefaultLockTimeout              = 900;  
-
-/** KDefaultLockTimeout is the lock timeout requested from the server
- Our lock timer is set to value KDefaultLockTimeout / KLockRefreshAdjustment.
- It must be smaller, as it is started only when we receive the reply
- from the server, and when it expires we still must have time to sent the
- refresh request */
-const TInt KLockRefreshAdjustment           = 3;
-
-/** If lock refresh attempt results in an error from the protocol stack
- we use timeout mechanism to try again, but with a small timeout
- as we are not even sending packets to the server. */
-const TInt KMinLockRefreshAttempt           = 5;
-
-/**
- *  Pending lock renewal requests
- *
- *  @lib remotefe.exe
- *  @since Series 60 3.1
- */
-class TPendingLockRefreshContext
-    {
-public: 
-    // Lock refresh request transaction Id
-    TUint                         iId;
-    // Pointer to the file entry waiting for this refresh 
-    CRsfwFileEntry*                   iFileEntry;
-    };
-
-class CRsfwLockManager: public CBase, public MRsfwRemoteAccessResponseHandler
-    {
-public:
-    static CRsfwLockManager* NewL(CRsfwRemoteAccess* aRemoteAccess);
-    static CRsfwLockManager* NewLC(CRsfwRemoteAccess* aRemoteAccess);
-    ~CRsfwLockManager();
-
-    void HandleRemoteAccessResponse(TUint aId, TInt aStatus);
-    void ObtainLockL(CRsfwFileEntry*
-                     aFileEntry,
-                     TUint aLockFlags,
-                     TDesC8*& aLockToken,
-                     CRsfwRfeStateMachine* aOperation);
-    void ReleaseLockL(CRsfwFileEntry* aFileEntry, CRsfwRfeStateMachine* aOperation);
-    void RefreshLockL(CRsfwFileEntry* aFileEntry);
-    TInt LockedCount();
-    void AddLockedEntryL(CRsfwFileEntry* aEntry);
-    void RemoveLockedEntry(CRsfwFileEntry* aEntry);
-    void PopulateExternalLockTokenCacheL(CRsfwFileEntry* aRoot);
-    
-private:
-    void ConstructL(CRsfwRemoteAccess*) ;
-
-private:
-    CRsfwRemoteAccess* iRemoteAccess;    // remote file transport module
-    RArray<TPendingLockRefreshContext>  iLockRefreshContexts;
-    RPointerArray<CRsfwFileEntry> iLockedEntries;
-    };
-
-#endif // LOCKMANAGER_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwlookupstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for file lookup
-*
-*/
-
-
-#ifndef C_RSFW_LOOKUPSTATEMACHINE_H
-#define C_RSFW_LOOKUPSTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-
-/**
- *  state machine for file lookup
- *
- *
- */
-class CRsfwLookupStateMachine : public CRsfwRfeStateMachine
-    {
-public:
-    CRsfwLookupStateMachine();
-    ~CRsfwLookupStateMachine();
-public:
-    // STATES
-    // updating attributes
-    // if the file type is unknow we first try file then directory
-    class TUpdateKidAttributesTryFirstTypeState : public CRsfwLookupStateMachine::TState
-        {
-    public:
-        TUpdateKidAttributesTryFirstTypeState(CRsfwLookupStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwLookupStateMachine *iOperation;                    
-        };
-        
-    class TUpdateKidAttributesTrySecondTypeState : public CRsfwLookupStateMachine::TState
-        {
-    public:
-        TUpdateKidAttributesTrySecondTypeState(CRsfwLookupStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwLookupStateMachine *iOperation;                    
-        };
-        
-public:
-    TState* CompleteL();    
-    TState* CompleteRequestL(TInt aError);
-        
-public:
-    // input parameters
-    TUint iNodeType; // are we looking up file, directory or unknown...
-        
-    // output parameters:
-    CRsfwFileEntry *iKidFep;
-    
-    TPtrC iKidName;    
-    TFid* iParentFidp;  
-    
-    CRsfwDirEntAttr* iDirEntAttr;
-    TBool iKidCreated;
-    HBufC* iPath;
-    };
-
-
-#endif // C_RSFW_LOOKUPSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwlrulistnode.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2005-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:  A node in the LRU list
-*
-*/
-
-#ifndef C_RSFWLRULISTNODE_H
-#define C_RSFWLRULISTNODE_H
-
-#include <e32base.h>
-
-class CRsfwFileEntry;
-
-/** Priority of the cached entry */
-enum TCachePriority
-    {
-    ECachePriorityNormal
-    };
-
-class CRsfwLruListNode : public CBase
-    {
-public:
-    static CRsfwLruListNode* NewLC(CRsfwFileEntry* aFe, TInt aPriority); 
-    static CRsfwLruListNode* NewL(CRsfwFileEntry* aFe, TInt aPriority);
-    virtual ~CRsfwLruListNode();
-public:   
-    static const TInt iOffset;
-private:
-    void ConstructL(CRsfwFileEntry* aFe, TInt aPriority);
-    
-private:
-    TPriQueLink iLink;
-    CRsfwFileEntry* iEntryPtr;
-    friend class CRsfwLruPriorityList;
-    };
-    
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwlruprioritylist.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2005-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:  LRU priority list for cache entries
-*
-*/
-
-#ifndef C_RSFWLRUPRIORITYLIST_H
-#define C_RSFWLRUPRIORITYLIST_H
-
-#include <e32base.h>
-#include <s32strm.h>
-
-class CRsfwLruListNode;
-class CRsfwFileEntry;
-class CRsfwVolumeTable;
-
-class CRsfwLruPriorityList : public CBase
-    {
-public:
-    CRsfwLruPriorityList();
-    virtual ~CRsfwLruPriorityList();
-   
-    void AddNodeL(CRsfwFileEntry *aFe, TInt aPriority);
-    TInt RemoveNode(CRsfwFileEntry *aFe);
-    CRsfwFileEntry* GetAndRemoveFirstEntry();
-    void ExternalizeL(RWriteStream& aStream);
-    void InternalizeL(RReadStream& aStream, CRsfwVolumeTable* aVolumeTable);
-    
-private:
-    TPriQue<CRsfwLruListNode> iHdr;
-    TDblQueIter<CRsfwLruListNode> iIter;
-    };
-
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwmetadatastore.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Keeps metadata persistent
-*
-*/
-
-
-#ifndef C_RSFWMETADATASTORE_H
-#define C_RSFWMETADATASTORE_H
-
-// INCLUDES
-#include "rsfwcontrol.h"
-#include "rsfwpermanentstore.h"
-
-// CLASS DECLARATION
-class CRsfwMetaDataStore: public CRsfwPermanentStore
-    {
-
-public:
-    static CRsfwMetaDataStore* NewL(const TDesC& aPath);
-    static CRsfwMetaDataStore* NewLC(const TDesC& aPath);
-    void GetMountConfigL(TRsfwMountConfig& aMountConfig);
-    void SetMountConfigL(const TRsfwMountConfig& aMountConfig);
-
-private:
-    void ConstructL(const TDesC& aPath);
-    };
-
-#endif // METADATASTORE_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwmkdirstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for creating directories
-*
-*/
-
-#ifndef C_RSFW_MKDIRSTATEMACHINE_H
-#define C_RSFW_MKDIRSTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-
-/**
- *  Creates a directory
- *
- *  State machine for creating directories. 
- *
- */ 
-class CRsfwMkDirStateMachine : public CRsfwRfeStateMachine
-    {
-public:
-    CRsfwMkDirStateMachine();
-    ~CRsfwMkDirStateMachine();
-    
-public:
-    // STATES
-    class TCheckIfExistsState : public CRsfwMkDirStateMachine::TState
-        {
-    public:
-        TCheckIfExistsState(CRsfwMkDirStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwMkDirStateMachine* iOperation;
-        };
-        
-    class TMakeDirectoryState : public CRsfwMkDirStateMachine::TState 
-        {
-    public:
-        TMakeDirectoryState(CRsfwMkDirStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwMkDirStateMachine* iOperation; 
-        };
-        
-public:
-    TState* CompleteRequestL(TInt aError);
-        
-    CRsfwFileEntry* iKidFep;
-    TBool iKidCreated;
-    CRsfwDirEntAttr* iDirEntAttr;
-    }; 
-
- 
- 
-#endif // C_RSFW_MKDIRSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwmountconnectionstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for changing mount state, e.g. online->offline
-*
-*/
-
-#ifndef C_RSFW_MOUNTCONNECTIONSTATEMACHINE_H
-#define C_RSFW_MOUNTCONNECTIONSTATEMACHINE_H
-
-#include "rsfwwaitnotestatemachine.h"
-#include "rsfwvolume.h"
-
-/**
- *  State machine for changing mount state, e.g. online->offline
- *  This state machine is currently only used for disconnecting
- *  For connecting CRsfWMountStateMachine is used
- *  Disconnecting does not currently send packets to network,
- *  but it is possible that this happens in the future.
- *
- */
-class CRsfwMountConnectionStateMachine : public CRsfwWaitNoteStateMachine
-    {
-public:
-    CRsfwMountConnectionStateMachine(TChar aDriveLetter, TUint aState);
-
-public:
-    // STATES
-    class TChangeConnectionState : public CRsfwMountConnectionStateMachine::TState
-        {
-    public:
-        TChangeConnectionState(CRsfwMountConnectionStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        // backpointer to the operation
-        CRsfwMountConnectionStateMachine* iOperation;
-        // 
-        CRsfwVolume *iVolume;
-        };
-        
-public:
-    // parameters of the operation  
-    TChar iDriveLetter;
-    TUint iState;
-        
-    };    
-    
-#endif  // C_RSFW_MOUNTCONNECTIONSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwmountstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for mounting
-*
-*/
-
-#ifndef C_RSFW_MOUNTSTATEMACHINE_H
-#define C_RSFW_MOUNTSTATEMACHINE_H
-
-#include <rsfwmountentry.h> // KMaxMountNameLength
-
-#include "rsfwwaitnotestatemachine.h"
-#include "rsfwcontrol.h"
-#include "rsfwauthenticationdlgrequest.h"
-
-class CRsfwVolume;
-class CRsfwVolumeTable;
-
-/**
- *  State machine for mounting.
- *
- *  This state machine assumes that connection awareness is off.
- *  In "connection awareness" error state for mounting is quite different,
- *  as failure to connect to the server is not considered to be fatal,
- *  but instead puts the engine to disconnected mode.
- *  Feasible strategy is probably to create an alternative initial state
- *  with a different ErrorL, set if connection awareness is on.
- *
- */
-class CRsfwMountStateMachine : public CRsfwWaitNoteStateMachine
-    {
-public:
-    static CRsfwMountStateMachine* NewL(TRsfwMountConfig aMountConfig, 
-                                        TInt aMountState,
-                                        CRsfwVolumeTable* aVolumeTable);
-private:
-    void ConstructL(TRsfwMountConfig aMountConfig, 
-                                        TInt aMountState,
-                                        CRsfwVolumeTable* aVolumeTable);    
-public:
-    // STATES 
-    // requesting connection state e.g. sending OPTIONS to WebDAV server 
-    class TRequestConnectionState : public CRsfwMountStateMachine::TState
-        {
-    public:
-        TRequestConnectionState(CRsfwMountStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        // backpointer to the operation
-        CRsfwMountStateMachine* iOperation;
-        };
-        
-    // dismiss the wait note    
-    class TDismissConnectionWaitNoteState : public CRsfwMountStateMachine::TState
-        {
-    public:
-        TDismissConnectionWaitNoteState(CRsfwMountStateMachine* aOperation);   
-        void EnterL(); 
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        // backpointer to the operation
-        CRsfwMountStateMachine* iOperation;       
-        };    
-    
-    // asynchronously waits for user to type in authentication infomation    
-    class TGetAuthCredentials : public CRsfwMountStateMachine::TState
-        {
-    public:
-        TGetAuthCredentials(CRsfwMountStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        // backpointer to the operation
-        CRsfwMountStateMachine* iOperation;
-        TRsfwAuthenticationDlgRequest iAuthRequest;
-        
-        };    
-
-      // asynchronously waits for "drive unavailabe, retry? query" 
-    class TUnavailableRetry : public CRsfwMountStateMachine::TState
-        {
-    public:
-        TUnavailableRetry(CRsfwMountStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        // backpointer to the operation
-        CRsfwMountStateMachine* iOperation;
-        TRsfwNotPluginRequest iRetryRequest;
-        };    
-
-        
-public: 
-    CRsfwRfeStateMachine::TState* CompleteRequestL(TInt aError);
-    TState* ErrorOnStateEntry(TInt aError);                                            
-public:
-    CRsfwVolume* iVolume; // volume to be mounter or recovered
-
-    // parameters of the operation  
-    // we read from mountconfig a drive letter to be mounted or recovered
-    // currently volumeId is always set by us
-    TRsfwMountConfig iMountConfig;
-    TInt iVolumeId; 
-    TInt iMountState;
-private:        
-    TBuf<KMaxMountNameLength> iFriendlyName;
-    TBool iRequestingConnection; // flag indicating 'opening connection' event
-    TInt iConnectingError; // remember why the connection attempt failed
-    };
-
-
-#endif // C_RSFW_MOUNTSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwopenbypathstatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for opening a file or directory
-*
-*/
-
-
-#ifndef C_RSFW_OPENBYPATHSTATEMACHINE_H
-#define C_RSFW_OPENBYPATHSTATEMACHINE_H
-
-#include "rsfwattributerefreshingstatemachine.h"
-
-class TDirEntAttr;
-
-/**
- *  State machine for OpenByPath operation.
- *
- *  Assumes FID is not yet cached. Note that here we know FID <-> pathname 
- *  association and in principle the file with that pathname should exist
- * 	as this call has been preceded by a call to Entry()
- *   - of course, there is a possibility that the file has been deleted from 
- *  the server
- *
- */
-class CRsfwOpenByPathStateMachine : public CRsfwAttributeRefreshingStateMachine
-    {
-public:
-    CRsfwOpenByPathStateMachine();
-    ~CRsfwOpenByPathStateMachine();
-    
-public:
-    //STATES
-    // requiring opening in the relevant mode - e.g. obtain a write lock
-    class TRequestOpenModeState : public CRsfwOpenByPathStateMachine::TState
-        {
-    public:
-        TRequestOpenModeState(CRsfwOpenByPathStateMachine* aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwOpenByPathStateMachine* iOperation;
-        TBool iRequestedLock;
-        };
-        
-public:
-    TState* CompleteRequestL(TInt aError);
-    
-public: 
-    // input parameters;
-    TBool iRealOpen;
-    // file open mode
-    TUint iFlags;
-                
-    //output params:
-    TDesC* iCacheName;
-    TDirEntAttr* iAttrp;
-    TDesC8* iLockToken;
-    };
-
-
-#endif // C_RSFW_OPENBYPATHSTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwpermanentstore.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Provides persistent storage for memory blocks
-*
-*/
-
-
-#ifndef C_RSFWPERMANENTSTORE_H
-#define C_RSFWPERMANENTSTORE_H
-
-// INCLUDES
-#include <e32std.h>
-#include <f32file.h>
-#include <s32file.h>
-
-// CLASS DECLARATION
-class TFileHeader
-    {
-public:
-    TUint   iHeaderStart;           // magic number
-    TInt    iHeaderSize;            // (max) header size
-    TInt    iBlockSize;             // block size
-    HBufC8* iHeader;                // header 
-
-public:
-    void ExternalizeL(RWriteStream& aStream) const;
-    void InternalizeL(RReadStream& aStream);
-    };
-
-class TSlot
-    {
- public:
-    TInt iIndex;        // data index (used as key for RArray)
-    TInt iBlockNumber;  // starting block number
-    TInt iBlockCount;   // number of blocks
-    };
-
-class CRsfwPermanentStore: public CBase
-    {
-
-class TFreeBlockList
-    {
- public:
-    RArray<TInt> iFreeBlockList; // list of continuous free block sequences
-    };
-
-    enum TFileStateInPermanentStore
-        {
-        EFileStateClosed = 0,
-        EFileStateReading,
-        EFileStateWriting
-        };
-public:
-    static CRsfwPermanentStore* NewL(const TDesC& aPath,
-                                 TInt aHeaderSize = 0,
-                                 TInt aBlockSize = 0);
-    ~CRsfwPermanentStore();
-    void ResetL(TBool aWriting);
-    TInt Commit();
-    TInt Purge();
-    void CompactL();
-    void SetHeaderL(TDesC8& aHeader);
-    const HBufC8* Header();
-    void GetNextDataL(TUint8* aData, TInt& aDataLength, TInt& aIndex);
-    void PutDataL(const TUint8* aData, TInt aDataLength, TInt& aIndex);
-
-protected:
-    void ConstructL(const TDesC& aPath,
-                    TInt aHeaderSize,
-                    TInt aBlockSize);
-
-private:
-    TInt BlockCount(TInt aDataLength);
-    TInt StreamPosition(TInt aBlockNumber);
-    TSlot* Slot(TInt aIndex);
-    void FixSlot(TInt aOldBlockNumber, TInt aNewBlockNumber);
-    void SetFileStateL(TInt aFileState);
-    void LoadHeaderL();
-    void SaveHeaderL();
-    void ClearFreeBlockLists();
-    void ClearSlotL(TInt aIndex);
-    void WriteBlocksL(const TUint8* aData,
-                      TInt aDataLength,
-                      TInt aBlockNumber);
-    void ReserveSlot(TInt aIndex, TInt aBlockNumber, TInt aBlockCount);
-    void PutToFreeBlockList(TInt aBlockPos, TInt aBlockCount);
-    TInt GetFromFreeBlockList(TInt aBlockCount);
-
-private:
-    RFs                    iFs;               // file server session
-    RFile                  iFile;             // the file
-    RFileReadStream        iFileReadStream;   // iFile mapped to read stream
-    RFileWriteStream       iFileWriteStream;  // iFile mapped to write stream
-    TBuf<KMaxPath>         iPath;             // path name of the store file
-    TInt                   iHeaderSize;       // size of header payload
-    TInt                   iFileHeaderSize;   // total size of header
-    TInt                   iBlockSize;        // size of elementary block
-    TInt                   iFileState;        // file opening state
-    RArray<TFreeBlockList> iFreeBlockLists;   // lists of free blocks
-    TFileHeader            iFileHeader;       // file information in the header
-    RArray<TSlot>          iSlots;            // maps index/block number
-    TInt                   iIndex;            // next slot position
-    TInt                   iReadBlockNumber;  // next block to read
-    TInt                   iWriteBlockNumber; // next block to write
-    HBufC8*                iZeroBlock;        // a filler block
-    };
-
-#endif // PERMANENTSTORE_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwremoteaccess.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,492 +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:  Defines a class for accessing files via a file transport protocol
-*
-*/
-
-
-#ifndef CRSFWREMOTEACCESS_H
-#define CRSFWREMOTEACCESS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <uri16.h>
-
-//FORWARD DECLARATIONS
-class CRsfwDirEntAttr;
-class CRsfwDirEnt;
-
-// CONSTANTS
-// 
-// UID of this interface
-const TUid KCRemoteAccessUid = {0x101F96E3};
-// Default quota and free space sizes
-const TInt KMountReportedSize         = 10000000;
-const TInt KMountReportedFreeSize     = 5000000;
-
-// Operation option flags
-const TUint KRemoteAccessOptionGetToStartOfFile = 0x01;
-
-// DATA TYPES
-// Event types for MRsfwRemoteAccessObserver
-enum TRsfwRemoteAccessObserverEvent
-    {
-    ERsfwRemoteAccessObserverEventConnection = 1
-    };
-
-// Connection events for MRsfwRemoteAccessObserver
-enum TRsfwRemoteAccessObserverEventConnection
-    {
-    ERsfwRemoteAccessObserverEventConnectionDisconnected = 0,
-    ERsfwRemoteAccessObserverEventConnectionWeaklyConnected,
-    ERsfwRemoteAccessObserverEventConnectionStronglyConnected
-    };
-
-// CONSTANTS
-const TInt KMaxMatchStringSize = 64;
-
-// CLASS DECLARATION
-/**
- *  Class for handling remote access events
- *
- *  @lib rsfwcommon.lib
- *  @since Series 60 3.1
- */
-class MRsfwRemoteAccessObserver
-    {
-public:
-    /**
-     * Handles an event emanating from a remote access module.
-     *
-     * @param aEventType type of the event
-     * @param aEvent event code
-     * @param aArg miscellaneous arguments
-     */
-    virtual void HandleRemoteAccessEventL(TInt aEventType,
-                                          TInt aEvent,
-                                          TAny* aArg) = 0;
-    };
-
-// CLASS DECLARATION
-/**
- *  Class for handling remote access operation responses.
- *
- *  @lib rsfwcommon.lib
- *  @since Series 60 3.1
- */
-class MRsfwRemoteAccessResponseHandler
-    {
-public:
-    /**
-     * Handles responses for requests to a remote access module.
-     *
-     * @param aId transaction id
-     * @param aStatus return status
-     */
-    virtual void HandleRemoteAccessResponse(TUint aId, TInt aStatus) = 0;
-    };
-
-
-// CLASS DECLARATION
-/**
- *  Class for accessing files via a file transport protocol, like WebDAV.
- *
- *  @lib rsfwcommon.lib
- *  @since Series 60 3.1
- *
- *  The derived classes are supposed to be registered and instantiated
- *  by using the the ECOM architecture.
- */
-class CRsfwRemoteAccess : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aProtocol protocol name, like "http", "https", or "ftp"
-     * @return a pointer to an object instance that implements
-     *   this interface by using the given protocol.
-     */
-    IMPORT_C static CRsfwRemoteAccess* NewL(const TDesC8& aProtocol);
-    
-    IMPORT_C virtual ~CRsfwRemoteAccess();
-
-    /**
-     * Set up parameters for operation.
-     * @param aRsfwRemoteAccessObserver MRsfwRemoteAccessObserver for receiving
-     *  asynchronous events from the accessor plugin,
-     *  e.g. changes in connectivity.
-     *  This parameter may be NULL
-     */
-    virtual void SetupL(
-        MRsfwRemoteAccessObserver* aRsfwRemoteAccessObserver) = 0;
-
-    /**
-     * Opens a connection to the server given by aServerName parameter.
-     *
-     * @param aUri URI of the remote repository.
-     *   The URI must not contain authority part (user name/password)
-     * @param aFriendlyName friendly name for the server 
-     *                      (for possible access control dialog) (can be empty)
-     * @param aUserName user name for access control (can be empty)
-     * @param aPassword password for access control (can be empty)
-     * @param aAuxData auxiliary parameters for connection setup (eg IAP info)
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction 
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint OpenL(const TUriC& aUri,
-                        const TDesC& aFriendlyName,
-                        const TDesC& aUserName,
-                        const TDesC& aPassword,
-                        const TDesC& aAuxData,
-                        MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Gets contents of the directory given by aPathName parameter.
-     *
-     * @param aPathName path name of the directory
-     * @param aDirentsp an array of directory entries to be filled.
-     *   Any pre-existing CRsfwDirEnt items in the array are destroyed 
-     *   and the array is reset before filling it with pointers to 
-     *   new entries. Within the created CRsfwDirEntAttr objects, pointers 
-     *   to descriptors for meta-data items that are not available or 
-     *   that are irrelevant are set to NULL value.
-     *   The caller owns the array and thus also the entries.
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint GetDirectoryL(const TDesC& aPathName,
-                                RPointerArray<CRsfwDirEnt>& aDirEntsp,
-                                MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Gets attributes of the directory given by aPathName parameter.
-     * This function may also be called if the type of the object is
-     * not yet known (e.g., the object could be a file).
-     *
-     * @param aPathName path name of the directory
-     * @param aAttr A pointer to the attribute object to be filled. This 
-     *   attribute is set to point to a newly created CRsfwDirEntAttr 
-     *   object that will contain the directory attributes.
-     *   In the created attribute object, pointers to descriptors for 
-     *   meta-data items that are not available or that are irrelevant 
-     *   are set to NULL value. The ownership of the object is 
-     *   transferred to the caller. If the attributes cannot be defined, 
-     *   the pointer will be set to NULL.
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint GetDirectoryAttributesL(const TDesC& aPathName,
-                                          CRsfwDirEntAttr*& aAttr,
-                                          MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-    
-    /**
-     * Gets attributes of the file given by aPathName parameter.
-     *
-     * @param aPathName path name of the file
-     * @param aAttr A pointer to the attribute object to be filled. This 
-     *   attribute is set to point to a newly created CRsfwDirEntAttr 
-     *   object that will contain the file attributes.
-     *   In the created attribute object, pointers to descriptors for 
-     *   meta-data items that are not available or that are irrelevant 
-     *   are set to NULL value. The ownership of the object is 
-     *   transferred to the caller. If the attributes cannot be defined, 
-     *   the pointer will be set to NULL.
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint GetFileAttributesL(const TDesC& aPathName,
-                                     CRsfwDirEntAttr*& aAttr,
-                                     MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Sets attributes of the file or directory given by aPathName parameter.
-     * This function is typically only used for files and even then
-     * the implementation may do nothing since standard file attributes
-     * are implied by the contents of the file or set in conjunction with
-     * other operations on the file system object.
-     *
-     * @param aPathName path name of the file or directory
-     * @param aAttr attribute structure
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint SetAttributesL(const TDesC& aPathName,
-                                 CRsfwDirEntAttr& aAttr,
-                                 MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Gets a remote file and copies it to a local file.
-     * Note that byte ranges are not be implemented by all
-     * file access protocols. 
-     * A non-zero aLength means partial get.
-     * Caller can assume that either aLength remains intact 
-     * in which case byte range offset + aLength was fetched,
-     * or aLength is reset to the full length of the file, in which 
-     * case aOffset is meaningless.
-     *
-     * @param aRemotePathName path name of the remote file
-     * @param aLocalPathName path name of the local file
-     * @param aOffset offset of the first byte to be accessed
-     * @param aLength length of data to be accessed/was accessed
-     * (on entry NULL or zero value means fetching the whole file -
-     * on exit contains the length of fetched data, unless the pointer is NULL)
-     * @param aFlags operation qualifier.
-     *   The following flags have been defined:
-     *   KRemoteAccessOptionGetToStartOfFile: even if an offset is specified
-     *      the fetched data is still put at the beginning of the local file.
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint GetFileL(const TDesC& aRemotePathName,
-                           const TDesC& aLocalPathName,
-                           TInt aOffset,
-                           TInt* aLength,
-                           TUint aFlags,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Puts a range of a file to the server.
-     * A non-zero aLength means partial file putting.
-     * The access protocol/server doesn't have to support partial file putting.
-     * In this case, it should return KErrNotSupported (if aLength is not zero)
-     *
-     * @param aLocalPathName path name of the local file
-     * @param aRemotePathName path name of the remote file
-     * @param MIME-type of the file
-     *   (will be put to Content-Type, e.g. text/plain or
-     *   application/octet-stream)
-     * @param aOffset offset of the first byte to be accessed
-     * @param aLength length of data to be accessed/was accessed (NULL/0=all)
-     * @param aTotalLength total length of the file, set to 0 if not known
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction 
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint PutFileL(const TDesC& aLocalPathName,
-                           const TDesC& aRemotePathName,
-                           const TDesC8& aMimeType,
-                           TInt aOffset,
-                           TInt aLength,
-                           TInt aTotalLength,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Puts a file to the server.
-     *
-     * @param aLocalPathName path name of the local file
-     * @param aRemotePathName path name of the remote file
-     * @param MIME-type of the file (will be put to Content-Type,
-     *   e.g. text/plain or application/octet-stream)
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction 
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint PutFileL(const TDesC& aLocalPathName,
-                           const TDesC& aRemotePathName,
-                           const TDesC8& aMimeType,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Creates an empty file on the remote server
-     *
-     * @param aPathName path name of the new file
-     * @param aResponseHandler response handler
-     * @param aOverWriting whether we are overwriting an existing file
-     *        Note that the semantics of this operation is such that it must
-     *        always overwrite an existing file. This boolean is for information.
-     *        If the protocol requires additional parameter to allow overwriting,
-     *        the parameter should be set if aOverWriting is TRUE.
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint CreateFileL(const TDesC& aPathName,
-                              TBool aOverWriting,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Makes a directory.
-     *
-     * @param aPathName path name of the new directory
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint MakeDirectoryL(const TDesC& aPathName,
-                                 MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-
-    /**
-     * Deletes a directory.
-     *
-     * @param aPathName path name of the directory to be deleted
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-
-    virtual TUint DeleteDirectoryL(const TDesC& aPathName,
-                                   MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Deletes a file.
-     *
-     * @param aPathName path name of the file to be deleted
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint DeleteFileL(const TDesC& aPathName,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-
-    /**
-     * Renames a file or a directory.
-     * (may involve movement to another directory).
-     *
-     * @param aSrcPathName path name of the object to be renamed
-     * @param aDstPathName new path name of the object
-     * @param aOverwrite allow overwriting an existing object
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint RenameL(const TDesC& aSrcPathName,
-                          const TDesC& aDstPathName,
-                          TBool aOverwrite,
-                          MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Obtains a lock for the given file system object
-     * Note that this function is not be implemented by all
-     * file access protocols (e.g. FTP), some protocols only
-     * implement write locking (e.g. WebDAV).
-     *
-     * @param aPathName path name of the object to be locked
-     * @param aLockFlags indicates whether a write or read lock is requested
-     * @param aTimeout the timeout that is requested and granted (in seconds)
-     * @param aLockToken acquired lock token - the caller gets ownership
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint ObtainLockL(const TDesC& aPathName,
-                              TUint aLockFlags,
-                              TUint& aTimeout,
-                              TDesC8*& aLockToken,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Releases the lock of the given file system object
-     * Note that this function is not be implemented by all
-     * file access protocols (e.g. FTP).
-     *
-     * @param aPathName path name of the object to be locked
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint ReleaseLockL(const TDesC& aPathName,
-                               MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Refreshes the lock of the given file system object
-     * Note that this function is not be implemented by all
-     * file access protocols (e.g. FTP).
-     *
-     * @param aPathName path name of the object to be locked
-     * @param aTimeout the timeout that is requested and granted (in seconds)
-     * @param aResponseHandler response handler
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    virtual TUint RefreshLockL(const TDesC& aPathName,
-                               TUint& aTimeout,
-                               MRsfwRemoteAccessResponseHandler* aResponseHandler) = 0;
-
-    /**
-     * Cancels a transaction
-     * Eventually the HandleRemoteAccessResponseL will be called
-     * with status KErrCancel
-
-     * @param aId the identifier of the transaction to be canceled.
-     *   If aId is zero, all pending requests are cancelled.
-     */
-    virtual void Cancel(TUint aId) = 0;
-
-		 /**
-     * Cancels a transaction
-     * Eventually the HandleRemoteAccessResponseL will be called
-     * with status KErrCancel
-
-     * @param aTargetPath the path of the target file or directory for the 
-     * operation that shall be cancelled
-     * 
-     */
-    virtual void Cancel(TDesC& aTargetPath) = 0;
-
-
-    /**
-     * Sets lock token for the a given resource
-     * This lock token value replaces any previously cached token value
-     *
-     * @param aPathName path name
-     * @param aLockToken lock token
-     * @return error code
-     */
-    virtual TInt SetLockToken(const TDesC& aPathName,
-                              const TDesC8& aLockToken) = 0;
-                              
-     /**
-     * Gets quota and size.
-     *
-     * @param aQuota  The maximum size of the drive for this user in bytes,
-     * @param aSize  The amount of free space for this user on the disk in bytes.
-     * @return identifier of the created transaction
-     *		   (> 0 for async. operations, 0 if the operation is synchronous 
-     *		   (has been completed when the call returns)
-     */
-    IMPORT_C virtual TInt GetQuotaAndSizeL(TInt& aQuota, TInt& aSize);
-                     
-
-private:
-    // Unique instance identifier key
-    TUid iDtor_ID_Key;
-    };
-
-#endif // CRSFWREMOTEACCESS_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwremoteaccesssync.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Synchronous layer on top of the Access Protocol plug-in API
- *
-*/
-
-
-#ifndef CRSFWREMOTEACCESSSYNC_H
-#define CRSFWREMOTEACCESSSYNC_H
-
-// INCLUDES
-#include <e32base.h>
-
-#include "rsfwremoteaccess.h"
-
-// FORWARD DECLARATIONS
-class CRsfwRemoteAccess;
-
-// CLASS DECLARATION
-/**
- *  Class for accessing files via a file transport protocol
- *  by using synchronous calls.
- *
- *  The derived classes are supposed to be registered and instantiated
- *  by using the the ECOM architecture.
- */
-
-class CRsfwRemoteAccessSync: public CBase, public MRsfwRemoteAccessResponseHandler
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aProtocol protocol name, like "http", "https", or "ftp"
-     * @return a pointer to an object instance that implements
-     *   this interface by using the given protocol.
-     */
-    static CRsfwRemoteAccessSync* NewL(const TDesC8& aProtocol,
-                                   CRsfwRemoteAccess* aRemoteAccess = NULL);
-
-    ~CRsfwRemoteAccessSync();
-
-    /**
-     * Configures the remote access module.
-     * Sets the connection state observer if available
-     * In davaccess creates the WebDAV session class
-     *
-     * @param aRemoteAccess asynchronous accessor (may be NULL)
-     * @param aRsfwRemoteAccessObserver connection event observer
-     * @return error code 
-     */
-    TInt Setup(MRsfwRemoteAccessObserver* aRsfwRemoteAccessObserver);
-    
-    /**
-     * Opens a connection to the server given by aServerName parameter.
-     *
-     * @param aUserName user name for access control (can be empty)
-     * @param aPassword password for access control (can be empty)
-     * @param aServerName the server's DNS name or IP address
-     * @param aPortNumber port number (like 80 for HTTP)
-     * @param aRootDirectory sub directory to be accessed (can be empty)
-     * @param aAuxData auxiliary parameters for connection setup (IAP info)
-     */
-    TInt Open(const TDesC& aUserName,
-              const TDesC& aPassword,
-              const TDesC& aServerName,
-              TInt aPortNumber,
-              const TDesC& aRootDirectory,
-              const TDesC& aAuxData);
-
-    /**
-     * Gets contents of the directory given by aPathName parameter.
-     *
-     * @param aPathName path name of the directory
-     * @param aDirEnts an array of directory entries to be filled.
-     */
-    TInt GetDirectory(const TDesC& aPathName,
-                      RPointerArray<CRsfwDirEnt>& aDirEntsp);
-
-    /**
-     * Gets attributes of the directory given by aPathName parameter.
-     * This function may also be called if the type of the object is
-     * not yet known (e.g., the object could be a file).
-     *
-     * @param aPathName path name of the directory
-     * @param aAttr attribute structure to be filled
-     */
-    TInt GetDirectoryAttributes(const TDesC& aPathName,
-                                CRsfwDirEntAttr*& aAttr);
-    
-    /**
-     * Gets attributes of the file given by aPathName parameter.
-     *
-     * @param aPathName path name of the file
-     * @param aAttr attribute structure to be filled
-     */
-    TInt GetFileAttributes(const TDesC& aPathName,
-                           CRsfwDirEntAttr*& aAttr);
-
-    /**
-     * Sets attributes of the file or directory given by aPathName parameter.
-     * This function is typically only used for files and even then
-     * the implementation may do nothing since standard file attributes
-     * are implied by the contents of the file or set in conjunction with
-     * other operations on the file system object.
-     *
-     * @param aPathName path name of the file or directory
-     * @param aAttr attribute structure
-     */
-    TInt SetAttributes(const TDesC& aPathName,
-                       CRsfwDirEntAttr& aAttr);
-
-    /**
-     * Gets a remote file and copies it to a local file.
-     * Note that byte ranges are not be implemented by all
-     * file access protocols.
-     *
-     * @param aRemotePathName path name of the remote file
-     * @param aLocalPathName path name of the local file
-     * @param aOffset offset of the first byte to be accessed
-     * @param aLength length of data to be accessed/was accessed (0=all)
-     * @param aFlags operation flags (see RemoteAccess.h)
-     */
-    TInt GetFile(const TDesC& aRemotePathName,
-                 const TDesC& aLocalPathName,
-                 TInt aOffset,
-                 TInt* aLength,
-                 TUint aFlags);
-
-    /**
-     * Makes a directory.
-     *
-     * @param aPathName path name of the new directory
-     */
-    TInt MakeDirectory(const TDesC& aPathName);
-
-
-    /**
-     * Creates an empty file on the remote server
-     *
-     * @param aPathName path name of the new file
-     */
-    TInt CreateFile(const TDesC& aPathName);
-
-    /**
-     * Puts a file to the server.
-     *
-     * @param aLocalPathName path name of the local file
-     * @param aRemotePathName path name of the remote file
-     */
-    TInt PutFile(const TDesC& aLocalPathName,
-                 const TDesC& aRemotePathName);
-
-    /**
-     * Deletes a directory.
-     *
-     * @param aPathName path name of the directory to be deleted
-     */
-
-    TInt DeleteDirectory(const TDesC& aPathName);
-
-    /**
-     * Deletes a file.
-     *
-     * @param aPathName path name of the file to be deleted
-     */
-    TInt DeleteFile(const TDesC& aPathName);
-
-
-    /**
-     * Renames a file or a directory.
-     * (may involve movement to another directory).
-     *
-     * @param aSrcPathName path name of the object to be renamed
-     * @param aDstPathName new path name of the object
-     * @param aOverwrite allow overwriting an existing object
-     */
-    TInt Rename(const TDesC& aSrcPathName,
-                const TDesC& aDstPathName,
-                TBool aOverwrite);
-
-    /**
-     * Obtains a lock for the given file system object
-     * Note that this function is not be implemented by all
-     * file access protocols (e.g., FTP), some protocols only
-     * implement write locking (e.g., WebDAV).
-     *
-     * @param aPathName path name of the object to be locked
-     * @param aLockFlags indicates whether a write or read lock is requested
-     * @param aTimeout the timeout that is requested and granted
-     * @param aLockToken acquired lock token - the caller gets ownership
-     */
-    TInt ObtainLock(const TDesC& aPathName,
-                    TUint aLockFlags,
-                    TUint& aTimeout,
-                    TDesC8*& aLockToken
-                    );
-
-    /**
-     * Releases the lock of the given file system object
-     * Note that this function is not be implemented by all
-     * file access protocols (e.g., FTP).
-     *
-     * @param aPathName path name of the object to be locked
-     */
-    TInt ReleaseLock(const TDesC& aPathName);
-
-    /**
-     * Refreshes the lock of the given file system object
-     * Note that this function is not be implemented by all
-     * file access protocols (e.g., FTP).
-     *
-     * @param aPathName path name of the object to be locked
-     * @param aTimeout the timeout that is requested and granted
-     * @param aResponseHandler response handler
-     */
-    TInt RefreshLock(const TDesC& aPathName, TUint& aTimeout);
-
-    // from MRemoteAccessResponseHandler
-    virtual void HandleRemoteAccessResponse(TUint aId, TInt aStatus);
-
-    /**
-     * Sets lock token for the a given resource
-     * This lock token value replaces any previously cached token value
-     *
-     * @param aPathName path name
-     * @param aLockToken lock token
-     * @return error code
-     */
-    TInt SetLockToken(const TDesC& aPathName, const TDesC8& aLockToken);
-
-private:
-    void ConstructL(const TDesC8& aProtocol,
-                    CRsfwRemoteAccess* aRemoteAccess = NULL);
-    TInt Epilog();
-    
-
-private:
-    CRsfwRemoteAccess*   iRemoteAccess;
-    TBool                iOwnRemoteAccess; //  whether we own iRemoteAccess
-    CActiveSchedulerWait* iSchedulerWait;
-    TInt                 iStatus;          // operation return status
-    TBool                iPending;         // is there a pending request
-    };
-
-#endif // CRSFWREMOTEACCESSSYNC_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwrenamefilestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for renaming files
-*
-*/
-
-
-#ifndef C_RSFW_RENAMEFILESTATEMACHINE_H
-#define C_RSFW_RENAMEFILESTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-
-/**
- *  Renames a file
- *
- *  State machine for renaming a file. Re-acquires possible lock.
- *
- */
- class CRsfwRenameFileStateMachine : public CRsfwRfeStateMachine
-    {
-public:
-    CRsfwRenameFileStateMachine();
-    ~CRsfwRenameFileStateMachine();
-        
-public: 
-    class TRenameFileState : public CRsfwRenameFileStateMachine::TState
-        {
-    public:
-        TRenameFileState(CRsfwRenameFileStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwRenameFileStateMachine* iOperation;    
-        };
-        
-    class TAcquireLockState : public CRsfwRenameFileStateMachine::TState
-        {
-    public:
-        TAcquireLockState(CRsfwRenameFileStateMachine *aOperation);
-        void EnterL();
-        TState* CompleteL();
-        TState* ErrorL(TInt aCode);
-    private:
-        CRsfwRenameFileStateMachine* iOperation;
-    private:
-        TBool iRequestedLock; 
-        };
-             
-public:
-    TState* CompleteRequestL(TInt aError);
-        
-public:
-    // rename or replace
-    TBool iOverWrite;
-    
-    TPtrC iDstKidName;
-        
-    CRsfwFileEntry* iDstParentFep;
-    CRsfwFileEntry* iSrcKidFep;
-    CRsfwFileEntry* iDstKidFep;
-        
-    TBool iSrcKidCreated;
-    TBool iDstKidCreated;
-        
-    CRsfwDirEntAttr* iDirEntAttr;    
-    TDesC8* iLockToken;
-    };
-
-
-#endif // C_RSFW_RENAMEFILESTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwrequestallocator.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Operation and request allocation and deletion
-*
-*/
-
-#ifndef RSFWTRequestType_H
-#define RSFWTRequestType_H
-
-#include <e32def.h>
-
-class CRsfwRfeSyncOperation;
-class CRsfwRfeAsyncOperation;
-class CRsfwRfeMessageRequest;
-class CRsfwRfeRequest;
-class RMessage2;
-class CRsfwRfeSession;
-
-/**
- *  Operation and request allocation and deletion
- */
-class RsfwRequestAllocator
-    {
-public:
-    static CRsfwRfeSyncOperation* GetSyncOperation(CRsfwRfeRequest* aRequest,
-                                               TInt aCaller);
-    static CRsfwRfeAsyncOperation* GetAsyncOperation(CRsfwRfeRequest* aRequest,
-                                                 TInt aCaller);
-    static CRsfwRfeMessageRequest* GetMessageRequest(const RMessage2& aMessage,
-                                                 CRsfwRfeSession* aSession);
-    // request gets ownership of its operation, and deletes it
-    static void FreeRequest(CRsfwRfeRequest* aRequest);
-    };
-    
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwrfeasyncoperation.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Encapsulates an asynchronous operation
-*
-*/
-
-#ifndef C_RSFWRFEASYNCOPERATION_H
-#define C_RSFWRFEASYNCOPERATION_H
-
-#include "rsfwrfeoperation.h"
-
-class CRsfwRfeStateMachine;
-class CRsfwRfeRequest;
-class TRsfwMountConfig;
-
-/**
- *  Encapsulates an asynchronous operation.
- *
- *  Async. operations are implemented as state machines.
- *
- */
-class CRsfwRfeAsyncOperation : public CRsfwRfeOperation
-    {
-public:
-    ~CRsfwRfeAsyncOperation();
-public:
-    CRsfwRfeStateMachine* Implementation();
-    void SetImplementation(CRsfwRfeStateMachine*);
-    void SetL(CRsfwRfeRequest* aRequest, TInt aOpCode);
-private:
-    void VerifyMountConfigL(TRsfwMountConfig& aMountConfig);
-private:
-    CRsfwRfeStateMachine* iImplementation; 
-    };
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwrfemessagerequest.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2005-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:  A request sent by a client (i.e. non-internal request)
-*
-*/
-
-#ifndef C_RSFWRFEMESSAGEREQUEST_H
-#define C_RSFWRFEMESSAGEREQUEST_H
-
-#include "rsfwrferequest.h"
-
-class CRsfwRfeSession;
-
-
-/**
- *  A request sent by a client (i.e. non-internal request)
- *
- *  In practise from Remote file-system plugin
- *
- */
-class CRsfwRfeMessageRequest : public CRsfwRfeRequest
-    {
-public:
-    CRsfwRfeMessageRequest();
-    void SetL(const RMessage2& aMessage,CRsfwRfeSession* aSession);
-    const RMessage2& Message();
-    CRsfwRfeSession* Session();
-    void SetSession(CRsfwRfeSession* aSession);
-    //
-    void Complete(TInt aError);
-    void CompleteAndDestroy(TInt aError);
-private:
-    void Destroy();    
-public:
-    TBool iMessageCompleted;
-
-protected:
-    RMessage2 iMessage;
-    CRsfwRfeSession* iSession;
-    };
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwrfeoperation.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for operation encapsulation
-*
-*/
-
-#ifndef C_RSFWRFEOPERATION_H
-#define C_RSFWRFEOPERATION_H
-
-#include <e32base.h>
-
-#include "rsfwrferequest.h"
-
-/************************
- * Operation Encapsulation 
- ************************/
-typedef void (*TRFeRequestFunc)(CRsfwRfeRequest*);
-
-
-/**
- *  Base class for operation encapsulation
- *
- *
- */
-class CRsfwRfeOperation : public CBase
-    {
-public:
-    TBool IsSync() const;
-    TInt Function();
-    void Set(TInt aOpCode);
-public:
-    TInt iFunction;
-    TBool iIsSync;
-    };
-
-
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwrferequest.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for request encapsulation.
-*
-*/
-
-#ifndef C_RSFWRFEREQUEST_H
-#define C_RSFWRFEREQUEST_H
-
-class TParse;
-class TRfeInArgs;
-class TRfeOutArgs;
-class CRsfwVolumeTable;
-class CRsfwVolume;
-class CRsfwRfeOperation;
-
-
-#include <e32base.h>
-
-// type of the request
-// in the future we could have e.g. internal requests
-enum TRequestType 
-	{
-	EMessageRequest
-	};
-
-
-/**
- *  Base class for request encapsulation.
- *
- *
- */
-class CRsfwRfeRequest : public CBase
-    {
-public:
-    ~CRsfwRfeRequest();
-    //
-    virtual void CompleteAndDestroy(TInt aError) = 0;  // pure virtual
-    
-    void Destroy();
-    virtual void Dispatch();
-    virtual TParse& Src();
-    virtual TParse& Dest();
-    //
-    CRsfwRfeOperation* Operation();
-    void SetOperation(CRsfwRfeOperation* aCaller);
-    TRequestType RequestType();
-    void SetRequestType(TRequestType aRequestType);
-    
-// Request parameters
-public:
-    TRfeInArgs*    iInArgs;
-    TRfeOutArgs*   iOutArgs;
-
-    CRsfwVolumeTable*  iVolumeTable;
-    // volume can be null in mount operation, but not after that  
-    CRsfwVolume*       iVolume;
-public:
-    TDblQueLink    iLink;
-protected:
-    CRsfwRfeOperation* iOperation;
-private:
-    TRequestType   iRequestType;
-    };
-
-#endif
-
--- a/remotestoragefw/remotefileengine/inc/rsfwrfeserver.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Remote File Engine server
-*
-*/
-
-
-#ifndef C_RSFWRFESERVER_H
-#define C_RSFWRFESERVER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-
-class CRsfwVolumeTable;
-
-// CONSTANTS
-/** Panic Category */
-_LIT(KRfeServer, "RemoteFileEngine");
-
-// for security check, same as File Server UID
-const TUint KFileServerSecureUid = 0x100039e3;
-
-/** server inactivity timeout, in seconds */
-const TInt KRfeServerShutdownInterval = 5; 
-
-
-// DATA TYPES
-/** Remote File Engine panic codes */
-enum TRfePanic
-    {
-    EBadRequest,
-    EBadDescriptor,
-    ESrvCreateServer,
-    ECreateTrapCleanup,
-    ENullRequestHandler,
-    EUndefinedRequest,
-    ECacheInconsistency,
-    EConstructingServerStructs
-    };
-
-// MACROS
-
-// FORWARD DECLARATIONS
-class CRsfwConfig;
-class CRsfwRfeServer;
-
-
-// CLASS DECLARATION
-class TRfeEnv
-    {
-public:
-    RFs iFs;
-    TInt iCacheDrive; 
-    TFileName iCacheRoot;
-    CRsfwConfig* iRsfwConfig;
-    };
-
-
-// CLASS DECLARATION
-
-class CRsfwRfeServer: public CPolicyServer
-    {
-    friend class CRsfwRfeSession;
-
-public:
-    static CRsfwRfeServer* NewL();
-    static CRsfwRfeServer* NewLC();
-    static TInt ThreadFunction(TAny* aNone);
-
-    void IncrementSessions();
-    void DecrementSessions();
-
-    void AllEnginesIdling(TInt aTimeout);
-    void ServiceRequested();
-
-    static TRfeEnv* Env()
-        {
-        return iEnvp;
-        }
-
-protected:
-    TInt RunError(TInt aError);
-    
-    // custom action when capability checked failed - basically this allows File Server to always
-    // pass based on its SID (File Server does not have NetworkServices or ReadDeviceData capabilities)
-    TCustomResult CustomFailureActionL(const RMessage2& aMsg, 
-                                       TInt aAction, 
-                                       const TSecurityInfo& aMissing);
-
-private:
-    CRsfwRfeServer(TInt aPriority, TServerType aType) ;
-    void ConstructL() ;
-    static void PanicClient(const RMessage2& aMessage, TRfePanic aReason);
-    static void PanicServer(TRfePanic aReason);
-    static void ThreadFunctionL();
-    CSession2* NewSessionL(const TVersion &aVersion,
-                           const RMessage2& aMessage) const;
-    void PrepareCacheRootL();
-    void ShutDown();
-    void StartDelayedShutdownTimer(TInt aTimeout);
-    void StopDelayedShutdownTimer();
-    static TInt DelayedShutdownTimerExpired(TAny* aArg);
-    
-protected:
-    CRsfwVolumeTable*              iVolumes;
-
-private:
-    TInt                       iSessionCount;
-    TRfeEnv                    iEnv;
-    static TRfeEnv*            iEnvp;
-    TBool                      iShuttingDown;
-    CPeriodic*                 iDelayedShutdownTimer;
-    };
-
-#endif // RFESERVER_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwrfesession.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Remote File Engine session manager
-*
-*/
-
-
-#ifndef C_RSFWRFESESSION_H
-#define C_RSFWRFESESSION_H
-
-#include <e32base.h>
-#include "rsfwrfemessagerequest.h"
-#include "rsfwcontrol.h" // KDefaultMessageSlots = 4
-
-class CRsfwRfeServer;
-class CRsfwRfeOperation;
-class CRsfwVolumeTable;
-class CRsfwRfeRequest;
-
-// CLASS DECLARATION
-// class CRsfwRfeSession: public CSharableSession
-
-class CRsfwRfeSession: public CSession2
-{
-public:
-    static CRsfwRfeSession* NewL(CRsfwRfeServer& aServer);
-    static CRsfwRfeSession* NewLC(CRsfwRfeServer& aServer);
-    ~CRsfwRfeSession();
-    void ServiceL(const RMessage2& aMessage);
-    CRsfwVolumeTable* Volume();
-    CRsfwRfeServer* Server();
-    
-    void RemoveFromMessageRequestArray(CRsfwRfeMessageRequest* aMessageRequest);
- private:
-    CRsfwRfeSession(CRsfwRfeServer& aServer);
-    CRsfwRfeOperation* GetOperation(CRsfwRfeRequest* pR, TInt aOperation);
-    void ConstructL();
-#ifndef SHARABLE_SESSION
-    void PanicClient(TInt aPanic) const;
-#endif
-    void SetToMessageRequestArray(CRsfwRfeMessageRequest* aMessageRequest);
-
-protected:
-    void Disconnect(const RMessage2& aMessage);
-    
-
-private:
-    CRsfwRfeServer& iRfeServer; 
-    CRsfwVolumeTable* iVolumes;
-    CRsfwRfeMessageRequest* iMessageRequests[KDefaultMessageSlots];
-    };
-
-#endif RFESESSION_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwrfestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for all operation state machines
-*
-*/
-
-#ifndef C_RSFW_RFESTATEMACHINE_H
-#define C_RSFW_RFESTATEMACHINE_H
-
-#include <e32base.h>
-#include "rsfwremoteaccess.h"
-
-class CRsfwRfeRequest;
-class CRsfwVolumeTable;
-class CRsfwFileEngine;
-class TRfeInArgs;
-class TRfeOutArgs;
-class CRsfwFileEntry;
-class TFid;
-
-const TInt KUpdateNotRequired = 5;
-
-/**
- *  Base class for all operation state machines
- *
- */
-class CRsfwRfeStateMachine : public CBase, public MRsfwRemoteAccessResponseHandler
-    {
-public:
-    
-    class TState
-        {
-    public: 
-        virtual void EnterL()=0;// pure virtual
-        virtual TState* CompleteL();
-        virtual TState* ErrorL(TInt aCode);
-        virtual void Cancel();
-        };
-        
-    class TCompleteAndDestroyState : public CRsfwRfeStateMachine::TState 
-        {
-    public:
-        TCompleteAndDestroyState(CRsfwRfeStateMachine* aOperation,
-                                 TInt aErrCode = 0);
-        void EnterL();  
-        void SetErrorCode(TInt aErrorCode);
-    private:
-        CRsfwRfeStateMachine* iOperation;
-        TInt iErrCode;
-        };
-
-public:
-    void BaseConstructL();
-    ~CRsfwRfeStateMachine();
-    
-    virtual TState* ErrorOnStateEntry(TInt aError);
-    
-    void ChangeState(TState* aNextState);
-    void EnterState(TState* aNextState);
-    void SetNextState(TState* aNextState);
-    void ReEnterCurrentState(); 
-    void SetRequest(CRsfwRfeRequest* aRequest);
-    CRsfwRfeRequest* Request();
-    inline TState* CurrentState(){return iState;};
-    inline TCompleteAndDestroyState* CompleteAndDestroyState()
-        {return iCompleteAndDestroyState;};
-    
-    // completes client's request
-    virtual TState* CompleteRequestL(TInt aError)=0;
-    
-    void SetVolumes(CRsfwVolumeTable* aImplementor);
-    void SetFileEngine(CRsfwFileEngine* aFileEngine);
-    void SetArguments(TRfeInArgs* aInArgs, TRfeOutArgs* aOutArgs);
-    CRsfwVolumeTable* Volumes();
-    CRsfwFileEngine* FileEngine();
-    CRsfwFileEntry* Node();
-    virtual TState* ErrorOnStateExit(TInt aError);
-
-    // from MRsfwRemoteAccessResponseHandler
-    void HandleRemoteAccessResponse(TUint aId, TInt aStatus); 
-    void DoCancel();
-    
-public:
-    TRfeInArgs* iInArgs;
-    TRfeOutArgs* iOutArgs;
-    
-private:
-    CRsfwFileEntry* iFep;   // target file/directory parameter used by almost all state machines:
-    TCompleteAndDestroyState* iCompleteAndDestroyState; // pre-created so that the request can always be completed (OOM situations etc.)
-    TState*  iState; // our current state  
-    CRsfwRfeRequest *iRFeRequest; // back pointer to the request we are running
-    CRsfwVolumeTable* iImplementor; // class that implements the operations
-    CRsfwFileEngine* iFileEngine; // the file engine    
-    };
-  
-
-
-#endif // C_RSFW_RFESTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwrfesyncoperation.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Encapsulates synchronous operation
-*
-*/
-
-#ifndef C_RSFWRFESYNCOPERATION_H
-#define C_RSFWRFESYNCOPERATION_H
-
-#include "rsfwrfeoperation.h"
-
-
-
-/**
- *  Encapsulates a synchronous operation
- *
- *  Synchronous operation can be implemented as a simple function pointer.
- *
- */
- class CRsfwRfeSyncOperation : public CRsfwRfeOperation 
-    {
-public:
-    void DoRequestL(CRsfwRfeRequest* aRequest);
-    void Set(CRsfwRfeRequest* aRequest, TInt aCaller);
-private:
-    TRFeRequestFunc iDoRequestL;
-    };
-
-#endif
-
--- a/remotestoragefw/remotefileengine/inc/rsfwsession.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Defines the standard Symbian IPC for using Access API
- *
-*/
-
-
-#ifndef RRSFWSESSION_H
-#define RRSFWSESSION_H
-
-//  INCLUDES
-#include <e32base.h>
-//#include <f32file.h>
-//#include <s32strm.h>
-
-//  INTERNAL INCLUDES
-//#include "rsfwcontrol.h"
-#include "rsfwcommon.h"
-//#include "rsfwinterface.h"
-class TFid;
-class TEntry;
-class TDirEntAttr;
-
-enum TRequestCodes
-    {
-    ERequestPending
-    };
-
-
-// CLASS DECLARATION
-/**
- *  This class provides the client-side interface to the server session.
- *
- *  @lib rsfwsession.dll
- *  @since Series 60 3.1
- */
-class RRsfwSession : public RSessionBase
-    {
-public: // Constructors and destructor
-    /**
-     * Constructor.
-     */
-    IMPORT_C RRsfwSession();
-    
-public: // New functions
-    /**
-     * Connect to the server and create a session.
-     * @since Series 60 3.1
-     * @param aServerName Server name.
-     * @return Standard error code.
-     */    
-    IMPORT_C TInt Connect();
-    
-     /**
-     * Close the session
-     * @since Series 60 3.1
-     */    
-    IMPORT_C void Close();    
-    
-    /**
-     * Get the server version number.
-     * @since Series 60 3.1
-     * @return The version number of the server.
-     */            
-    IMPORT_C TVersion Version() const;
-        
-     /**
-     * Issue request to rename or replace a file or a directory
-     * @since Series 60 3.1
-     * @param aSourceFid   Fid of the source file's parent directory
-     * @param aSourceName  The name of the object to be renamed
-     *                   (for dirs must have a trailing backslash)
-     * @param aDestFid     Fid of the destination directory
-     * @param aDestName    The name of the target object
-     *                  (for dirs must have a trailing backslash)
-     * @return
-     */
-    IMPORT_C TInt MoveFids( TFid aSourceFid, 
-                             const TDesC& aSourceName, 
-                             TFid aDestFid, 
-                             const TDesC& aDestName,
-                             TBool aOverWrite );
-    
-   /**
-     * Issue request to set entry details for a specified file or directory.
-     * @since Series60 3.1
-     * @param aFid   Fid of the target file or directory
-     * @param aTime  A reference to the time object holding the new universal
-     *               modified time for aName.
-     * @param aSetAttMask   Attribute mask for setting the entry's attributes.
-     * @param aClearAttMask Attribute mask for clearing the entry's attributes.
-     * @return
-     */                              
-    IMPORT_C TInt SetEntry( TFid aFid,
-                             const TTime& aTime,
-                             TUint aSetAttMask,
-                             TUint aClearAttMask);
-                             
-    /**
-     * Issue request to flush an entry from the cache.
-     * @since Series 60 3.1
-     * @param aFid The fid of the file or directory to be flushed.
-     * @return
-     */  
-    IMPORT_C TInt FlushCache( TFid& aFid );                  
-                             
-    /**
-     * Issue request to raise the cache priority of an already
-     * cached file.
-     * @since Series 60 3.1
-     * @param aFid The fid of the file.
-     * @return
-     */      
-    IMPORT_C TInt SetHighCachePriority( TFid& aFid );   
-    
-    /**
-     * Issue request to fetch file or directory attributes.
-     * @since Series 60 3.1
-     * @param aFileFid     Fid of the file.
-     * @param aAttributes  On success, contains the file attributes 
-     *                     (TEntry::iName is not filled)
-     * @return 
-     */                                   
-    IMPORT_C TInt GetAttributes( TFid aFileFid, 
-                                 TEntry& aAttributes );    
-                         
-     /**
-     * Issue request to open this fid and return the path of the container file
-     * Note that this is "OPEN" operation, e.g. if the mode is relevant a lock
-     * will be acquired and will be refreshed until the file is closed.
-     * @since Series 60 3.1
-     * @param aFid        Fid of the file or directory.
-     * @param aContainer  Pointer to descriptor which will, on success, contain 
-     *                    the full path of the container file.
-     * @param aAttr       aAttr.iAtt: Open mode, controls acquiring locks etc. 
-     *                    on return, contains size etc.
-     * @param aTrueOpen   Whether File Server opens the file, or ReadSection was called in
-     *                    which case we also mimic the sequence of opening a file  
-     *                    (file is not candidate for removing from cache if it has been
-     *                     opened by the File Server).         
-     * @return 
-     */             
-    IMPORT_C TInt OpenByPath( TFid aFid, 
-                              TDes& aContainerPath, 
-                              TDirEntAttr* aAttr, 
-                              TBool aTrueOpen);   
-     
-    /**
-     * Issue request to initialize the remote mount.
-     * @since Series 60 3.1
-     * @param   Upon successfull return, will contain the Fid of the root directory
-     * @return 
-     */
-    IMPORT_C TInt RfeInit(TFid& aRootFid);         
-    
-    
-    /**
-     * Issue request to make a directory.
-     * @since Series 60 3.1
-     * @param aParentFid Fid of the parent directory.
-     * @param aDirName   The name of the new directory.
-     * @return
-     */ 
-    IMPORT_C TInt MakeDirectory( TFid aParentFid, 
-                                 const TDesC& aDirName );
-                                    
-    /**
-     * Issue request to remove a directory.
-     * @since Series 60 3.1
-     * @param aParentFid Fid of the parent directory.
-     * @param aDirName   The name of the directory to be removed.
-     * @return
-     */
-    IMPORT_C TInt RemoveDirectory( TFid aParentFid, 
-                                   const TDesC& aDirName );
-                              
-
-     /**
-     * Issue request to create and open a file.
-     * Note that this is "OPEN" operation, e.g. if the mode is relevant a lock
-     * will be acquired and will be refreshed until the file is closed.
-     * @since Series 60 3.1
-     * @param aParentFid Fid of the parent directory.
-     * @param aFileName  The name of the new file.
-     * @param aMode      The mode in which the file will be opened.
-     * @param aExcl      Boolean indicating whether it is ok to overwrite an existing file.
-     *                   (ETrue = exclusive = no overwriting)
-     * @param aNewFid       Upon successful return, contains the fid of the new file
-     * @return 
-     */        
-    IMPORT_C TInt CreateFile( TFid aParentFid, 
-                      const TDesC& aFileName, 
-                      TUint aMode, 
-                      TUint aExcl,
-                      TFid& aNewFid);
-
-    /**
-     * Issue request to remove a file.
-     * @since Series 60 3.1
-     * @param aParentFid Fid of the parent directory.
-     * @param aFileName   The name of the file to be removed.
-     * @return
-     */
-    IMPORT_C TInt RemoveFile( TFid aParentFid, 
-                      const TDesC& aFileName );
-
-
-    /**
-     * finds the fid of a file system object
-     * @since Series 60 3.1
-     * @param aParentFid fid of the parent directory
-     * @param aName name of the child to be looked up
-     * @param aNodeType is the type of the child, 
-     *                  KNodeTypeUnknown,KNodeTypeFile or KNodeTypeDir
-     *      (also a trailing backslash in the name indicates KNodeTypeDir)
-     * @param aFid upon successful return contains the fid 
-     *        of the object to be looked up
-     * @return
-     */        
-    IMPORT_C TInt Lookup( TFid aParentFid, 
-                  const TDesC& aName, 
-                  TUint aNodeType,
-                  TFid& aFid );
-                  
-     /**
-     * Tells Remote File Engine that a file has been closed
-     * @since Series 60 3.1
-     * @param aFid Fid of the file that was closed
-     * @param aFlags whether the file has been changed
-     * @return 
-     */
-    IMPORT_C void CloseFile( const TFid aFid, 
-                 TUint aFlags); 
-                 
-            
-     /**
-     * Tells Remote File Engine to write a file that has been 
-     * modified back to the server. However, File Server does
-     * not close the file.
-     * @since Series 60 3.1
-     * @param aFid Fid of the file to be flushed
-     * @param aFirstByte the first byte to be flushed
-     * @param aLastByte the first byte to be flushed
-     * @param aTotalSize the full size of the file
-     * @return 
-     */
-    IMPORT_C TInt Flush( const TFid aFid,
-                         TInt aFirstByte,
-                         TInt aDataLength,
-                         TInt aTotalSize );
-        
-    /**
-     * Issue requet to fetch and cache a file or a directory
-     * @since Series 60 3.1
-     * @param aFileFid the fid of the file to be cached
-     * @param aFirstByte the first byte to be cached (0 for dirs)
-     * @param aLastByte the last byte to be cached (0 for dirs)
-     * @param aCachedBytes upon succesful return,
-     *          the number of bytes cached after this fetch
-     * @return
-     */
-    IMPORT_C TInt Fetch( TFid aFileFid, 
-                 TInt aFirstByte, 
-                 TInt aLastByte,
-                 TInt& aCachedBytes );                      
-
-
-    /**
-     * Issue request to fetch data without permanent caching.
-     * @since Series 60 3.1
-     * @param aFileFid the fid of the file to be fetched
-     * @param aFirstByte the first byte to be fetched
-     * @param aLastByte the last byte to be fetched
-     * @param aTempFileName the path of the temp file 
-     *        where the data will be stored
-     * @param aUseTempPath FALSE if the caching mode was such
-     *                     that the data was anyway stored into
-     *                     the normal cache file.
-     *        
-     * @return 
-     */    
-    IMPORT_C TInt FetchData( TFid aFileFid, 
-                      TInt aFirstByte, 
-                      TInt aLastByte,
-                      TDes& aTempFileName,
-                      TBool& aUseTempPath);
-
-    /**
-     * Queries from Remote File Engine whether there is enough local cache 
-     * space to write aBytes of data
-     * @since Series 60 3,1
-     * @param aFid   fid of the file whose data will be written
-     * @param aBytes the number of bytes to be written
-     * @return a boolean value indicating whether the data can be written
-     */
-    IMPORT_C TInt OkToWrite( TFid aFid, 
-                            TUint aBytes,
-                            TBool& aOkToWrite );
-
-private:
-    static TInt StartServer( const TDesC& aServerName );
-    static TInt CreateServerProcess( const TDesC& aServerName );
-    TInt SendRequest(TInt aOpCode, TInt aDrive, TIpcArgs aArgs);
-    };
-
-#endif // RRSFWSESSION_H
-
-// End of File
--- a/remotestoragefw/remotefileengine/inc/rsfwsyncoperations.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2005-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:  functions for synchronous operations
-*
-*/
-
-
-#ifndef RSFW_SYNCOPERATIONS_H
-#define RSFW_SYNCOPERATIONS_H
-
-class CRsfwRfeRequest;
-
-
-/**
- *  wrapper for all sync requests
- *
- */
-class TRFeSynCRsfwRfeRequest
-    {
-public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);
-    };
-    
-/**
- *  dismount a previously mounted volume
- *
- *	by volume ID	
- *
- */
-class TRFeDismountVolumeId
-    {
-public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);
-    };
-    
-/**
- *  dismount a previously mounted volume
- *
- *	by drive letter
- *
- */ 
-class TRFeDismountByDriveLetter
-    {
-public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);
-    };
-    
- /**
- *  get a list of currently active mounts
- *
- */    
-class TRFeGetMountList
-    {
-public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);
-    };
-    
-/**
- *  get information about a specific mount
- *
- */    
-class TRFeGetMountInfo
-    {
-public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);
-    };
-    
-/**
- *  get permission to write certain amount of data
- *
- */      
-class TRFeWriteData
-    {
-public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);
-    };
-    
-/**
- *  refresh a directory
- *
- */     
-class TRFeDirectoryRefresh
-    {
- public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);   
-    }; 
-       
-/**
- *  cancel all active upload/dowload operations
- *
- */         
-class TRFeCancelAll
-    {
- public:
-    static void DoRequestL(CRsfwRfeRequest* aRequest);   
-    };            
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwvolume.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  data struct for a volume
-*
-*/
-
-#ifndef C_RSFWVOLUME_H
-#define C_RSFWVOLUME_H
-
-#include "rsfwcontrol.h"
-
-
-class CRsfwFileEngine;
-class CRsfwVolumeTable;
-
-/** default volume inactivity timeout, in seconds */
-const TInt KDefaultInactivityTimeout        = 600;  
-
-class CRsfwVolume: public CBase
-    {
-public:
-    ~CRsfwVolume();
-    TRsfwMountInfo* MountInfo();
-    void GetMountInfo(TRsfwMountInfo& aMountInfo);
-    void OperationCompleted();
-    void ConnectionStateChanged(TInt aConnectionState);
-    
-public:
-    TRsfwMountInfo    iMountInfo;        // mount configuration information
-    CRsfwFileEngine*  iFileEngine;       // remote file engine
-    CRsfwVolumeTable* iVolumeTable;      // backpointer to volume table 
-    };
-
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwvolumetable.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:  data struct for all volumes
-*
-*/
-
-#ifndef C_RSFWVOLUMETABLE_H
-#define C_RSFWVOLUMETABLE_H
-
-#include <e32property.h>
-#include <f32file.h>
-
-#include "rsfwlruprioritylist.h"
-
-class CRsfwRfeServer;
-class CRsfwConfig;
-class TRsfwMountInfo;
-class TRsfwMountConfig;
-class TRsfwMountStatus;
-class CRsfwVolume;
-class TTime;
-class CRsfwMountStateMachine;
-class CRsfwWaitNoteManager;
-class CRsfwMountStore;
-class CRsfwDormantMountLoader;
-
-/** caching mode */
-enum TCachingMode 
-    {
-    EWholeFileCaching,
-    EMetadataIfa,
-    EFullIfa
-    };
-
-/** theoretical maximum number of volumes - A to Z */    
-const TInt KMaxVolumes = 26; 
-
-
-/** Shutdown after all mounts have become dormant/disconnected */
-const TInt KRsfwDormantShutdownTimeout = 120;
-
-class CRsfwVolumeTable: public CBase
-    {
-public:
-    static CRsfwVolumeTable* NewL(CRsfwRfeServer* aRfeServer,
-                              CRsfwConfig* aRsfwConfig);
-    ~CRsfwVolumeTable();
-
-    void DispatchL(TAny* aIp, TAny* aOp);
-    TInt VolumeIdByDriveLetter(TChar aDriveLetter);
-    CRsfwVolume* VolumeByVolumeId(TInt aVolumeId);
-    CRsfwVolume* VolumeByDriveLetter(TChar aDriveLetter);
-    void RestoreDormantMountsL();
-    TUint RecoverVolumeL(const TRsfwMountConfig& aMountConfig,
-                        CRsfwMountStateMachine* aCaller);
-    TInt MountState(TChar aDriveLetter);
-    TInt GetMountConfigL(TRsfwMountConfig& aMountConfig);
-    void RestoreVolumesL();
-    void DismountByVolumeIdL(TInt aVolumeId, TBool aDiscardPermanentData);
-    void DismountByDriveLetterL(TChar aDriveLetter,
-                                TBool aDiscardPermanentData);
-    void GetMountList(TDriveList& aMountList);
-    TInt GetMountInfo(TRsfwMountInfo& aMountInfo);
-    void GetMimeTypeSpecificLimits();
-
-    // Cache management functions
-    TBool EnsureCacheCanBeAddedL(TInt aBytes);
-    TBool EnsureMetadataCanBeAddedL(CRsfwFileEntry* aParent);
-    TBool IsRoot(const CRsfwFileEntry* aEntry);
-    TInt TotalCachedSize();
-    TInt TotalEntryCount();
-    void AddToLRUPriorityListL(CRsfwFileEntry *aFe, TInt aPriority);
-    void RemoveFromLRUPriorityList(CRsfwFileEntry *aFe);
-    void AddToMetadataLRUPriorityListL(CRsfwFileEntry *aFe, TInt aPriority);
-    void RemoveFromMetadataLRUPriorityList(CRsfwFileEntry *aFe);
-    void MoveToTheBackOfMetadataLRUPriorityListL(CRsfwFileEntry *aFe);
-    void WillLRUPriorityListBeInternalized();
-    TBool CheckAndAddProcessStartMarker();
-    void DeleteTheMarker();
-    void CleanupCorruptedCacheL();
-    void OperationCompleted(CRsfwVolume* aVolume);
-    void VolumeStateChanged(CRsfwVolume* aVolume);
-    CRsfwWaitNoteManager* WaitNoteManager();    
-    TBool IsCachedDataStillValid(TTime aCachedTime);
-    TBool IsCachedAttrStillValid(TTime aCachedTime);
-    
-    // removes from cache all the data for certain path
-    // this is "refresh", i.e to ensure that next readdir fetches the data 
-    // form server
-    TInt PurgeFromCache(TDesC& aCachePath);
-    
-    TInt CancelTransferL(TDesC& aFilePath);
-    
-    void MountDormantL(const TRsfwMountConfig& aMountConfig, TInt aVolumeId);
-
-    void PublishConnectionStatus(CRsfwVolume* aVolume);
-
-private:
-    void ConstructL(CRsfwRfeServer* aRfeServer, CRsfwConfig* aRsfwConfig);
-    TBool IsCacheStillValid(TTime aCachedTime, TTimeIntervalSeconds aValidity);
-    void ExternalizeLRUPriorityList();
-    void ExternalizeLRUPriorityListL();
-    void InternalizeLRUPriorityListL();
-    TBool IsMountIdle(TRsfwMountStatus& aMountStatus);
-
-public:
-    // configuration parameters read from the configuration file
-    TInt iMaxCacheSize;       // maximum allowed cache size (global)
-    TInt iMaxEntryCount;      // maximum number of cached entries (global)
-   
-    TCachingMode iCachingMode;
-    TInt iRecognizerLimit;
-    TInt iImageJpegLimit;
-    TInt iAudioMpegLimit;
-    TInt iInactivityTimeout;
-
-public:
-    CRsfwVolume* iVolumes[KMaxVolumes];  // alphabet
-    TInt iLastVolumeId;
-    CRsfwConfig* iRsfwConfig;        // RSC configuration
-
-    TBool iPermanence;               // use permanent meta data
-    CRsfwMountStore* iMountStore;        // mount configuration repository
-    CRsfwLruPriorityList iLRUPriorityList;
-    CRsfwLruPriorityList iMetadataLRUPriorityList;
-    CRsfwRfeServer* iRfeServer;
-    TBool iUseExternalizedLRUList; // whether to use externalized LRU list data or not
-    TBool iDormantMountRestorePending; // true when, after server startup, we start to restore mounts
-
-private:
-    CRsfwDormantMountLoader* iDormantMountLoader; // loads dormant mounts asynchronously shortly after server start
- 	CRsfwWaitNoteManager* iWaitNoteManager; // Implements handling of global wait notes
-	// associated with this class because when we come to Connect(), not much else is available
-	
-    TBool iAllEnginesIdle;          // are all the engines idle
-    RProperty iMountStateProperty;   // property for connection state signaling
-    TInt iFileCacheTimeout;   // how long cached files are assumed to be valid
-    TInt iDirCacheTimeout;    // how long cached dirs are assumed to be valid
-    
-    // these are also available from TRfeEnv, but they are used so many times
-    // by this class that an own pointer is justified
-    RFs iFs; // handle to RFs session, owned by RfeServer
-    TFileName* iCacheRoot; // pointer to cacheroot, owned by RfeServer
-    };
-
-
-#endif
--- a/remotestoragefw/remotefileengine/inc/rsfwwaitnotemanager.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +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:  Global wait notes used in Remote File Engine
-*
-*/
-
-
-#ifndef C_RSFWWAITNOTEMANAGER_H
-#define C_RSFWWAITNOTEMANAGER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <barsc.h>
-#include <barsread.h>
-#include "rsfwwaitnotestatemachine.h"
-#include "rsfwauthenticationdlgrequest.h"
-#include "rsfwsavetodlgrequest.h"
-
-// CONSTANTS
-_LIT(KResourceFile, "Z:\\resource\\remotefileengine.rsc");
-
-// FORWARD DECLARATIONS
-class TRsfwAuthenticationDlgRequest;
-class TRsfwAuthenticationDlgResponse;
-class CAknGlobalConfirmationQuery;
-
-// CLASS DECLARATION
-
-/**
-*  CRsfwWaitNoteManager class
-*
-*  Wait Note Manager class for Remote File Engine
-*/
-class CRsfwWaitNoteManager : public CActive                                       
-    {
- public: // Constructors and destructor
-
-        /**
-        * Symbian OS two-phased constructor
-        * @return Pointer to this component.
-        */
-        IMPORT_C static CRsfwWaitNoteManager* NewL();
-
-        /**
-        * C++ default destructor.
-        */
-        virtual ~CRsfwWaitNoteManager();
-
- private:
-
-        /**
-        * C++ default constructor.
-        */
-        CRsfwWaitNoteManager();
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-
-        void ShowGlobalInformationNoteL(TInt aResourceId);
-
- public: // New functions
-
-        /**
-        * Start to display wait note. 
-        * Note: A new wait note can only be activated when the previous one is 
-        *       dismissed.
-        * @since 3.1
-        * @param aOpType Wait Note operation type.
-        */
-        TInt StartWaitNoteL( TRemoteOperationType aOpType, 
-        					 CRsfwWaitNoteStateMachine*  aOperation );
-
-
-        /**
-        * Server or path not found, when connecting 
-        */
-        void ShowAddressNotFoundErrorL(const TDesC& aFriendlyName);
-
-		void SetAuthenticationDialogL(TRsfwAuthenticationDlgRequest& aAuthRequest);
-		
-		void SetGlobalNoteRequestL(TRsfwNotPluginRequest& aRequestStruct);
-		
-        void SetSaveToDialogRequestL(TRsfwSaveToDlgRequest& aSaveRequest);
-
-        void ShowFileSavedToDialogL(const TDesC& aValue);
-        
-        void ShowFailedSaveNoteL();
- 
-        void ShowNoNetworkCoverageNoteL();
-        
-        void ShowOfflineNotPossibleNoteL();
-
-        void ShowOutOfMemoryNoteL();
-       
-        // inform the wait note manager that no operation is waiting for 
-        // it to trigger its state anymore
-        void ResetOperation();
-       
-        /**
-        * Cancel wait note.
-        * Note: Please make sure the system is still able to handle key press 
-        *       events during an operation.
-        * @since 3.1
-        */
-        void CancelWaitNoteL(TInt aNoteId);
-        
-   
-private:    // Functions from base classes
-
-        /**
-        * Handles an active object’s request completion event.
-        */
-        void RunL();  
-
- 		/**
-    	*Implements cancellation of an outstanding request.
-		*/
-		void DoCancel();
-
- 		/**
-    	* Called in case RunL() leaves
-		*/
-        TInt RunError(TInt aError);
-        
-private:    // Data
-
-	    // Current operation type
-        TRemoteOperationType	iOpType;
-        
-         // Operation state
-        TRemoteWaitNoteStates	iOpState;
-        
-         // sequental id for the curren note
-        // this is unique unlike CAknGlobalNote's id
-        TInt					iNoteId;
-                
-        // standard global confirmation query
-        CAknGlobalConfirmationQuery* 		iQuery;
-        
-         // note Id of the active CAknGlobalNote
-        TInt 					iAvkonNoteId;
-        
-        // custom global notes server 
-        RNotifier iNotifier;
-        
-        // IPC parameters struct for authentication dialog
-        TRsfwAuthParamsPckg* iAuthRequest;
-       
-        // pointer to the mount state machines auth info
-        // so that new username and/or passwd can be written
-        TRsfwAuthenticationDlgRequest* iAuthCredentials;
-                
-        // IPC parameters struct for wait notes and the retry note
-        TRsfwRetryParamsPckg *iGlobalNoteRequest;
-        
-        // IPC parameters struct for saveto dialog
-        TRsfwSaveToParamsPckg* iSaveToRequest;
-        
-        // pointer to state machine's save to params
-        TRsfwSaveToDlgRequest* iSaveParams;
-               
-        // buffer for the disconnect warning note txt
-        HBufC*					iNoteTxt;
-        
-        // resource file reading
-        RResourceFile iResourceFile;
-        TResourceReader iResourceReader; 
-        
-		CRsfwWaitNoteStateMachine* iOperation;
-    };
-
-#endif  // REMOTEWAITNOTEMANAGER_H
-
-// End of File
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/inc/rsfwwaitnotestatemachine.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 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:  States that use a global wait dialog
-*
-*/
-
-#ifndef C_RSFW_WAITNOTESTATEMACHINE_H
-#define C_RSFW_WAITNOTESTATEMACHINE_H
-
-#include "rsfwrfestatemachine.h"
-#include "rsfwnotpluginrequest.h"
-
-// Wait Note States
-enum TRemoteWaitNoteStates
-    {
-    ERemoteWaitNoteStateOk = 0,
-    ERemoteWaitNoteStateInProgress
-    };
-    
-// Operation type supported for wait note
-enum TRemoteOperationType
-    {
-    ERemoteOpIdle = 0,
-    ERemoteOpConnecting,
-    ERemoteOpDirDownloading,
-    ERemoteOpAuthDialog,
-    ERemoteUnavailableRetry,
-    ERemoteSaveToLocal,
-    ERemoteWarnDisconnect,
-    };
-
-/**
- *  Parent class for states that use global wait dialogs
- *
- */  
- class CRsfwWaitNoteStateMachine : public CRsfwRfeStateMachine   
-    {
- public: 
-    void CancelTransaction();
-    void ShowWaitNoteL(TRemoteOperationType aResourceId); 
-    void DeleteWaitNoteL(TBool aCancelOpWait);
-    TState* ErrorOnStateEntry(TInt aError);
-    TState* ErrorOnStateExit(TInt aError);
-    TState* CompleteRequestL(TInt aError);
- public: 
-    TRsfwNotPluginRequest iGlobalWaitNoteRequest;
-    TUint iTransactionId; // for cancelling requests
-    TUint iNoteId; 	// id of the global note
-    };    
-    
-#endif // C_RSFW_WAITNOTESTATEMACHINE_H
\ No newline at end of file
--- a/remotestoragefw/remotefileengine/loc/RemoteFileEngine.loc	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Localization strings for global notes in Remote File Engine
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-//d:Save file option
-//l:control_pane_t1/opt7
-//w:
-//r: 3.1
-//
-#define qtn_rd_softkey_save "Save"
-
-//d:Failed remote save error note
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_query_file_save_fail "File %0U cannot be saved to %1U. File needs to be saved manually."
-
-//d:Wait note for file transfer
-//l:popup_note_wait_window
-//w:
-//r:3.1
-//
-#define qtn_rd_wait_transferring "Transferring..."
-
-//d:Wait note for connecting to a remote drive
-//l:popup_note_wait_window
-//w:
-//r:3.1
-//
-#define qtn_rd_wait_connecting  "Connecting..."
-
-//d:Retry option when connecting failed
-//l:control_pane_t1/opt7
-//w:
-//r:3.1
-//
-#define qtn_rd_softkey_retry  "Retry"
-
-//d:Remote drive unavailable error note
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_conf_drive_unavailable "%U unavailable"
-
-//d:Remote drive address not found error note
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_rd_error_faulty_address "%U address not found. Check settings."
-
-//d:Warning dialog about open files when disconnecting
-//l:popup_note_window
-//w:
-//r:3.2
-//
-#define qtn_rd_conf_query_open_files_disconnect  "Files have been opened from this location. Changes made to the files are discarded if disconnecting before closing them. Continue?"
-
-//d:Information note 
-//l:popup_note_window
-//d:There has to be '\' character before '"' character.
-//d: This combination is shown as '"' character
-//w:
-//r:3.2
-#define qtn_rd_infonote_missing_prefix "Add prefix to drive address. For example \"https://\",\"http://\" or \"upnp://\"."
-
-//d:query
-//l:popup_note_window
-//w:
-//r:3.2
-#define qtn_rd_conf_query_send_auth_info "Send remote drive user name and password?" 
-
-//d:Information note 
-//l:popup_note_window
-//w:
-//r:3.2
-#define qtn_rd_err_no_network_cover  "Unable to connect. No network coverage."
-
-//dError note 
-//l:popup_note_window
-//w:
-//r:3.2
-#define qtn_rd_all_serv_failed "Saving failed."
-
--- a/remotestoragefw/remotefileengine/src/rsfwattributerefreshingstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005-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:  States that need to refresh file or directory attributes
-*
-*/
-
-
-#include "rsfwattributerefreshingstatemachine.h"
-#include "rsfwdirentattr.h"  
-
-// ----------------------------------------------------------------------------
-// CRsfwAttributeRefreshingStateMachine::~CRsfwAttributeRefreshingStateMachine
-// ----------------------------------------------------------------------------
-//  
-CRsfwAttributeRefreshingStateMachine::~CRsfwAttributeRefreshingStateMachine() 
-    {
-    delete iDirEntAttr;
-    delete iDirEntAttrOld;
-    }
-    
-
--- a/remotestoragefw/remotefileengine/src/rsfwclosestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for closing a file
-*
-*/
-
-#include <apgcli.h>
-
-#include "rsfwclosestatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwfileengine.h"
-#include "rsfwrfeserver.h"
-#include "rsfwwaitnotemanager.h"
-#include "rsfwlockmanager.h"
-#include "mdebug.h"
-
-
-// CRsfwCloseStateMachine
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::CRsfwCloseStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::CRsfwCloseStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::~CRsfwCloseStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::~CRsfwCloseStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::TState* CRsfwCloseStateMachine::CompleteRequestL(TInt aError)
-    {
-    DEBUGSTRING(("CRsfwCloseStateMachine::CompleteRequestL::ErrorL %d", aError));
-
-    // decrease count of files opened for writing
-    Node()->iFileTable->UpdateOpenFileCount(-1);
- 
-    if (iFlags != ECloseLastFlushFailed) 
-        {
-        // file was closed successfully (not saved locally and deleted from filetable)
-        DEBUGSTRING(("file was closed successfully (not saved locally and deleted from filetable)"));
-        
-        // If we just wrote the file to the server set attributes from the cache
-        // file's attributes.
-        if (Node()->CacheFileName() && Node()->IsOpenedForWriting())
-                {
-                Node()->SetCached(ETrue);
-                FileEngine()->SetupAttributes(*Node());
-                }
-           
-        // Add new cached and closed file to LRU cache managemet list.
-        if ((Node()->Type() == KNodeTypeFile) &&
-            (Node()->iCachedSize >0))
-            {
-            Volumes()->AddToLRUPriorityListL(Node(), Node()->CachePriority());
-            }
-    
-        // If no content is in the cache then add closed file to the metadata LRU list.
-        if ((Node()->Type() == KNodeTypeFile) &&
-            (Node()->iCachedSize == 0))
-            {
-            Volumes()->AddToMetadataLRUPriorityListL(Node(), Node()->CachePriority());
-            }  
-
-        // uncommitted modifications have been resolved
-        Node()->SetOpenedForWriting(EFalse);
-        }
-     else 
-        {
-        // remove the file from filetable as it was saved locally as a result of error
-        // (either ECloseLastFlushFailed was set or we attempted to write the data and
-        // there was error)
-        Node()->iFileTable->RemoveL(Node());
-        delete Node();
-        }
-
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    // remove the wait note
-    DeleteWaitNoteL(ETrue);
-    return CompleteAndDestroyState();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::ErrorOnStateEntry
-// ----------------------------------------------------------------------------
-// 
-CRsfwCloseStateMachine::TState* CRsfwCloseStateMachine::ErrorOnStateEntry(TInt aError) 
-    {
-    DEBUGSTRING16(("CRsfwCloseStateMachine::ErrorOnStateEntry %d", aError));
-
-    if (aError == KErrNotFound) 
-        {
-        // the node was not found, do not try to clos it
-        return CRsfwRfeStateMachine::ErrorOnStateEntry(aError);
-        }
-    else 
-        {    
-        // don't show 'save as' note if transfer was cancelled explicitily by the user
-        if (iFlags == ECloseLastFlushFailed && !Node()->IsCancelled()) 
-            {
-            // modified file, last flush failed so let user to save the file locally
-            return new CRsfwCloseStateMachine::TSaveLocallyState(this);
-            }
-        else 
-            {
-            // in any case, we mark this file as closed
-            CRsfwCloseStateMachine::TState* nextstate = NULL;
-            TRAP_IGNORE(nextstate = CompleteRequestL(KErrNone));
-            return nextstate;
-            }
-        }
-
-    }
-
-// Release lock
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TReleaseLockState::TReleaseLockState
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::
-TReleaseLockState::TReleaseLockState(CRsfwCloseStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TReleaseLockState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwCloseStateMachine::TReleaseLockState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwCloseStateMachine::TReleaseLockState::EnterL"));
-    
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    DEBUGSTRING16(("closing fid %d (%S)", 
-                        iOperation->Node()->Fid().iNodeId,
-                        iOperation->Node()->Name()));
-                    
-
-    if (iOperation->Node()->Type() != KNodeTypeFile)
-        {
-        // Sanity
-        DEBUGSTRING(("closing something else than a file!!!"));
-        User::Leave(KErrArgument);
-        }
-
-    TRfeCloseInArgs* inArgs =
-        static_cast<TRfeCloseInArgs*>(iOperation->iInArgs);
-        
-   DEBUGSTRING(("flags %d", inArgs->iFlags));  
-   
-   iOperation->iFlags = inArgs->iFlags;  
-    
-   if (iOperation->Node()->IsLocked())
-        {
-        // always attempt to unlock the file if it was locked
-        iOperation->FileEngine()->LockManager()->ReleaseLockL(iOperation->Node(),
-                                                          iOperation);
-        }
-    else
-        {
-        // no need to release the lock
-        iOperation->HandleRemoteAccessResponse(0, KErrNone);
-        } 
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TReleaseLockState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::TState* CRsfwCloseStateMachine::TReleaseLockState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwCloseStateMachine::TReleaseLockState::CompleteL"));
-    iOperation->Node()->RemoveLocked();
-    
-    // don't show 'save as' note if transfer was cancelled explicitily by the user
-    if (iOperation->iFlags == ECloseLastFlushFailed && !iOperation->Node()->IsCancelled()) 
-        {
-        // modified file, last flush failed so let user to save the file locally
-        return new CRsfwCloseStateMachine::TSaveLocallyState(iOperation);
-        }
-    else 
-        {
-        return iOperation->CompleteRequestL(KErrNone);
-        }
-   
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TReleaseLockState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::TState*
-CRsfwCloseStateMachine::TReleaseLockState::ErrorL(TInt /* aCode */)
-    {
-    DEBUGSTRING(("CRsfwCloseStateMachine::TReleaseLockState::ErrorL"));
-    // Probably not really an error as  according to the RFC locks 
-    // can disappear anytime anyway, lets just run the logic in CompleteL
-    return CompleteL();
-    }
-
-
-// save as
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TSaveLocallyState::TSaveLocallyState
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::
-TSaveLocallyState::TSaveLocallyState(CRsfwCloseStateMachine* aParent)
-   : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TSaveLocallyState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwCloseStateMachine::TSaveLocallyState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwCloseStateMachine::TSaveLocallyState::EnterL"));
-    TEntry fEntry;
-    CRsfwRfeServer::Env()->iFs.Entry((*(iOperation->Node()->CacheFileName())), fEntry);
-    iFileSizeString.Num(fEntry.iSize);
-    TPtrC cacheDriveLetter = iOperation->Node()->CacheFileName()->Left(1);
-    
-    iSaveToRequest.iMethod = TRsfwNotPluginRequest::ESaveToDlg;
-    iSaveToRequest.iDriveName = iOperation->Node()->iFileTable->Volume()->MountInfo()
-    									->iMountConfig.iName;
-    									
-    iSaveToRequest.iFileName = *(iOperation->Node()->Name());  
-    iSaveToRequest.iCacheDrive = cacheDriveLetter;
-    iSaveToRequest.iFileSize = iFileSizeString;
-    
-    				
-    iOperation->Volumes()->WaitNoteManager()->SetSaveToDialogRequestL(iSaveToRequest);
-    
-    iOperation->Volumes()->WaitNoteManager()
-            ->StartWaitNoteL(ERemoteSaveToLocal, iOperation);  
-    }
-   
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TSaveLocallyState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::TState* CRsfwCloseStateMachine::TSaveLocallyState::CompleteL()
-    {  
-    DEBUGSTRING(("CRsfwCloseStateMachine::TSaveLocallyState::CompleteL"));
-    TInt err;
-     
-    // move the file from cache to the new location
-    HBufC* newName = HBufC::NewMaxLC(KMaxPath);
-    TPtr pathPtr = newName->Des();
-    pathPtr = iSaveToRequest.iFileName;
-    CFileMan* fman = CFileMan::NewL(CRsfwRfeServer::Env()->iFs);
-    // we assume that this is local-to-local move, and can be synch. call
-    err = fman->Move((*(iOperation->Node()->CacheFileName())), 
-                   pathPtr, CFileMan::EOverWrite);
-    delete fman;
-    if (err == KErrNone) 
-        {
-        iOperation->Volumes()->WaitNoteManager()->ShowFileSavedToDialogL(pathPtr);
-        }
-    else 
-        {
-        iOperation->Volumes()->WaitNoteManager()->ShowFailedSaveNoteL();
-        }
-      
-    CleanupStack::PopAndDestroy(newName);     
-          
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCloseStateMachine::TSaveLocallyState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwCloseStateMachine::TState*
-CRsfwCloseStateMachine::TSaveLocallyState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("CRsfwCloseStateMachine::TSaveLocallyState::ErrorL %d", aCode));
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwconnectionmanager.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,424 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Connection manager
- *
-*/
-
-
-// Copyright (C) 2002-2004 Nokia
-
-// INCLUDE FILES
-#include <commdbconnpref.h>
-#include <es_enum.h>
-#include "rsfwconnectionmanager.h"
-#include "rsfwcommon.h"
-#include "mdebug.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwConnectionManager* CRsfwConnectionManager::NewL(
-    MRsfwConnectionObserver* aConnectionObserver)
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::NewL"));
-    CRsfwConnectionManager* self = new (ELeave) CRsfwConnectionManager();
-    CleanupStack::PushL(self);
-    self->ConstructL(aConnectionObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::CRsfwConnectionManager
-// ----------------------------------------------------------------------------
-//
-CRsfwConnectionManager::CRsfwConnectionManager()
-: CActive( EPriorityStandard )
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwConnectionManager::ConstructL(
-    MRsfwConnectionObserver* aConnectionObserver)
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::ConstructL"));
-    iConnectionObserver = aConnectionObserver;
-    // Connect to the socket server
-    User::LeaveIfError(iSocketServ.Connect());
-    // Add this to active scheduler
-    CActiveScheduler::Add( this );
-    
-    iSuspensionTimer = CPeriodic::NewL(CActive::EPriorityLow);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::~CRsfwConnectionManager
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwConnectionManager::~CRsfwConnectionManager()
-    {
-     DEBUGSTRING(("CRsfwConnectionManager::~CRsfwConnectionManager"));
-    Cancel();
-    iConnection.Close();
-    iSocketServ.Close();
-    iIaps.Close();
-    
-    StopSuspensionTimer();
-    delete iSuspensionTimer;    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::UseIapL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwConnectionManager::UseIapL(const TDesC& aIap)
-    {
-    // aIap may contain an IAP name or an IAP Id (or '?'/'*')
-    DEBUGSTRING(("IAP: %S", &aIap));
-
-    // Determine IAP selection policy
-    // By default, ask the user
-    iIapSelection = ERsfwIapSelectionAskUser;
-    if (aIap.CompareF(KIapDefaultPreferences) == 0)
-        {
-        // Use static CommDB preferences
-        iIapSelection = ERsfwIapSelectionUseDefaultPreferences;
-        }
-    else if (aIap.CompareF(KIapAskUser) == 0)
-        {
-        // Ask the user
-        }
-    else
-        {
-        // Build a table of acceptable IAPs.
-        // Now the table only contains one entry
-        TIapInfo iapInfo;
-        iapInfo.iId = 0;
-        iapInfo.iName.SetLength(0);
-        // try to retrieve ID or name based on aIap
-        TLex iapLex(aIap);
-        TInt err = iapLex.Val(iapInfo.iId, EDecimal);
-        if (err != KErrNone)
-            {
-            // The IAP name was given
-            iapInfo.iName.Copy(aIap);
-            }
-        if (LoadIapInfoL(iapInfo) == KErrNone)
-            {
-            iIaps.Append(iapInfo);
-            iIapSelection = ERsfwIapSelectionExplicit;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::GetConnection
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRsfwConnectionManager::GetConnection(RSocketServ*& aSocketServ,
-                                                    RConnection*& aConnection)
-    {
-    DEBUGSTRING(("Get connection"));
-    TInt err = iConnection.Open(iSocketServ);
-    if (err == KErrNone)
-        {
-        TUint32 iapId = 0;
-        TCommDbDialogPref dialogPreference = ECommDbDialogPrefDoNotPrompt;
-        switch (iIapSelection)
-            {
-        case ERsfwIapSelectionAskUser:
-            iapId = 0;
-            dialogPreference = ECommDbDialogPrefPrompt;
-            break;
-
-        case ERsfwIapSelectionUseDefaultPreferences:
-            break;
-
-        case ERsfwIapSelectionExplicit:
-            iapId = iIaps[0].iId;
-            dialogPreference = ECommDbDialogPrefDoNotPrompt;
-            break;
-            
-        default:
-            break;
-            }
-
-        err = StartConnection(iapId, dialogPreference);
-        if (err == KErrNone)
-            {
-            aSocketServ = &iSocketServ;
-            aConnection = &iConnection;
-            }
-        }            
-    DEBUGSTRING(("Get connection returning %d", err));    
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::LoadIapInfoL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwConnectionManager::LoadIapInfoL(TIapInfo& aIapInfo)
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::LoadIapInfoL"));
-    // Fetch CommDB data for a matching IAP Id or IAP Name
-    CCommsDatabase* commsDb = CCommsDatabase::NewL();
-    CleanupStack::PushL(commsDb);
-    CCommsDbTableView* table;
-    if (aIapInfo.iId)
-        {
-        table = commsDb->OpenViewMatchingUintLC(TPtrC(IAP),
-                                                TPtrC(COMMDB_ID),
-                                                aIapInfo.iId);
-        }
-    else
-        {
-        table = commsDb->OpenViewMatchingTextLC(TPtrC(IAP),
-                                                TPtrC(COMMDB_NAME),
-                                                aIapInfo.iName);
-        }
-    TInt err = table->GotoFirstRecord();
-    if (err != KErrNone)
-        {
-        DEBUGSTRING16(("Could not find IAP '%S' (id=%d)!",
-                       &aIapInfo.iName,
-                       aIapInfo.iId));
-        CleanupStack::PopAndDestroy(2, commsDb); // table, commsDb
-        return KErrNotFound;
-        }
-
-    // Read IAP information
-    table->ReadUintL(TPtrC(COMMDB_ID), aIapInfo.iId);
-    table->ReadTextL(TPtrC(COMMDB_NAME), aIapInfo.iName);
-    table->ReadTextL(TPtrC(IAP_BEARER_TYPE), aIapInfo.iBearerType);
-    TBuf<KCommsDbSvrMaxColumnNameLength> serviceType;
-    table->ReadTextL(TPtrC(IAP_SERVICE_TYPE), serviceType);
-    TUint32 service;
-    table->ReadUintL(TPtrC(IAP_SERVICE), service);
-    // Find out the network
-    TUint32 networkId;
-    table->ReadUintL(TPtrC(IAP_NETWORK), networkId);
-    CleanupStack::PopAndDestroy(table); // table
-
-    table = commsDb->OpenViewMatchingUintLC(TPtrC(NETWORK),
-                                            TPtrC(COMMDB_ID),
-                                            networkId);
-    err = table->GotoFirstRecord();
-    if (err == KErrNone)
-        {
-        table->ReadTextL(TPtrC(COMMDB_NAME), aIapInfo.iNetworkName);
-        }
-    else
-        {
-        DEBUGSTRING(("Could not find network for the IAP!"));
-        }
-    CleanupStack::PopAndDestroy(table); // table
-
-    aIapInfo.iServiceName.Zero();
-    aIapInfo.iSsId.Zero();
-      
-    CleanupStack::PopAndDestroy(commsDb); // commsDb
-
-       
-    aIapInfo.iBearerQuality = ERsfwConnectionQualityStrong;
-       
-    DEBUGSTRING16(("found IAP %S: id=%d, servicetype=%S, service=%d, network=%S, servicename=%S, ssid=%S, bearer=%S, quality=%d",
-                   &aIapInfo.iName,
-                   aIapInfo.iId,
-                   &serviceType,
-                   service,
-                   &aIapInfo.iNetworkName,
-                   &aIapInfo.iServiceName,
-                   &aIapInfo.iSsId,
-                   &aIapInfo.iBearerType,
-                   aIapInfo.iBearerQuality));
-
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::StartConnection
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwConnectionManager::StartConnection(TUint32 aIapId,
-                                             TCommDbDialogPref aDialogPreference)
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::StartConnection with id %d", &aIapId));
-    TCommDbConnPref connectionPref;
-    connectionPref.SetIapId(aIapId);
-    connectionPref.SetDialogPreference(aDialogPreference);
-    connectionPref.SetDirection(ECommDbConnectionDirectionOutgoing);
-    DEBUGSTRING(("Starting connection to IAP %d with pref %d",
-                 aIapId,
-                 aDialogPreference));
-    TInt err = iConnection.Start(connectionPref);
-    DEBUGSTRING(("Connection starting returned %d", err));
-    // start observing the connection, any events will occur in RunL() function
-    if ( !IsActive() )
-        {
-        iConnection.ProgressNotification(iProgress, iStatus);
-        SetActive();
-        }                   
-    else
-        {
-        DEBUGSTRING(("StartConnection called twice!"));
-        Cancel();
-                
-        DEBUGSTRING(("StartConnection Cancel!"));
-
-        iConnection.ProgressNotification(iProgress, iStatus);
-        DEBUGSTRING(("CRsfwConnectionManager iConnection.ProgressNotification!"));
-
-        SetActive();
-       
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::HandleDisconnectionEventL
-// ----------------------------------------------------------------------------
-//
-void CRsfwConnectionManager::HandleDisconnectionEventL()
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::HandleDisconnectionEventL"));
-    if (iConnectionObserver)
-        {
-        iConnectionObserver->HandleConnectionEventL(
-            ERsfwConnectionObserverEventConnectionDisconnected,
-            NULL);
-        }    
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::StartSuspensionTimer
-// ----------------------------------------------------------------------------
-//
-void CRsfwConnectionManager::StartSuspensionTimer()
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::StartSuspensionTimer"));
-    if (iSuspensionTimer)
-        {
-        const TInt KRsfwGPRSSuspensionTimeout = 60 * 1000000; // 60 sec
-        
-        DEBUGSTRING(("GPRS suspension timer started (%d us)",
-                     KRsfwGPRSSuspensionTimeout));
-        iSuspensionTimer->Cancel();
-        TCallBack callBack(CRsfwConnectionManager::SuspensionTimerExpiredL, this);
-        iSuspensionTimer->Start(KRsfwGPRSSuspensionTimeout,
-                                KRsfwGPRSSuspensionTimeout,
-                                callBack);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::StopSuspensionTimer
-// ----------------------------------------------------------------------------
-//
-void CRsfwConnectionManager::StopSuspensionTimer()
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::StopSuspensionTimer"));
-    if (iSuspensionTimer)
-        {
-        DEBUGSTRING(("GPRS suspension timer stopped"));
-        iSuspensionTimer->Cancel();
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::SuspensionTimerExpired
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwConnectionManager::SuspensionTimerExpiredL(TAny* aArg)
-    {
-    DEBUGSTRING(("GPRS suspension timer expired"));
-    CRsfwConnectionManager* connMan = static_cast<CRsfwConnectionManager*>(aArg);
-    connMan->StopSuspensionTimer();
-    connMan->HandleDisconnectionEventL();
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::RunL
-// ----------------------------------------------------------------------------
-//
-void CRsfwConnectionManager::RunL()
-    {
-    TInt status = iStatus.Int();
-    DEBUGSTRING(("CRsfwConnectionManager::RunL %d", &status));
-    TInt stage = iProgress().iStage;
-    TInt error = iProgress().iError;
-    DEBUGSTRING(("ConnectionManager::RunL - status: %d, stage: %d, error: %d", status, stage, error));
-    
-    if ( error == KErrConnectionTerminated || error == KErrDisconnected 
-        || stage == KLinkLayerClosed || stage == KConnectionClosed )
-        {
-        // KErrDisconnected occurs if WLAN goes out of range
-        // KErrConnectionTerminated occurs if user cancels connection from "Active connections" menu
-        // stage values KLinkLayerClosed & KConnectionClosed should be generated by GPRS 
-        // (however GPRS usually generates KDataTransferTemporarilyBlocked event)
-        HandleDisconnectionEventL();
-        }
-    else if ( stage == KDataTransferTemporarilyBlocked )
-        {
-        // KDataTransferTemporarilyBlocked means GPRS 'suspend' event
-        // start timer, when it expires we will disconnect
-        StartSuspensionTimer();
-        }
-    else if ( stage == KLinkLayerOpen )
-        {
-        // KLinkLayerOpen may mean GPRS 'resume' event
-        StopSuspensionTimer();
-        }
-    else 
-        {
-        // ignore the event
-        }
-    
-    // request new events if necessary
-    iConnection.ProgressNotification(iProgress, iStatus, KConnProgressDefault);
-    SetActive();
-	}
-
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::RunError
-// ----------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CRsfwConnectionManager::RunError(TInt aError)
-#else
-TInt CRsfwConnectionManager::RunError(TInt /*aError*/)
-#endif
-    {
-    DEBUGSTRING(("ConnectionManager::RunErrorL - error: %d", aError));
-    return KErrNone;
-	}
-	
-// ----------------------------------------------------------------------------
-// CRsfwConnectionManager::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CRsfwConnectionManager::DoCancel()
-    {
-    DEBUGSTRING(("CRsfwConnectionManager::::DoCancel()"));
-    //cancel request issued by ProgressNotification()
-    iConnection.CancelProgressNotification();
-    }
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwcontrol.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,305 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Client side implementation of Remote Storage FW API 
- *              : for control functions such as mounting and unmounting.
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwcommon.h"
-#include "rsfwcontrol.h"
-
-
-// CONSTANTS
-
-#ifdef __WINS__
-const TUint KServerMinHeapSize =   0x1000;  //  4K
-const TUint KServerMaxHeapSize = 0x100000;  // 64K
-#endif
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::RRsfwControl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C RRsfwControl::RRsfwControl() : RSessionBase()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// RRRsfwControl::Connect
-// Connects to the framework by starting the server if neccessary and creating
-// a session.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::Connect()
-    {
-    const TInt KTryCount = 3;
-    
-    TInt err;
-    TBool retry;
-    TInt i = KTryCount;
-    do
-        {
-        err = StartServer(KRfeServerName);
-        if (err == KErrNone)
-            {
-            err = CreateSession(KRfeServerName,
-                                Version(),
-                                KDefaultMessageSlots);
-            }
-        retry = ((err == KErrNotFound) || (err == KErrServerTerminated));
-        } while (retry && (++i <= KTryCount));
-
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::Version
-// Returns the version of Remote File Engine
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TVersion RRsfwControl::Version()
-    {
-    return(TVersion(KRfeMajorVersionNumber,
-                    KRfeMinorVersionNumber,
-                    KRfeBuildVersionNumber));
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwControl::Mount
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::Mount(TInt aDriveLetter)
-    {
-    TIpcArgs args;
-    args.Set(0, aDriveLetter);
-    return SendRequest(EMountByDriveLetter, args);
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::Mount
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::Mount(const TRsfwMountConfig& aMountConfig)
-    {
-    TPckg<TRsfwMountConfig> pckgMountConfig(aMountConfig);
-    return SendRequest(EMount, TIpcArgs(&pckgMountConfig));
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::Mount
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::MountBlind(TInt aDriveLetter)
-    {
-    iArgs.Set(0, aDriveLetter);
-    return Send(EMountByDriveLetter, iArgs);
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::Mount
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RRsfwControl::Mount(const TRsfwMountConfig& aMountConfig,
-                                  TRequestStatus& aStatus)
-    {
-    aStatus = KRequestPending;
-    iPckgBufMountConfig = aMountConfig;
-    SendRequest(EMount, TIpcArgs(&iPckgBufMountConfig), aStatus);
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwControl::DismountByVolumeId
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::DismountByVolumeId(TInt aVolumeId)
-    {
-    return SendRequest(EDismountByVolumeId, TIpcArgs(aVolumeId));
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::DismountByDriveLetter
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::DismountByDriveLetter(TChar aDriveLetter)
-    {
-    aDriveLetter.UpperCase();
-    return SendRequest(EDismountByDriveLetter, TIpcArgs(aDriveLetter));
-    }
-
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::GetMountInfo
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::GetMountInfo(const TChar& aDriveLetter,
-                                         TRsfwMountInfo& aMountInfo)
-    {
-    TPckg<TRsfwMountInfo> pckgMountInfo(aMountInfo);
-    SendRequest(EGetMountInfo, TIpcArgs(aDriveLetter, &pckgMountInfo));
-    TInt err;
-    if (aMountInfo.iMountConfig.iUri.Length())
-        {
-        err = KErrNone;
-        }
-    else
-        {
-        err = KErrNotFound;
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::SetMountConnectionState
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::SetMountConnectionState(const TChar& aDriveLetter,
-                                                    TUint aState)
-    {
-    // send a blind request
-    return Send(ESetMountConnectionState,
-                       TIpcArgs(aDriveLetter,
-                                aState));
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::RefreshDirectoryL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::RefreshDirectory(const TDesC& aPath)
-    {
-    return(SendRequest(EDirRefresh, TIpcArgs(&aPath)));
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::CancelAllRemoteTransfers
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwControl::CancelRemoteTransfer(const TDesC& aFile)
-    {
-    // server must be running in order to successfully cancel anything
-    return(SendReceive(ECancelAll, TIpcArgs(&aFile)));
-    }
-
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::StartServer
-// Starts the Remote File Engine if it is not running, uses semaphore to 
-// synchronize startup.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-TInt RRsfwControl::StartServer(const TDesC& aServerName)
-    {
-    TInt err;
-
-    TFindServer findRfe(aServerName);
-    TFullName name;
-
-    err = findRfe.Next(name);
-    if (err == KErrNone)
-        {
-        // Server already running
-        return KErrNone;
-        }
-
-    RSemaphore semaphore;       
-    err = semaphore.CreateGlobal(KRfeSemaphoreName, 0);
-    if (err != KErrNone)
-        {
-        return err;
-        }
-
-    err = CreateServerProcess(aServerName);
-    if (err != KErrNone)
-        {
-        semaphore.Close();  
-        return  err;
-        }
-    semaphore.Wait();
-    semaphore.Close();       
-
-    return  KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// RRRsfwControl::CreateServerProcess
-// Starts the Remote File Engine using name to find the binary
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-TInt RRsfwControl::CreateServerProcess(const TDesC& aServerName)
-    {
-    TInt err;
-    
-    // just load anything that matches with the name
-    const TUidType serverUid(KNullUid, KNullUid, KNullUid);
-
-    RProcess server;
-
-    _LIT(KStartCommand, "");
-    err = server.Create(aServerName, KStartCommand, serverUid);
-    if (err != KErrNone)
-        {
-        return err;
-        }
-    server.Resume();
-    server.Close();
-
-    return  KErrNone;
-    }
-
-
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::SendRequest
-// ----------------------------------------------------------------------------
-//    
-TInt RRsfwControl::SendRequest(TInt aOpCode, TIpcArgs aArgs)
-    {
-    TInt err = SendReceive(aOpCode, aArgs);
-    if (err == KErrServerTerminated)
-        {
-        // Close handle before opening new, otherwise client leaks old handle and panics CONE 36
-        Close(); 
-        
-        // try to restart the server
-        err = Connect();
-        if (err == KErrNone) 
-            {
-            err = SendReceive(aOpCode, aArgs);
-            }   
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwControl::SendRequest
-// ----------------------------------------------------------------------------
-//   
-void RRsfwControl::SendRequest(TInt aOpCode,
-                               TIpcArgs aArgs,
-                               TRequestStatus& aStatus)
-    {
-    SendReceive(aOpCode, aArgs, aStatus);
-    }
-
-//  End of File 
--- a/remotestoragefw/remotefileengine/src/rsfwcreatefilestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for creating files
-*
-*/
-
-
-#include "rsfwcreatefilestatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwinterface.h"
-#include "rsfwfileengine.h"
-#include "rsfwlockmanager.h"
-#include "mdebug.h"
-#include "rsfwdirentattr.h"
-#include "rsfwvolumetable.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::CRsfwCreateFileStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::CRsfwCreateFileStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::~CRsfwCreateFileStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::~CRsfwCreateFileStateMachine()
-    {
-    delete iDirEntAttr;
-    delete iLockToken;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState*
-CRsfwCreateFileStateMachine::CompleteRequestL(TInt aError)
-    {
-    TRfeCreateOutArgs* outArgs =
-        static_cast<TRfeCreateOutArgs*>(iOutArgs);
-    if (!aError)
-        { 
-        // Set the return values for the create call
-        TFid* kidFidp = &(outArgs->iFid);
-        TDirEntAttr* oAttrp = &(outArgs->iAttr);
-        *kidFidp = iKidFep->Fid();
-        iKidFep->GetAttributes(*oAttrp);
-        }
-
-    if (iKidCreated && aError)
-        {
-        delete iKidFep;
-        iKidFep = NULL;
-        }
-        
-    // it may happen by chance that the new name is equal to iLastFailedLookup value
-    FileEngine()->ResetFailedLookup();
-        
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-// Check if exists
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCheckIfExistsState::TCheckIfExistsState
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::
-TCheckIfExistsState::TCheckIfExistsState(CRsfwCreateFileStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCheckIfExistsState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwCreateFileStateMachine::TCheckIfExistsState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwCreateFileStateMachine::TCheckIfExistsState::EnterL()"));
-    TRfeCreateInArgs* inArgs =
-        static_cast<TRfeCreateInArgs*>(iOperation->iInArgs);
-    TPtrC kidName(inArgs->iEntry.iName);
-    iExclp = inArgs->iExcl;
-
-    // used to pass the file open mode
-    // could be something simpler, e.g. only one int
-    iOperation->iFlags = inArgs->iEntry.iAttr.iAtt;
-
-    // Get the parent to which we are creating this
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-
-    DEBUGSTRING16(("creating file '%S' in fid %d",
-                   &kidName,
-                   iOperation->Node()->Fid().iNodeId));
-
-    // Do we know about the kid yet?
-    iOperation->iKidFep = iOperation->Node()->FindKidByName(kidName);
-    if (!iOperation->iKidFep)
-        {
-        // This is either a completely new file, or a file that we
-        // have not yet created a file entry for.
-                
-        if (! iOperation->Volumes()->EnsureMetadataCanBeAddedL(iOperation->Node()))
-            {
-            User::Leave(KErrNoMemory);
-            }
-        iOperation->iKidFep = CRsfwFileEntry::NewL(kidName, iOperation->Node());
-        iOperation->iKidCreated = ETrue;
-        iOperation->iKidFep->SetNewlyCreated();
-        }
-
-    if (iOperation->FileEngine()->Disconnected())
-        {
-        if (iOperation->iKidFep->Type() != KNodeTypeUnknown)
-            {
-            // "file exists"
-            iOperation->HandleRemoteAccessResponse(0, KErrNone);
-            }
-        else
-            {
-            iOperation->HandleRemoteAccessResponse(0, KErrNotFound);
-            }
-        }
-    else
-        {
-        iOperation->FileEngine()->GetAttributesL(*iOperation->iKidFep,
-                                                 iOperation->iDirEntAttr,
-                                                 KNodeTypeFile,
-                                                 iOperation);
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCheckIfExistsState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::TState*
-CRsfwCreateFileStateMachine::TCheckIfExistsState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwCreateFileStateMachine::TCheckIfExistsState::CompleteL()"));
-    if (iExclp)
-        {
-        DEBUGSTRING(("kid exists!"));
-        return iOperation->CompleteRequestL(KErrAlreadyExists);
-        }
-    else
-        { // file with the same name exists, but exclusive is false
-        return new CRsfwCreateFileStateMachine::TCreateNodeState(iOperation); 
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCheckIfExistsState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::TState*
-CRsfwCreateFileStateMachine::TCheckIfExistsState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING16(("CRsfwCreateFileStateMachine::TCheckIfExistsState::ErrorL error=%d", aCode));
-   	return new CRsfwCreateFileStateMachine::TCreateNodeState(iOperation); 
-    }
-
-// create node
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCreateNodeState::TCreateNodeState
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::
-TCreateNodeState::TCreateNodeState(CRsfwCreateFileStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCreateNodeState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwCreateFileStateMachine::TCreateNodeState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwCreateFileStateMachine::TCreateNodeState::EnterL()"));
-    if (iOperation->iKidCreated)
-        {
-        iOperation->iKidFep->SetType(KNodeTypeFile);
-        }
-
-    if (!iOperation->FileEngine()->WriteDisconnected())
-        {
-        // Create the file
-        HBufC16* kidPath =
-            iOperation->FileEngine()->FullNameLC(*iOperation->iKidFep);
-        // iDirEntAttr exists, we know we are overwriting
-        // pass this info to the access module (needed e.g. by UPnP)
-        iOperation->
-            FileEngine()->
-            RemoteAccessL()->CreateFileL(*kidPath,
-                                         (iOperation->iDirEntAttr != NULL),
-                                         iOperation);
-        CleanupStack::PopAndDestroy(kidPath);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCreateNodeState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::TState*
-CRsfwCreateFileStateMachine::TCreateNodeState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwCreateFileStateMachine::TCreateNodeState::CompleteL()"));
-    return new CRsfwCreateFileStateMachine::TAcquireLockState(iOperation);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TCreateNodeState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::TState*
-CRsfwCreateFileStateMachine::TCreateNodeState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING16(("CRsfwCreateFileStateMachine::TCreateNodeState::ErrorL error=%d", aCode));
-    DEBUGSTRING(("remote create failed!"));
-    return iOperation->CompleteRequestL(aCode);
-    }
-
-// Acquire lock
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TAcquireLockState::TAcquireLockState
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::
-TAcquireLockState::TAcquireLockState(CRsfwCreateFileStateMachine* aParent)
-    {
-    iOperation = aParent;
-    iRequestedLock = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TAcquireLockState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwCreateFileStateMachine::TAcquireLockState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwCreateFileStateMachine::TAcquireLockState::EnterL()"));
-    if (!iOperation->FileEngine()->WriteDisconnected())
-        {
-        // There are two state machines currently,
-        // which may take a lock for a file based on the mode,
-        // OpenByPath and this.
-        // Currently the mode check is different which is not a good
-        // thing, there is a clear risk of an error where they
-        // acquire a lock in different situations.
-        if (!iOperation->iKidFep->IsLocked()
-            && iOperation->iFlags != KEntryAttReadOnly)
-            {
-            iOperation->FileEngine()->LockManager()->
-                ObtainLockL(iOperation->iKidFep,
-                            EFileWrite,
-                            iOperation->iLockToken,
-                            iOperation);
-            iRequestedLock = ETrue;
-            }
-        else
-            {
-            iOperation->HandleRemoteAccessResponse(0, KErrNone);
-            }
-        }
-    else
-        {
-        iOperation->HandleRemoteAccessResponse(0, KErrNone);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TAcquireLockState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::TState*
-CRsfwCreateFileStateMachine::TAcquireLockState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwCreateFileStateMachine::TAcquireLockState::CompleteL()"));
-    if (iRequestedLock)
-        {
-        iOperation->iKidFep->
-            SetLockedL(iOperation->FileEngine()->LockManager(),
-                       iOperation->iLockToken);
-        iOperation->iLockToken = NULL;
-        }
-
-    // Note that the kid has to be attached to the file table
-    // to get a NodeId before the cache file is created.
-    if (iOperation->iKidCreated)
-        {
-        // Attach a new kid to its parent
-        iOperation->FileEngine()->iFileTable->AddL(iOperation->iKidFep);
-        iOperation->Node()->AddKid(*iOperation->iKidFep);
-        }
-
-    // Create an empty container file locally
-    iOperation->FileEngine()->CreateContainerFileL(*iOperation->iKidFep);
-
-    iOperation->iKidFep->SetSize(0);
-    iOperation->iKidFep->SetCachedSize(0);
-    iOperation->iKidFep->SetCached(ETrue);
-    iOperation->iKidFep->SetAttribValidationTime();
-
-    iOperation->FileEngine()->SetupAttributes(*iOperation->iKidFep);
-
-    iOperation->Node()->SetLocallyDirty();
-
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwCreateFileStateMachine::TAcquireLockState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwCreateFileStateMachine::TState*
-CRsfwCreateFileStateMachine::TAcquireLockState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING16(("CRsfwCreateFileStateMachine::TAcquireLockState::ErrorL error=%d", aCode));
-    if (aCode == KErrNotSupported)
-        {
-        iRequestedLock = EFalse;
-        return this->CompleteL();
-        }
-    else
-        {
-        return iOperation->CompleteRequestL(aCode);
-        }
-    }
-
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwdeletestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Delete a file or directory
-*
-*/
-
-
-#include "rsfwdeletestatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwinterface.h"
-#include "rsfwfileengine.h"
-#include "mdebug.h"
-#include "rsfwdirent.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::CRsfwDeleteStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::CRsfwDeleteStateMachine(TUint aNodeType)
-    : iNodeType(aNodeType)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::~CRsfwDeleteStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::~CRsfwDeleteStateMachine()
-    {
-    iDirEnts.ResetAndDestroy();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwDeleteStateMachine::CompleteRequestL(TInt aError)
-    {
-    if (iKidPath)
-        {
-        delete iKidPath;
-        iKidPath = NULL;
-        }
-
-    // If the return code was KErrInUse, the directory we were about to delete
-    // was not empty, and we couldn't delete it. In this case it has anyway
-    //been added to the cache (as a side effect),
-    // so we don't want to delete the fep.
-    if (aError != KErrInUse && iKidCreated)
-        {
-        delete iKidFep;
-        iKidFep = NULL;
-        }
-
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-// Check if exists
-
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::TCheckIfCanBeDeleted
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::
-TCheckIfCanBeDeleted::TCheckIfCanBeDeleted(CRsfwDeleteStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::EnterL()
-    {
-    // Kidname is in the same place in remove and rmdir structures,,,
-    TRfeRemoveInArgs* inArgs =
-        static_cast<TRfeRemoveInArgs*>(iOperation->iInArgs);
-    TPtrC kidName(inArgs->iName);
-
-    // the parent from which we are removing
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    DEBUGSTRING16(("removing entry '%S' from fid %d",
-                   &kidName,
-                   iOperation->Node()->Fid().iNodeId));
-
-    // Do we know about the kid yet?
-    iOperation->iKidFep = iOperation->Node()->FindKidByName(kidName);
-    if (!iOperation->iKidFep)
-        {
-        // Create a temporary file entry for the target
-        iOperation->iKidFep = CRsfwFileEntry::NewL(kidName, iOperation->Node());
-        iOperation->iKidCreated = ETrue;
-        }
-
-    // Ensure the type matches with the operation (RmDir() or Delete())
-    if ((iOperation->iKidFep->Type() != KNodeTypeUnknown) &&
-        (iOperation->iKidFep->Type() != iOperation->iNodeType))
-        {
-        DEBUGSTRING(("object type does not match the parameter type!"));
-        User::Leave(KErrArgument);
-        }
-
-    // if the type is unknown, set it from the operation parameter
-    if (iOperation->iKidFep->Type() == KNodeTypeUnknown)
-        {
-        iOperation->iKidFep->SetType(iOperation->iNodeType);
-        }
-
-    // If it is a directory, check that it is empty
-    if (!iOperation->FileEngine()->Disconnected() &&
-        iOperation->iNodeType == KNodeTypeDir)
-        {
-        TInt zero = 0;
-        iOperation->FileEngine()->
-            FetchAndCacheL(*iOperation->iKidFep,
-                           0,
-                           &zero,
-                           &iOperation->iDirEnts,
-                           iOperation);
-        }
-    else
-        {
-        iOperation->HandleRemoteAccessResponse(0, KErrNone);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::TState*
-CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::CompleteL()
-    {
-    if ((iOperation->iNodeType == KNodeTypeDir) &&
-        ((iOperation->iDirEnts).Count() > 0))
-        {
-        // Attach the directory itself if it was unknown
-        if (iOperation->iKidCreated)
-            {
-            iOperation->FileEngine()->iFileTable->AddL(iOperation->iKidFep);
-            iOperation->Node()->AddKid(*iOperation->iKidFep);
-            }
-            
-        // if the directory is not empty we cannot delete it
-        // however, let's add its entries to the cache
-        iOperation->FileEngine()->AddToCacheL(
-            *iOperation->iKidFep,
-            &iOperation->iDirEnts,
-            iOperation->FileEngine(),
-            0);
-
-        return iOperation->CompleteRequestL(KErrInUse);
-        }
-    else
-        {
-        return new CRsfwDeleteStateMachine::TDeleteNodeState(iOperation);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::TState*
-CRsfwDeleteStateMachine::TCheckIfCanBeDeleted::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("kid didn't exist!"));
-    return iOperation->CompleteRequestL(aCode);
-    }
-
-// Remove directory
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TDeleteNodeState::TDeleteNodeState
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::
-TDeleteNodeState::TDeleteNodeState(CRsfwDeleteStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TDeleteNodeState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDeleteStateMachine::TDeleteNodeState::EnterL()
-    {
-    // Get the path for the actual remove
-    iOperation->iKidPath =
-        iOperation->FileEngine()->FullNameL(*iOperation->iKidFep);
-    if (!iOperation->FileEngine()->Disconnected())
-        {
-        if (iOperation->iNodeType == KNodeTypeDir)
-            {
-            iOperation->
-                FileEngine()->
-                RemoteAccessL()->DeleteDirectoryL(*iOperation->iKidPath,
-                                                  iOperation);
-            }
-        else // KNodeTypFile
-            {
-            iOperation->
-                FileEngine()->
-                RemoteAccessL()->DeleteFileL(*iOperation->iKidPath,
-                                             iOperation);
-            }
-        }
-    else
-        {
-        // Disconnected
-        iOperation->HandleRemoteAccessResponse(0, KErrNone);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TDeleteNodeState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::TState* CRsfwDeleteStateMachine::TDeleteNodeState::CompleteL()
-    {
-    if (!iOperation->FileEngine()->Disconnected())
-        {
-        // If the target was already known, remove and destroy it
-        if (!iOperation->iKidCreated)
-            {
-            iOperation->FileEngine()->iFileTable->RemoveL(iOperation->iKidFep);
-            delete iOperation->iKidFep;
-            iOperation->iKidFep = NULL;
-            }
-        }
-
-    iOperation->Node()->SetLocallyDirty();
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDeleteStateMachine::TDeleteNodeState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwDeleteStateMachine::TState*
-CRsfwDeleteStateMachine::TDeleteNodeState::ErrorL(TInt aCode)
-    {
-    return iOperation->CompleteRequestL(aCode);
-    }
-
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwdirent.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Directory entry container
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwdirent.h"
-#include "rsfwdirentattr.h"
-
-// ======================== CRsfwDirEnt MEMBER FUNCTIONS ==========================
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEnt* CRsfwDirEnt::NewLC(const TDesC& aName, CRsfwDirEntAttr* aAttr)
-    {
-    CRsfwDirEnt* self = new (ELeave) CRsfwDirEnt();
-    CleanupStack::PushL(self);
-    self->ConstructL(aName, aAttr);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEnt* CRsfwDirEnt::NewLC(const TDesC8& aName, CRsfwDirEntAttr* aAttr)
-    {
-    CRsfwDirEnt* self = new (ELeave) CRsfwDirEnt();
-    CleanupStack::PushL(self);
-    self->Construct8L(aName, aAttr);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEnt* CRsfwDirEnt::NewL(const TDesC& aName, CRsfwDirEntAttr* aAttr)
-    {
-    CRsfwDirEnt* self = NewLC(aName, aAttr);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEnt* CRsfwDirEnt::NewL(const TDesC8& aName, CRsfwDirEntAttr* aAttr)
-    {
-    CRsfwDirEnt* self = NewLC(aName, aAttr);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::CRsfwDirEnt
-// ----------------------------------------------------------------------------
-//
-CRsfwDirEnt::CRsfwDirEnt()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::~CRsfwDirEnt
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEnt::~CRsfwDirEnt()
-    {
-    delete iName;
-    if (!iNotOwnAttr)
-        {
-        delete iAttr;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::Name
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const HBufC* CRsfwDirEnt::Name() const
-    {
-    return iName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::GetName
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEnt::GetName(TDes& aName) const
-    {
-    aName.Copy(*iName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::GetName
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEnt::GetName(TDes8& aName) const
-    {
-    aName.Copy(*iName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::SetNameL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEnt::SetNameL(const TDesC& aName) 
-    {
-    if (iName)
-        {
-        delete iName;
-        iName = NULL;
-        }
-    iName = aName.AllocL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::SetNameL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEnt::SetNameL(const TDesC8& aName) 
-    {
-    if (iName)
-        {
-        delete iName;
-        iName = NULL;
-        }
-    iName = HBufC::NewL(aName.Length());
-    TPtr namePtr = iName->Des();
-    namePtr.Copy(aName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::Attr
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEntAttr* CRsfwDirEnt::Attr() const
-    {
-    return iAttr;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::ExtractAttr
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEntAttr* CRsfwDirEnt::ExtractAttr()
-    {
-    iNotOwnAttr = ETrue;
-    return iAttr;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEnt::SetAttrL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEnt::SetAttrL(CRsfwDirEntAttr* aAttr)
-    {
-    if (iAttr && !iNotOwnAttr)
-        {
-        delete iAttr;
-        }
-    if (aAttr)
-        {
-        iAttr = aAttr;
-        }
-    else
-        {
-        iAttr = CRsfwDirEntAttr::NewL();
-        }
-    iNotOwnAttr = EFalse;
-    }
-
-void CRsfwDirEnt::ConstructL(const TDesC& aName, CRsfwDirEntAttr* aAttr)
-    {
-    SetNameL(aName);
-    SetAttrL(aAttr);
-    }
-
-void CRsfwDirEnt::Construct8L(const TDesC8& aName, CRsfwDirEntAttr* aAttr)
-    {
-    SetNameL(aName);
-    SetAttrL(aAttr);
-    }
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwdirentattr.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Directory entry container
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwdirentattr.h"
-
-// ====================== CRsfwDirEntAttr MEMBER FUNCTIONS ========================
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEntAttr* CRsfwDirEntAttr::NewLC()
-    {
-    CRsfwDirEntAttr* self = new (ELeave) CRsfwDirEntAttr();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEntAttr* CRsfwDirEntAttr::NewL()
-    {
-    CRsfwDirEntAttr* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::CRsfwDirEntAttr
-// ----------------------------------------------------------------------------
-//
-CRsfwDirEntAttr::CRsfwDirEntAttr()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDirEntAttr::ConstructL()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::~CRsfwDirEntAttr
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDirEntAttr::~CRsfwDirEntAttr()
-    {
-    TInt i;
-    for (i = 0; i < EDirEntAttrStringCount; i ++)
-        {
-        delete iStringValues[i];
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::Att
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TUint CRsfwDirEntAttr::Att() const
-    {
-    return iAtt;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetAtt
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetAtt(TUint aAtt)
-    {
-    iAtt = aAtt;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetAttFlags
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C void CRsfwDirEntAttr::SetAttFlags(TUint aFlags)
-    {
-    iAtt |= aFlags;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::ResetAttFlags
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C void CRsfwDirEntAttr::ResetAttFlags(TUint aFlags)
-    {
-    iAtt &= ~aFlags;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::Size
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C TInt CRsfwDirEntAttr::Size() const
-    {
-    return iSize;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetSize
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetSize(TInt aSize)
-    {
-    iSize = aSize;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::Modified
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TTime CRsfwDirEntAttr::Modified() const
-    {
-    return iModified;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetModified
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetModified(const TTime& aModified)
-    {
-    iModified = aModified;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::Uid
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TUid& CRsfwDirEntAttr::Uid() 
-    {
-    return iUid;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetUid
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetUid(TUid aUid) 
-    {
-    iUid = aUid;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::StringValue
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8* CRsfwDirEntAttr::StringValue(TInt aIndex) const
-    {
-    if ((aIndex < 0) || (aIndex >= EDirEntAttrStringCount))
-        {
-        return NULL;
-        }
-    return iStringValues[aIndex];
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetStringValueL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetStringValueL(TInt aIndex, const TDesC8& aString) 
-    {
-    if ((aIndex < 0) || (aIndex >= EDirEntAttrStringCount))
-        {
-        User::Leave(KErrArgument);
-        }
-    HBufC8** s = &iStringValues[aIndex];
-    if (*s)
-        {
-        delete *s;
-        *s = NULL;
-        }
-    if (aString.Length())
-        {
-        *s = aString.AllocL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::MimeType
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8* CRsfwDirEntAttr::MimeType() const
-    {
-    return StringValue(EDirEntAttrStringMimeType);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetMimeTypeL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetMimeTypeL(const TDesC8& aMimeType) 
-    {
-    SetStringValueL(EDirEntAttrStringMimeType, aMimeType);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::ETag
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8* CRsfwDirEntAttr::ETag() const
-    {
-    return StringValue(EDirEntAttrStringETag);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDirEntAttr::SetETagL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CRsfwDirEntAttr::SetETagL(const TDesC8& aETag) 
-    {
-    SetStringValueL(EDirEntAttrStringETag, aETag);
-    }
-
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwdormantmountloader.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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:  class for restoring dormant mounts asynchronously when server starts
-*
-*/
-
-
-// INCLUDE FILES
-#include "rsfwdormantmountloader.h"
-#include "rsfwvolume.h"
-#include "rsfwfileengine.h"
-#include "rsfwfiletable.h"
-#include "mdebug.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::CRsfwDormantMountLoader
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwDormantMountLoader::CRsfwDormantMountLoader() :
-    CActive( CActive::EPriorityUserInput )
-    {
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CRsfwDormantMountLoader::ConstructL(CRsfwVolumeTable *aTheTable)
-    {
-    DEBUGSTRING(("CRsfwDormantMountLoader::ConstructL"));
-    iVolumeTable = aTheTable;
-    CActiveScheduler::Add( this );
-    iTimer.CreateLocal();
-    iTimer.After(iStatus, KDormantLoaderDelay);
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDormantMountLoader* CRsfwDormantMountLoader::NewL(CRsfwVolumeTable *aTheTable)
-    {
-    DEBUGSTRING(("CRsfwDormantMountLoader::NewL"));
-    CRsfwDormantMountLoader* self = new ( ELeave ) CRsfwDormantMountLoader();
-
-    CleanupStack::PushL( self );
-    self->ConstructL(aTheTable);
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwDormantMountLoader::~CRsfwDormantMountLoader()
-    {
-    DEBUGSTRING16(("CRsfwDormantMountLoader::~CRsfwDormantMountLoader"));
-    Deque();
-    iTimer.Close();
-    }
-    
-    
-// -----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::SaveDirtyFiles
-// -----------------------------------------------------------------------------
-//   
- void CRsfwDormantMountLoader::ResolveDirtyFilesL()
-    {
-    DEBUGSTRING16(("CRsfwDormantMountLoader::ResolveDirtyFilesL"));   
-    for (int i = 0; i < KMaxVolumes; i++) 
-        {
-        if (iVolumeTable) 
-            { 
-            DEBUGSTRING16(("CRsfwDormantMountLoader::ResolveDirtyFilesL drive %d", i)); 
-            CRsfwVolume* volume = iVolumeTable->iVolumes[i];
-            if (volume && volume->iFileEngine && volume->iFileEngine->iFileTable) 
-                {
-                DEBUGSTRING16(("drive contains active remote mount")); 
-                volume->iFileEngine->iFileTable->ResolveDirtyFilesL();
-                }
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::RunL
-// Handles an active object’s request completion event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwDormantMountLoader::RunL()
-    {
-    DEBUGSTRING(("CRsfwDormantMountLoader::RunL"));
-    ResolveDirtyFilesL();
-    iVolumeTable->DeleteTheMarker();
-    iVolumeTable->iDormantMountRestorePending = EFalse;
-    // "Simulate" operation completion (which may result in RFE shutdown)
-    iVolumeTable->OperationCompleted(NULL);
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDormantMountLoader::RunError(TInt /*aError*/)
-    {
-    DEBUGSTRING16(("CRsfwDormantMountLoader::RunError"));		
-    return KErrNone;
-	}    
-    
-// -----------------------------------------------------------------------------
-// CRsfwDormantMountLoader::DoCancel
-// -----------------------------------------------------------------------------
-//  
-void CRsfwDormantMountLoader::DoCancel() 
-	{
-	DEBUGSTRING(("CRsfwDormantMountLoader::RunL"));	
-	}  
-
-
-// -----------------------------------------------------------------------------
-
-//  End of File 
--- a/remotestoragefw/remotefileengine/src/rsfwfetchandcachestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for fetching and caching files and directories
-*
-*/
-
-
-#include "rsfwfetchandcachestatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwinterface.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwrfeserver.h"
-#include "mdebug.h"
-#include "rsfwfileengine.h"
-#include "rsfwdirent.h"
-
-_LIT8(KMimeTypeJpeg, "image/jpeg");
-_LIT8(KMimeTypeMpeg, "audio/mpeg");
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchAndCacheStateMachine::CRsfwFetchAndCacheStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwFetchAndCacheStateMachine::CRsfwFetchAndCacheStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchAndCacheStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState*
-CRsfwFetchAndCacheStateMachine::CompleteRequestL(TInt aError) 
-    {    
-    if (aError == KUpdateNotRequired) 
-        {   // discard 
-        aError = KErrNone;
-        }
-    
-    iDirEnts.ResetAndDestroy();
-    // last byte that was actually fetched, may be more than was requested
-    TRfeFetchOutArgs* outArgs = static_cast<TRfeFetchOutArgs*>(iOutArgs);
-    outArgs->iLastByte = iLastByte;
-    CompleteAndDestroyState()->SetErrorCode(aError);  
-    
-    // remove the fetching directory wait note
-    if (Node()->Type() == KNodeTypeDir) 
-        {
-        DeleteWaitNoteL(ETrue);   
-        }
-
-    return CompleteAndDestroyState();
-    } 
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchAndCacheStateMachine::TFetchDataState::TFetchDataState
-// ----------------------------------------------------------------------------
-//
-CRsfwFetchAndCacheStateMachine::TFetchDataState::TFetchDataState(
-    CRsfwFetchAndCacheStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchAndCacheStateMachine::TFetchDataState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFetchAndCacheStateMachine::TFetchDataState::EnterL() 
-    {
-    TRfeFetchInArgs* inArgs =
-        static_cast<TRfeFetchInArgs*>(iOperation->iInArgs);
-    iOperation->iFirstByte = inArgs->iFirstByte;
-    iOperation->iLastByte = inArgs->iLastByte;
-    
-    TInt recognizerLimit;
-    TInt metadataLimit = 0;
-    TCachingMode cachingMode;
-
-    if (!(iOperation->Node()))
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    // the cache file should be continuos
-    // i.e. we always add to the end of the cache
-    __ASSERT_DEBUG(iOperation->iFirstByte <= iOperation->Node()->iCachedSize, 
-                   User::Panic(KRfeServer, ECacheInconsistency));
-
-    cachingMode =
-        iOperation->Node()->iFileTable->Volume()->iVolumeTable->iCachingMode;
-    recognizerLimit =
-        iOperation->
-        Node()->iFileTable->Volume()->iVolumeTable->iRecognizerLimit;
-   
-        
-    // for files, adjust lastByte based on the caching mode...
-    if (iOperation->Node()->Type() == KNodeTypeFile) 
-        {
-        switch (cachingMode)
-            {
-        case EWholeFileCaching:
-            if (iOperation->iLastByte < recognizerLimit) 
-                {
-                // iLastByte = 127
-                iOperation->iLastByte = recognizerLimit-1;
-                } 
-            else 
-                {
-                // fetch the whole file
-                iOperation->iLastByte = iOperation->Node()->Size() -1;
-                }
-        
-            break;
-        case EFullIfa:
-            if (iOperation->iLastByte < recognizerLimit) 
-                {
-                // iLastByte = 127
-                iOperation->iLastByte = recognizerLimit-1;
-                } 
-            // othewise no change
-            break;
-        case EMetadataIfa:
-            // set metadataLimit based on the MIME-type
-            if (iOperation->Node()->MimeType())
-                {
-                if ((*iOperation->Node()->MimeType()).Compare(
-                        KMimeTypeJpeg) == 0)
-                    {
-                    metadataLimit =
-                        iOperation->Node()->iFileTable->
-                        Volume()->iVolumeTable->iImageJpegLimit;
-                    }
-
-                if ((*iOperation->Node()->MimeType()).Compare(
-                        KMimeTypeMpeg) == 0)
-                    {
-                    metadataLimit =
-                        iOperation->Node()->iFileTable->
-                        Volume()->iVolumeTable->iAudioMpegLimit;
-                    }
-                
-                // set the lastbyte
-                if (iOperation->iLastByte < recognizerLimit) 
-                    {
-                    // iLastByte = 127
-                    iOperation->iLastByte = recognizerLimit-1;
-                    }
-                
-                else if (iOperation->iLastByte < metadataLimit)
-                    {
-                    // Fetch "enough" metadata to avoid
-                    // unnecessary many round-trips...
-                    iOperation->iLastByte = metadataLimit - 1;
-                    }
-                else if (iOperation->iLastByte >= metadataLimit)
-                    {
-                    iOperation->iLastByte = iOperation->Node()->Size() - 1;
-                    }
-                }
-            else 
-            	{
-            	// MIME-type not recognized
-            	if (iOperation->iLastByte < recognizerLimit) 
-                	{
-                	// iLastByte = 127
-                	iOperation->iLastByte = recognizerLimit-1;
-                	} 
-            	else 
-                	{
-                	// fetch the whole file
-                	iOperation->iLastByte = iOperation->Node()->Size() -1;
-                	}
-            	}
-            }
-        }
-        
-    // Now we know what actually will be fetched, write to debug...
-    // and put up wait notes. 
-    if (iOperation->Node()->Type() == KNodeTypeFile) 
-        {
-        
-        DEBUGSTRING(("FETCH for a file with fid %d, bytes %d - %d",
-                     iOperation->Node()->Fid().iNodeId,
-                     iOperation->iFirstByte,
-                     iOperation->iLastByte));
-                             
-        DEBUGSTRING16(("name is '%S",
-                        iOperation->Node()->Name()));               
-                     
-        DEBUGSTRING(("full size is %d, cached size is %d",
-                     iOperation->Node()->Size(),
-                     iOperation->Node()->iCachedSize));   
-        
-      
-        }
-    else if (iOperation->Node()->Type() == KNodeTypeDir) 
-        {
-        
-        DEBUGSTRING(("FETCH for a directory with fid %d, bytes %d - %d",
-                     iOperation->Node()->Fid().iNodeId,
-                     iOperation->iFirstByte,
-                     iOperation->iLastByte));
-                     
-        DEBUGSTRING16(("name is '%S",
-                        iOperation->Node()->Name()));             
-        DEBUGSTRING(("full size is %d, cached size is %d",
-                     iOperation->Node()->Size(),
-                     iOperation->Node()->iCachedSize));   
-                     
-        }
-
-    // whether cached data is used...
-    // for files:
-    if (((iOperation->Node()->Type() == KNodeTypeFile) &&
-         (iOperation->FileEngine()->UseCachedData(*iOperation->Node())) &&
-         ((iOperation->iLastByte <= iOperation->Node()->iCachedSize) ||
-          iOperation->Node()->IsFullyCached())) ||
-          
-        // for directories:
-        ((iOperation->Node()->Type() == KNodeTypeDir) &&
-         (iOperation->FileEngine()->UseCachedAttributes(*iOperation->Node())) &&
-         (iOperation->FileEngine()->UseCachedData(*iOperation->Node()))))
-        {
-        DEBUGSTRING(("using cached data"));
-
-        if (iOperation->Node()->IsLocallyDirty())
-            {
-            DEBUGSTRING16(("directory is locally dirty"));
-                            
-            // This is a directory which has at least one kid
-            // that has been cached or flushed since the last opening
-            // of the directory.
-            iOperation->FileEngine()->UpdateDirectoryContainerL(
-                *iOperation->Node());
-            }
-        // if the directory appeared to be childless add it to metadata LRU list
-        if ( iOperation->Node()->Type() == KNodeTypeDir && 
-             iOperation->Node()->Kids()->Count() == 0 )
-            {
-            iOperation->Volumes()->AddToMetadataLRUPriorityListL(iOperation->Node(), ECachePriorityNormal);
-            }
-            
-        iOperation->iLastByte = iOperation->Node()->Size();
-        iOperation->HandleRemoteAccessResponse(0, KUpdateNotRequired);
-        }
-    else
-        {
-        DEBUGSTRING(("fetching data from server"));
-        // put up a wait note if getting a directory
-        // (for files no global wait notes, as that would take a too long time)
-         if (iOperation->Node()->Type() == KNodeTypeDir) 
-        	{
-        	// directory - pu up a 'Retrieving...' global wait note
-        	iOperation->ShowWaitNoteL( ERemoteOpDirDownloading ); 
-        	}
-
-            
-        if (iOperation->iLastByte > iOperation->Node()->Size())
-            {   // Don't try to read beyond the end of the file...
-            // Don't try to read beyond the end of the file...
-            iOperation->iLastByte = iOperation->Node()->Size();    
-            }  
-            
-        if (iOperation->iLastByte == 0)
-            {
-            iOperation->iLength = 0;
-            // aLastByte == 0 indicates "no partial caching..."
-            // i.e. range 0 - 0
-            TUint transactionId = 
-                iOperation->FileEngine()->
-                FetchAndCacheL(*iOperation->Node(),
-                               0 ,
-                               &(iOperation->iLength),
-                               &(iOperation->iDirEnts),
-                               iOperation);
-                // transactionId = 0 means syncronous non-cancellable operation    
-    		if (transactionId > 0) 
-   				{
-    			iOperation->iTransactionId = transactionId;
-    			}
-            }
-        else 
-            {
-            iOperation->iLength =
-                iOperation->iLastByte - iOperation->Node()->iCachedSize + 1;
-            // Continue filling the cache-file sequentially
-            TUint transactionId = 
-                iOperation->FileEngine()->
-                FetchAndCacheL(*iOperation->Node(),
-                               iOperation->Node()->iCachedSize,
-                               &(iOperation->iLength),
-                               &(iOperation->iDirEnts),
-                               iOperation);
-            // transactionId = 0 means syncronous non-cancellable operation    
-    		if (transactionId > 0) 
-   				{
-    			iOperation->iTransactionId = transactionId;
-    			}
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchAndCacheStateMachine::TFetchDataState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwFetchAndCacheStateMachine::TState*
-CRsfwFetchAndCacheStateMachine::TFetchDataState::CompleteL()
-    {   
-    iOperation->iLastByte = iOperation->FileEngine()->AddToCacheL(
-        *iOperation->Node(), 
-        &iOperation->iDirEnts, 
-        iOperation->FileEngine(),
-        iOperation->Node()->iCachedSize +
-        iOperation->iLength); 
-    
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-  
-// ----------------------------------------------------------------------------
-// CRsfwFetchAndCacheStateMachine::TFetchDataState::ErrorL
-// ----------------------------------------------------------------------------
-//    
-CRsfwFetchAndCacheStateMachine::TState*
-CRsfwFetchAndCacheStateMachine::TFetchDataState::ErrorL(TInt aCode)
-    {   
-    // *********** from CRsfwFileEngine::GetDirectoryL()
-    if (iOperation->Node()->Type() == KNodeTypeDir)
-        {
-        TInt err = aCode;
-        if (aCode == KUpdateNotRequired)
-            {
-            err = KErrNone;
-            }
-        return iOperation->CompleteRequestL(err);
-        }
-        
-    // file
-    return iOperation->CompleteRequestL(aCode);   
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::ErrorOnStateExit
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwFetchAndCacheStateMachine::ErrorOnStateExit(TInt aError)
-    {
-    iDirEnts.ResetAndDestroy();
-        // remove the fetching directory wait note
-    if (Node()->Type() == KNodeTypeDir) 
-        {
-        TRAP_IGNORE(DeleteWaitNoteL(ETrue));   
-        }
-
-        
-    return CRsfwRfeStateMachine::ErrorOnStateExit(aError);
-    }    
--- a/remotestoragefw/remotefileengine/src/rsfwfetchdatastatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for fetching data without caching it permanently
-*
-*/
-
-
-#include "rsfwfetchdatastatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwinterface.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwrfeserver.h"
-#include "mdebug.h"
-#include "rsfwfileengine.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchDataStateMachine::CRsfwFetchDataStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwFetchDataStateMachine::CRsfwFetchDataStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchDataStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState*
-CRsfwFetchDataStateMachine::CompleteRequestL(TInt aError) 
-    {
-    TRfeFetchDataOutArgs* outArgs =
-        static_cast<TRfeFetchDataOutArgs*>(iOutArgs);
-    if(!aError) 
-        {
-        outArgs->iTempPath.Copy(*iCacheName);
-        }
-        
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();   
-    } 
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchDataStateMachine::TFetchDataState::TFetchDataState
-// ----------------------------------------------------------------------------
-//
-CRsfwFetchDataStateMachine::TFetchDataState::TFetchDataState(
-    CRsfwFetchDataStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchDataStateMachine::TFetchDataState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFetchDataStateMachine::TFetchDataState::EnterL() 
-    {
-    TInt err = KErrNone;
-    TRfeFetchDataInArgs* inArgs =
-        static_cast<TRfeFetchDataInArgs*>(iOperation->iInArgs);
-    TRfeFetchDataOutArgs* outArgs =
-        static_cast<TRfeFetchDataOutArgs*>(iOperation->iOutArgs);
-    TInt firstByte = inArgs->iFirstByte;
-    TInt lastByte = inArgs->iLastByte;
-
-  
-    TCachingMode cachingMode =
-        iOperation->Node()->iFileTable->Volume()->iVolumeTable->iCachingMode;
-    
-    if (iOperation->Node())
-        {
-        DEBUGSTRING(("Fetch without caching fid %d, bytes %d - %d",
-                     iOperation->Node()->Fid().iNodeId,
-                     firstByte,
-                     lastByte));
-        
-        if (cachingMode == EWholeFileCaching) 
-            {
-            outArgs->iUseTempPath = EFalse; 
-            // in this mode we always fetch the whole file to the normal cache
-            iOperation->iCacheName = iOperation->Node()->CacheFileName();
-            iOperation->iLength = iOperation->Node()->Size() -
-                iOperation->Node()->iCachedSize +
-                1;
-            TUint transactionId = iOperation->
-                FileEngine()->FetchAndCacheL(*iOperation->Node(), 
-                                             iOperation->Node()->iCachedSize, 
-                                             &iOperation->iLength,
-                                             &(iOperation->iDirEnts),
-                                             iOperation); 
-            // transactionId = 0 means syncronous non-cancellable operation    
-    		if (transactionId > 0) 
-   				{
-    			iOperation->iTransactionId = transactionId;
-    			}      
-            }
-        else 
-            {
-            // reset and use the temporary cache file...
-            outArgs->iUseTempPath = ETrue;
-            TParse parser;
-            parser.Set(*iOperation->Node()->CacheFileName(), NULL, NULL);
-            HBufC* tempPath = HBufC::NewLC(KMaxPath);
-            TPtr tempfile = tempPath->Des();
-            tempfile.Append(parser.DriveAndPath());
-            tempfile.Append(KTempFileName);
-            iOperation->iCacheName = iOperation->Node()->CacheFileName();
-            // This much will be added to the cache by this fetch
-            iOperation->iLength =lastByte - firstByte + 1;
-            if (!iOperation->
-                Node()->
-                iFileTable->
-                Volume()->
-                iVolumeTable->EnsureCacheCanBeAddedL(iOperation->iLength))
-                {
-                User::Leave(KErrDiskFull);  
-                }
-            RFile f;
-            err = f.Replace(CRsfwRfeServer::Env()->iFs,
-                            *tempPath,
-                            EFileShareAny | EFileWrite);
-            if (err == KErrNone)
-                {
-                f.Close();
-                HBufC* fullName =
-                    iOperation->FileEngine()->FullNameLC(*iOperation->Node());
-                TUint transactionId = iOperation->FileEngine()->RemoteAccessL()->
-                    GetFileL(*fullName,
-                             *tempPath,
-                             firstByte,
-                             &iOperation->iLength,
-                             KRemoteAccessOptionGetToStartOfFile,
-                             iOperation);  
-                // transactionId = 0 means syncronous non-cancellable operation     
-    			if (transactionId > 0) 
-   					{
-    				iOperation->iTransactionId = transactionId;
-    				}              
-                CleanupStack::PopAndDestroy(fullName);
-                }
-            CleanupStack::PopAndDestroy(tempPath);   
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchDataStateMachine::TFetchDataState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwFetchDataStateMachine::TState*
-CRsfwFetchDataStateMachine::TFetchDataState::CompleteL()
-    {      
-    return iOperation->CompleteRequestL(KErrNone); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFetchDataStateMachine::TFetchDataState::ErrorL
-// ----------------------------------------------------------------------------
-//    
-CRsfwFetchDataStateMachine::TState*
-CRsfwFetchDataStateMachine::TFetchDataState::ErrorL(TInt aCode)
-    {
-    return iOperation->CompleteRequestL(aCode); 
-    }
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwfileengine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1763 +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:  Operation independent remote file handling functions
-*
-*/
-
-
-#include <apgcli.h>
-#include <bautils.h>
-
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwrfestatemachine.h"
-#include "rsfwinterface.h"
-#include "rsfwcontrol.h"
-#include "rsfwremoteaccess.h"
-#include "rsfwfileengine.h"
-#include "rsfwrfeserver.h"
-#include "rsfwlockmanager.h"
-#include "mdebug.h"
-#include "rsfwdirent.h"
-#include "rsfwdirentattr.h"
-#include "rsfwinterface.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEngine* CRsfwFileEngine::NewL(CRsfwVolume* aVolume)
-    {
-    CRsfwFileEngine* self = CRsfwFileEngine::NewLC(aVolume);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::NewLC
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEngine* CRsfwFileEngine::NewLC(CRsfwVolume* aVolume)
-    {
-    DEBUGSTRING(("CRsfwFileEngine::NewLC"));
-    CRsfwFileEngine* self = new (ELeave) CRsfwFileEngine();
-    DEBUGSTRING(("CRsfwFileEngine: in NewLC 0x%x", self));
-    CleanupStack::PushL(self);
-    self->ConstructL(aVolume);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::ConstructL(CRsfwVolume* aVolume)
-    {
-    iRemoteAccess = NULL;
-    iRootFid = NULL;
-    iRootFep = NULL;
-    iVolume = aVolume;
-    iFs = CRsfwRfeServer::Env()->iFs;
-    iConnectionState = KMountNotConnected;
-    __ASSERT_ALWAYS(iVolume != NULL, User::Panic(KRfeServer, EConstructingServerStructs));
-    iInactivityTimeout =
-       iVolume->iMountInfo.iMountConfig.iInactivityTimeout * 1000000;
-    PrepareCacheL();
-    // Create file table
-    iFileTable = CRsfwFileTable::NewL(aVolume, iCacheRoot);
-    __ASSERT_ALWAYS(iVolume->iVolumeTable != NULL, User::Panic(KRfeServer, 
-    			EConstructingServerStructs));
-    SetupRootL(iVolume->iVolumeTable->iPermanence);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::~CRsfwFileEngine
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEngine::~CRsfwFileEngine()
-    {
-    DEBUGSTRING(("CRsfwFileEngine destructor"));
-    delete iFileTable;
-    delete iRemoteAccess;
-    delete iLockManager;
-    StopInactivityTimer();
-    delete iInactivityTimer;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::DispatchL
-// we should only come here with some synchronous requests
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::DispatchL(TRfeInArgs& aIn, TRfeOutArgs& aOut)
-    {
-
-    switch(aIn.iOpCode)
-        {
-    case EFsIoctl:
-        DEBUGSTRING(("IOCTL"));
-        DoIoctlL(static_cast<TRfeIoctlInArgs&>(aIn),
-                 aOut);
-        break;
-
-    case EFsRoot:
-        DEBUGSTRING(("ROOT"));
-        DoRootL(static_cast<TRfeRootInArgs&>(aIn),
-                static_cast<TRfeRootOutArgs&>(aOut));
-        break;
-
-    case ESetAttr:
-        DEBUGSTRING(("SETATTR"));
-        DoSetAttrL(static_cast<TRfeSetAttrInArgs&>(aIn),
-                   aOut);
-        break;
-
-    default:
-        DEBUGSTRING(("WHAT??? - %d", aIn.iOpCode));
-        User::Leave(KErrArgument);
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::FullNameLC
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwFileEngine::FullNameLC(CRsfwFileEntry& aFe)
-    {
-    HBufC* fn = aFe.FullNameLC();
-    return fn;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::FullNameL
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwFileEngine::FullNameL(CRsfwFileEntry& aFe)
-    {
-    HBufC* fn = FullNameLC(aFe);
-    CleanupStack::Pop(fn);
-    return fn;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::SetupAttributes
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::SetupAttributes(CRsfwFileEntry& aFe)
-    {
-    DEBUGSTRING(("CRsfwFileEngine::SetupAttributes"));
-    // Construct the attributes for a newly created file or directory,
-    // or a file that that was locally modified and just written to the server,
-    // based on local knowledge of time and file size.
-    // We assume that either the file is cached or it is an empty file.
-    // We do not touch the local or protection attributes.
-
-    TUint att;
-
-    // Assume that the file type has already been setup
-    if (aFe.Type() == KNodeTypeDir)
-        {
-        att = KEntryAttDir;
-        }
-    else
-        {
-        att = 0;
-        }
-
-    TTime time;
-    if (aFe.IsCached())
-        {
-        TDesC* cacheNamep = aFe.CacheFileName();
-        RFile f;
-        if (f.Open(iFs, *cacheNamep, EFileShareAny) == KErrNone)
-            {
-            // attribute bits
-            TUint a;
-            f.Att(a);
-
-            att |= a & KEntryAttReadOnly;
-
-            if (aFe.Type() == KNodeTypeDir)
-                {
-                aFe.SetSize(0);
-                }
-            else
-                {
-                if (aFe.IsFullyCached())
-                    {
-                    // size
-                    TInt siz;
-                    f.Size(siz);
-                    DEBUGSTRING(("File is fully cached, setting size to %d", siz));
-                    aFe.SetSize(siz);
-                    aFe.SetCachedSize(siz);
-                    }
-                else
-                	{
-                	DEBUGSTRING(("File is not fully cached, not touching the size"));
-                	// file is not fully cached
-                	// the size cannot be set from the local cache container	
-                	}
-                }
-            // modification time
-            f.Modified(time);
-
-            f.Close();
-            aFe.iUseCachedData = ETrue;
-          }
-        else 
-          {
-          // No cache
-          aFe.SetSize(0);
-          time.HomeTime();        
-          }
-        
-        }
-    else
-        {
-        // No cache
-        aFe.SetSize(0);
-        time.HomeTime();
-        }
-
-    aFe.SetAtt(att);
-
-    aFe.SetModified(time);
-    aFe.SetAttribValidationTime();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::MakeDirectoryEntry
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::MakeDirectoryEntry(CRsfwFileEntry& aFe, TDirEnt& aDirEnt)
-    {
-    DEBUGSTRING(("CRsfwFileEngine::MakeDirectoryEntry"));
-    DEBUGSTRING16(("name %S, att %d, size %d", aFe.Name(), aFe.Att(), aFe.Size()));;
-    aDirEnt.Clear();
-    aDirEnt.iName.Copy(*aFe.Name());
-    aDirEnt.iAttr.iAtt = aFe.Att();
-    aDirEnt.iAttr.iSize = aFe.Size();
-    aDirEnt.iAttr.iModified = aFe.Modified();
-    aDirEnt.iAttr.iUid3 = aFe.iUid;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::UpdateDirectoryContainerL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::UpdateDirectoryContainerL(CRsfwFileEntry& aFe)
-    {
-    // Construct the directory container based on
-    // file table information
-    DEBUGSTRING16(("Update directory container of %d (%S)", aFe.Fid().iNodeId, aFe.Name()));
-
-    TDesC* cacheNamep = aFe.CacheFileName();
-    if (!cacheNamep)
-        {
-        // There was no prior cache.
-        DEBUGSTRING(("Cache missing!"));
-        User::Leave(KErrGeneral);
-        }
-
-    RFile f;
-    CleanupClosePushL(f);
-    User::LeaveIfError(f.Replace(iFs,
-                                 *cacheNamep,
-                                 EFileShareAny | EFileWrite));
-    RFileWriteStream fStream(f);
-    CleanupClosePushL(fStream);
-
-    RPointerArray<CRsfwFileEntry>* kidsp = aFe.Kids();
-    TInt i;
-    if (!(iVolume->iVolumeTable->EnsureCacheCanBeAddedL(
-              sizeof(TEntry) * kidsp->Count())))      
-        {   // pessimistic estimate
-        User::Leave(KErrDiskFull);
-        }
-    for (i = 0; i < kidsp->Count(); i++)
-        {
-        CRsfwFileEntry* kidFep = (*kidsp)[i];
-        TDirEnt dirEnt;
-        MakeDirectoryEntry(*kidFep, dirEnt);
-        dirEnt.ExternalizeL(fStream);      
-        }
-    CleanupStack::PopAndDestroy(2, &f); // f
-
-    aFe.ResetLocallyDirty();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::DataChanged
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEngine::DataChanged(const CRsfwDirEntAttr& aOldAttr,
-                              const CRsfwDirEntAttr& aNewAttr)
-    {
-    // Based on attributes or metadata in general,
-    // tell whether the actual data, if cached,
-    // should be updated
-    if (aOldAttr.Att() == KEntryAttDir)
-        {
-        // use Last Modified (a weak entity tag)
-        if (aOldAttr.Modified() == aNewAttr.Modified())
-            {
-            return EFalse;
-            }
-        else
-            {
-            return ETrue;
-            }
-        }
-    else
-        {
-        // use ETags if available
-        // a strong entity tag
-        if (aOldAttr.ETag() && aNewAttr.ETag())
-            {
-            if (*aOldAttr.ETag() == *aNewAttr.ETag())
-                {
-                return EFalse;
-                }
-            else
-                {
-                return ETrue;
-                }
-            }
-
-        // use Last Modified (a weak entity tag)
-        // we assume it's file and compare also iSize...
-        if ((aOldAttr.Modified() == aNewAttr.Modified()) &&
-            (aOldAttr.Size() == aNewAttr.Size()))
-            {
-            return EFalse;
-            }
-        else
-            {
-            return ETrue;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::UseCachedData
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEngine::UseCachedData(CRsfwFileEntry& aFe)
-    {
-    if (!Disconnected())
-        {
-        return aFe.UseCachedData();
-        }
-    else
-        {
-        return ETrue;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::UseCachedAttributes
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEngine::UseCachedAttributes(CRsfwFileEntry& aFe)
-    {
-      if (!Disconnected())
-        {
-        if (aFe.Type() == KNodeTypeDir)
-			{
-			return iFileTable->Volume()->iVolumeTable->
-				IsCachedAttrStillValid(aFe.iAttribValidation);
-			}
-		else
-			{ // file
-			return iFileTable->Volume()->iVolumeTable->
-				IsCachedDataStillValid(aFe.iAttribValidation);
-
-			}
-        }
-    else
-        {
-        return ETrue;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::GetAttributesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::GetAttributesL(CRsfwFileEntry& aFe,
-                                 CRsfwDirEntAttr*& aAttr,
-                                 TUint aNodeType,
-                                 CRsfwRfeStateMachine* aCaller)
-    {
-    // Gets attributes for File Entry aFe.
-    // Uses either cached attributes (if they are still deemed to be valid), or
-    // fetches the attributes from the server*/
-    DEBUGSTRING(("GetAttributesL"));
-    if ((aFe.Type() == aNodeType) && UseCachedAttributes(aFe))
-        {
-        // Nothing to do
-
-        if (aFe.IsOpenedForWriting())
-            {
-            // update attributes when we are writing to the file
-            DEBUGSTRING(("volatile attributes"));
-            SetupAttributes(aFe);
-            }
-        else
-            {
-            DEBUGSTRING(("using cached attributes"));
-            }
-        aCaller->HandleRemoteAccessResponse(0, KErrNone); // "file exists"
-        }
-    else
-        {
-        // Refresh attributes
-        UpdateAttributesL(aFe, aAttr, aNodeType, aCaller);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::UpdateAttributesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::UpdateAttributesL(CRsfwFileEntry& aFe,
-                                    CRsfwDirEntAttr*& aAttr,
-                                    TUint aNodeType,
-                                    MRsfwRemoteAccessResponseHandler* aCaller)
-    {
-    // UpdateAttributes doesn't attempt to use cached attributes
-    HBufC* path = FullNameLC(aFe);
-    TPtr p = path->Des();
-    DEBUGSTRING16(("UpdateAttributesL of '%S'", &p));
-
-
-    UpdateAttributesL(*path, aAttr, aNodeType, aCaller);
-
-    CleanupStack::PopAndDestroy(path); // path
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::UpdateAttributesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::UpdateAttributesL(TDesC& aPath,
-                                    TDesC& aName,
-                                    CRsfwDirEntAttr*& aAttr,
-                                    TUint aNodeType,
-                                    MRsfwRemoteAccessResponseHandler* aCaller)
-    {
-    HBufC* pn = HBufC::NewLC(KMaxPath);
-    TPtr pnPtr = pn->Des();
-
-    if (aPath.Length())
-        {
-        pnPtr.Copy(aPath);
-        pnPtr.Append('/');
-        }
-    pnPtr.Append(aName);
-
-    DEBUGSTRING16(("UpdateKidAttributes of '%S'", &pnPtr));
-
-   	UpdateAttributesL(pnPtr, aAttr, aNodeType, aCaller);
-
-    CleanupStack::PopAndDestroy(pn);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::UpdateAttributesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::UpdateAttributesL(TDesC& aFullPath,
-                                    CRsfwDirEntAttr*& aAttr,
-                                    TUint aNodeType,
-                                    MRsfwRemoteAccessResponseHandler* aCaller)
-	{
-
-	// If we have "recently" found out that this file/dir does NOT exist
-	// we cache even this negative result. Time limit is cache expiry for
-	// directory attributes
-	 if ((aFullPath.Length() > 0) &&    // do not compare root folder (always exists)
-	 (iLastFailedLookup == aFullPath) &&
-	 	  (iFileTable->Volume()->iVolumeTable->
-				IsCachedAttrStillValid(iLookupTime)))
-    	{
-    	if (aNodeType == KNodeTypeDir)
-            {
-            aCaller->HandleRemoteAccessResponse(0, KErrPathNotFound);
-            }
-        else if (aNodeType == KNodeTypeFile)
-            {
-            aCaller->HandleRemoteAccessResponse(0, KErrNotFound);
-            }
-        return;
-
-    	}
-
-	if (!Disconnected())
-        {
-        if (aNodeType == KNodeTypeDir)
-            {
-            RemoteAccessL()->GetDirectoryAttributesL(aFullPath, aAttr, aCaller);
-            }
-        else if (aNodeType == KNodeTypeFile)
-            {
-            RemoteAccessL()->GetFileAttributesL(aFullPath, aAttr, aCaller);
-            }
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-
-	}
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::CreateContainerFileL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::CreateContainerFileL(CRsfwFileEntry& aFe)
-    {
-    // Create a container file for the Fid.
-    // If the cache file already exists, it will be deleted
-
-    RFile f;
-    HBufC* cachePath = HBufC::NewMaxLC(KMaxPath);
-    TPtr pathPtr = cachePath->Des();
-    BuildContainerPathL(aFe, pathPtr);
-
-    TInt err = f.Replace(iFs, *cachePath, EFileShareAny | EFileWrite);
-    f.Close();
-    if (err != KErrNone)
-        {
-        DEBUGSTRING(("Error when creating container file! err=%d", err));
-        User::Leave(KErrGeneral);
-        }  
-    aFe.SetCacheFileName(cachePath);
-    CleanupStack::PopAndDestroy(cachePath);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::FetchAndCacheL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwFileEngine::FetchAndCacheL(CRsfwFileEntry& aFe,
-                                  TInt aFirstByte,
-                                  TInt* aLength,
-                                  RPointerArray<CRsfwDirEnt>* aDirEntsp,
-                                  CRsfwRfeStateMachine* aCaller)
-    {
-    // Fetch a file from the remote store and decrypt it if necessary.
-    // The assumption is that the file has not yet been fetched
-    // or has been cached up to the byte indicated by (aFe.iCachedSize - 1)
-    // and filling the cache will continue linearly
-    // i.e. aFirstByte = 0 || aFirstByte = aFe.iCachedSize
-    // Access modules can fetch more than requested, so aLastByte might change.
-
-    DEBUGSTRING(("Fetch fid %d, bytes %d - %d",
-                 aFe.Fid().iNodeId,
-                 aFirstByte,
-                 aFirstByte + *aLength));
-
-    TUint transactionId = 0;
-    RFile f;
-    HBufC* fullName = NULL;
-    HBufC* cacheName = HBufC::NewMaxLC(KMaxPath);
-    TPtr cachePtr = cacheName->Des();
-    TInt err;
-    
-    TInt usedCache = iVolume->iVolumeTable->TotalCachedSize();
-
-    // This much will be added to the cache by this fetch
-    if (!iVolume->iVolumeTable->EnsureCacheCanBeAddedL(*aLength))
-        {
-        User::Leave(KErrDiskFull);
-        }
-
-    if (!Disconnected())
-        {
-        if (aFe.CacheFileName())
-            {
-            // modify an existing cachefile ...
-            cachePtr = *(aFe.CacheFileName());
-
-            if (aFe.Type() == KNodeTypeFile)
-                {
-                // If the cache file exists,
-                // we will just continue filling it...
-                err = f.Open(iFs, *cacheName, EFileShareAny | EFileWrite);
-                if (err)
-                    {
-                    User::LeaveIfError(f.Replace(iFs,
-                                                 *cacheName,
-                                                 EFileShareAny | EFileWrite));
-                    }
-                }
-            else
-                {
-                User::LeaveIfError(f.Replace(iFs,
-                                             *cacheName,
-                                             EFileShareAny | EFileWrite));
-                }      
-            }
-        else
-            {
-            // create a new cache file
-            CreateContainerFileL(aFe, cachePtr, f);
-            }
-
-        CleanupClosePushL(f);
-        fullName = FullNameLC(aFe);
-        if (aFe.Type() == KNodeTypeDir)
-            {
-            transactionId = GetDirectoryL(aFe,
-                                          *fullName,
-                                          f,
-                                          aDirEntsp,
-                                          aCaller);
-            }
-        else if (aFe.Type() == KNodeTypeFile)
-            {
-            f.Close();
-            transactionId = RemoteAccessL()->GetFileL(*fullName,
-                                                      *cacheName,
-                                                      aFirstByte,
-                                                      aLength,
-                                                      0,
-                                                      aCaller);
-            }
-
-        // fullName, f (duplicate close in the case of files)
-        CleanupStack::PopAndDestroy(2, &f);
-        }
-    CleanupStack::PopAndDestroy(cacheName);    
-    return transactionId;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::RequestConnectionStateL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwFileEngine::RequestConnectionStateL(TUint aConnectionState,
-                                           CRsfwRfeStateMachine* aCaller)
-    {
-    DEBUGSTRING16(("CRsfwFileEngine::RequestConnectionStateL %d", aConnectionState));
-    DEBUGSTRING16(("current connection state is %d", iConnectionState));
-    TUint transactionId = 0;
-    if (aConnectionState != iConnectionState)
-        {
-        switch (aConnectionState)
-            {
-        case KMountNotConnected:
-            DisconnectL();
-            break;
-        case KMountStronglyConnected:
-            transactionId = ConnectL(ETrue, aCaller);
-            break;
-
-        default:
-            break;
-            }
-        }
-    // else does not do anything (if iConnectionState == aConnectionState)    
-    return transactionId;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::EnteredConnectionStateL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::EnteredConnectionStateL(TUint aConnectionState,
-                                          TBool aRequested)
-    {
-    DEBUGSTRING16(("CRsfwFileEngine::EnteredConnectionStateL %d", aConnectionState));
-    DEBUGSTRING16(("current connection state is %d", iConnectionState));
-    if (aConnectionState != iConnectionState)
-        {
-        iConnectionState = aConnectionState;
-        iVolume->ConnectionStateChanged(iConnectionState);
-
-        switch (aConnectionState)
-            {
-        case KMountNotConnected:
-            if (!aRequested)
-                {
-                iRemoteAccess->Cancel(0);
-                }
-            break;
-
-        case KMountStronglyConnected:
-            if (aRequested)
-                {
-                if (iLockManager)
-                    {
-                    iLockManager->PopulateExternalLockTokenCacheL(iRootFep);
-                    }
-                }
-            break;
-
-        default:
-            break;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::ConnectionState
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwFileEngine::ConnectionState()
-    {
-    return iConnectionState;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::LockManager
-// ----------------------------------------------------------------------------
-//
-CRsfwLockManager* CRsfwFileEngine::LockManager()
-    {
-    return iLockManager;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::SetPermanenceL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::SetPermanenceL(TBool aPermanence)
-    {
-    iFileTable->SetPermanenceL(aPermanence);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::Disconnected
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEngine::Disconnected()
-    {
-    return (iConnectionState == KMountNotConnected);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::WriteDisconnected
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEngine::WriteDisconnected()
-    {
-    // This also encompasses disconnected mode
-    return (iConnectionState != KMountStronglyConnected);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::AddToCacheL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEngine::AddToCacheL(CRsfwFileEntry& aFe,
-                              RPointerArray<CRsfwDirEnt>* aDirEnts,
-                              CRsfwFileEngine *aFileEngine,
-                              TUint cachedSize)
-    {
-    // returns the size of the cached data
-    RFs fs = CRsfwRfeServer::Env()->iFs;
-    TInt err;
-    TInt kidsCount = 0;
-    TInt containerSize = cachedSize;
-    // holds true for files, will be overwritten for directories
-
-    if (aFe.Type() == KNodeTypeDir)
-        {
-        // *********** originally from CRsfwFileEngine::GetDirectoryL()
-        // **********************************************************
-        // Unmark and mark kids only when getdirectory returns KErrNone
-        // otherwise (i.e. KErrUpdateNotRequired) let's just keep
-        // the cached kids...
-        aFe.UnmarkKids();
-
-        RApaLsSession lsSession;
-        User::LeaveIfError(lsSession.Connect());
-        CleanupClosePushL(lsSession);
-
-        RFileWriteStream fStream;
-        // Dump to the local cache
-        User::LeaveIfError(
-            fStream.Open(fs,
-                         *(aFe.CacheFileName()),
-                         EFileWrite | EFileShareAny));
-        CleanupClosePushL(fStream);
-
-        containerSize = fStream.Sink()->SizeL();
-        TInt i;
-        TLex lex;
-        for (i = 0; i < aDirEnts->Count(); i++)
-            {
-		    CRsfwDirEnt* d = (*aDirEnts)[i];
-            TUid appUid;
-            // For each TDirEnt we just read...
-            // ... if the server returned content-type
-            if (d->Attr()->MimeType() && d->Attr()->MimeType()->Length())
-                {
-                err = lsSession.AppForDataType(*(d->Attr()->MimeType()),
-                                               appUid);
-                if (err == KErrNone)
-                    {
-                    d->Attr()->SetUid(appUid);
-                    }
-                }
-
-            d->Attr()->SetAttFlags(KEntryAttRemote);
-            CRsfwFileEntry* kidFep = aFe.FindKidByName(*d->Name());
-            if (kidFep)
-                {
-                // We already know this kid
-                // However we must check whether the kid has been modified
-                CRsfwDirEntAttr* oldAttr = CRsfwDirEntAttr::NewLC();
-                kidFep->GetAttributesL(*oldAttr);
-                if (DataChanged(*oldAttr, *d->Attr()))
-                    {
-                    kidFep->RemoveCacheFile();
-                    }
-                CleanupStack::PopAndDestroy(oldAttr);
-                if (kidFep->IsFullyCached())
-                    {
-                    // Mark the kid as cached
-                    d->Attr()->ResetAttFlags(KEntryAttRemote);
-                    }
-                 // as this entry is "used", move it to the back of metadata LRU list
-                 iVolume->iVolumeTable->MoveToTheBackOfMetadataLRUPriorityListL(kidFep);
-                }
-
-            // As a side effect,
-            // insert this kid into the file table and
-            // set its attributes
-            if (!kidFep)
-                {
-                if (!iVolume->iVolumeTable->EnsureMetadataCanBeAddedL(&aFe))
-                    {
-                    User::Leave(KErrNoMemory);
-                    }
-                kidFep = CRsfwFileEntry::NewL(*d->Name(), &aFe);
-                // Attach the new kid
-                aFileEngine->iFileTable->AddL(kidFep);
-                aFe.AddKid(*kidFep);
-                }
-
-            kidFep->Mark();
-            
-            // set attributes if getting directory listing also supports getting file attributes
-            if (DirectoryListingContainsFileMetadata()) 
-                {
-                kidFep->SetAttributesL(*d->Attr(), ETrue);
-                }
-             else 
-                {
-                kidFep->SetAttributesL(*d->Attr(), EFalse);
-                }
-
-            TDirEnt dirEnt;
-            MakeDirectoryEntry(*kidFep, dirEnt);
-            dirEnt.ExternalizeL(fStream);
-            kidsCount++;
-            }
-
-        aFe.DropUnmarkedKidsL();
-
-        containerSize = fStream.Sink()->SizeL();
-        // assumes that this fetch will write the whole directory,
-        
-        // i.e. there is no partial fetching for the directories
-        if(!iFileTable->Volume()->iVolumeTable->
-           EnsureCacheCanBeAddedL(containerSize))
-            {
-            User::Leave(KErrDiskFull);
-            }
-        fStream.CommitL();
-
-        CleanupStack::PopAndDestroy(2, &lsSession); // fStream, lsSession
-
-        // if the directory appeared to be childless add it to metadata LRU list
-        if ( aDirEnts->Count() == 0 )
-            {
-            iVolume->iVolumeTable->AddToMetadataLRUPriorityListL(&aFe, ECachePriorityNormal);
-            }
-
-        }// if directory
-
-    // assumes the files are cached in continuos chunks,
-    // i.e. always cached up to the last byte fetched
-    aFe.SetCachedSize(containerSize);
-
-    aFe.SetCached(ETrue);
-
-    // We have to update locally dirty bit for the parent container
-    if (aFe.Parent())
-        {
-        aFe.Parent()->SetLocallyDirty();
-        }
-    // But the object itself cannot be remotely dirty any more
-    aFe.ResetRemotelyDirty();
-
-    // *** from CRsfwFileEngine::DoFetch ***
-    if (aFe.Type() == KNodeTypeDir)
-        {
-        // the reason why kidsCount may be different than aFe.Kids.Count is that for big directories
-        // some kids could have been removed when adding the others to memory. this is due to memory management cap.
-        // however this should not happen so often
-        aFe.KidsCount() == kidsCount ? aFe.iUseCachedData = ETrue : aFe.iUseCachedData = EFalse;
-        }
-    else
-        {
-        aFe.iUseCachedData = ETrue;
-        }
-
-    return containerSize;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::RemoteAccessL
-// ----------------------------------------------------------------------------
-//
-CRsfwRemoteAccess* CRsfwFileEngine::RemoteAccessL()
-    {
-    DEBUGSTRING(("CRsfwFileEngine::RemoteAccessL"));
-    if (!iRemoteAccess)
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    // Prevent the inactivity timer from triggering
-    // in the middle of a remote access operation
-    StopInactivityTimer();
-
-    return iRemoteAccess;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::OperationCompleted
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::OperationCompleted()
-    {
-    DEBUGSTRING(("File engine operation completed"));
-    if (iVolume->iVolumeTable->iPermanence)
-        {
-        iFileTable->SaveMetaDataDelta();
-        }
-        
-    if (iLockManager && (iLockManager->LockedCount() == 0))
-        {
-        // Start timer only if we don't have files open for writing
-        StartInactivityTimer();
-        }
-
-    iVolume->OperationCompleted();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::CancelTransaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::CancelTransaction(TUint iTransactionId)
-    {
-    DEBUGSTRING(("CRsfwFileEngine::CancelTransactionL"));
-    if (iRemoteAccess) 
-        {
-        iRemoteAccess->Cancel(iTransactionId);
-        }
-
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::CancelTransaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::CancelTransactionL(TDesC& aPathName)
-    {
-    DEBUGSTRING(("CRsfwFileEngine::CancelTransactionL"));
-    TPtrC testPtr;
-    testPtr.Set(aPathName.Right(aPathName.Length() - 3));
-    HBufC* cancelPath = HBufC::NewLC(KMaxPath);
-    TPtr cancelPathPtr = cancelPath->Des();
-    // change '\\' to '/' so the path matches
-    TLex parser(testPtr);
-    TChar theChar;
-    
-    for (int i = 0; i < testPtr.Length(); i++)
-        {
-        theChar = parser.Get();
-        if (theChar == 0) 
-            {
-            break;
-            }
-        // assumes that the input string always has "\\" and not just "\"
-        // this is true as the input is a file path
-        if (theChar != '\\') 
-            {
-            cancelPathPtr.Append(theChar);
-            }
-        else 
-            {
-            cancelPathPtr.Append('/');
-            }        
-        }
-    
-    if (iRemoteAccess) 
-        {
-        iRemoteAccess->Cancel(*cancelPath);
-        }
-        
-    CleanupStack::PopAndDestroy(cancelPath);    
-    
-    }
-
-    
-
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::SetFailedLookup
-// Caches the last failed lookup result
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::SetFailedLookup(TDesC& aPath, TDesC& aKidName)
-	{
-	iLastFailedLookup = aPath;
-	iLastFailedLookup.Append('/');
-	iLastFailedLookup.Append(aKidName);
-	iLookupTime.HomeTime();
-	DEBUGSTRING16(("SetFailedLookup: %S", &iLastFailedLookup));
-	}
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::ResetFailedLookup
-// Clears the last failed lookup result
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::ResetFailedLookup()
-	{
-	DEBUGSTRING16(("ResetFailedLookup: %S", &iLastFailedLookup));
-	iLastFailedLookup.Zero();
-	}
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::Volume
-// ----------------------------------------------------------------------------
-//
-CRsfwVolume* CRsfwFileEngine::Volume()
-    {
-    return iVolume;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::PrepareCacheL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::PrepareCacheL()
-    {
-    // make sure the file cache (of this volume) exists
-    iCacheRoot.Copy(CRsfwRfeServer::Env()->iCacheRoot);
-    iCacheRoot.Append('C');
-    iCacheRoot.AppendNum(iVolume->iMountInfo.iMountStatus.iVolumeId);
-    iCacheRoot.Append('\\');
-    
-    if (! BaflUtils::FileExists(iFs, iCacheRoot))
-        {
-        // There was no prior cache directory
-        TInt err = iFs.MkDirAll(iCacheRoot);
-        DEBUGSTRING(("Cache directory created with err=%d", err));
-        User::LeaveIfError(err);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::GetDirectoryL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwFileEngine::GetDirectoryL(CRsfwFileEntry& /*aFe*/,
-                                 TDesC& aFullName,
-                                 RFile& /*aF*/,
-                                 RPointerArray<CRsfwDirEnt>* aDirEntsp,
-                                 MRsfwRemoteAccessResponseHandler* aCaller)
-    {
-    return RemoteAccessL()->GetDirectoryL(aFullName, *aDirEntsp, aCaller);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::BuildContainerPathL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::BuildContainerPathL(CRsfwFileEntry& aFe, TDes& aPath)
-    {
-    if (aPath.MaxLength() < (aPath.Length() + iCacheRoot.Length()))
-        {
-        aPath.Copy(iCacheRoot);
-        }
-    else 
-        {
-        User::Leave(KErrOverflow);
-        }
-
-    ApplyMultiDirCacheL(aPath);
-    // This filename tagging based on container type is just for convenience
-    if (aFe.Type() == KNodeTypeFile)
-        {
-        aPath.Append('F');
-        }
-    else
-        {
-        aPath.Append('D');
-        }
-    aPath.AppendNum((TInt)aFe.Fid().iNodeId);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::ApplyMultiDirCachePathL
-// Due to Symbian performance problems with huge directories, items will not
-// be stored in one directory in the cache.
-// Now instead one dir like:
-// C:\system\data\rsfw_cache\C16
-// there will be dirs like:
-// C:\system\data\rsfw_cache\C16\M0
-// C:\system\data\rsfw_cache\C16\M1
-// ... and so on
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::ApplyMultiDirCacheL(TDes& aPath)
-    {
-    // maximum number of items in a single dir in the cache
-    const TInt KRsfwMaxItemsInDir = 100;
-    TInt i;
-    // this loop will surely break (or leave) at some point
-    for ( i = 0; ; i++ )
-        {
-        // create path like "C:\system\data\rsfw_cache\C16\M0"
-        HBufC* trypath = HBufC::NewMaxL(KMaxPath);
-        TPtr pathPtr = trypath->Des();
-        pathPtr.Copy(aPath);
-        pathPtr.Append('M');
-        pathPtr.AppendNum(i);
-        pathPtr.Append('\\');
-
-        // check whether dir exists and if so, how many items it contains
-        CDir* dir = NULL;
-        // note that KEntryAttDir att means files & directories
-        TInt err = iFs.GetDir(*trypath, KEntryAttDir, ESortNone, dir);
-        if ( err == KErrNone )
-            {
-            // count the items
-            TInt count = dir->Count();
-            delete dir;
-            dir = NULL;
-            
-            //limit is not exceeded -> return the path
-            if ( count < KRsfwMaxItemsInDir )
-                {
-                aPath.Copy(pathPtr);
-                delete trypath;
-                break;
-                }
-            // limit exceeded -> let's try the next dir
-            else
-                {
-                delete trypath;
-                continue;
-                }    
-            }        
-        else if ( err == KErrPathNotFound )
-            {
-            // create dir and return the path to empty dir
-            err = iFs.MkDir(*trypath);
-            if (!err) 
-                {
-                aPath.Copy(pathPtr);
-                delete trypath;
-                }
-            else 
-                {
-                delete trypath;
-                DEBUGSTRING(("Error when creating cache dir! err=%d", err));
-                User::Leave(KErrGeneral);
-                }
-   
-            break;
-            }
-        else
-            {
-            delete trypath;
-            DEBUGSTRING(("Cache directory cannot be created! err=%d", err));        
-            User::Leave(KErrGeneral);
-            }    
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::CreateContainerFileL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::CreateContainerFileL(CRsfwFileEntry& aFe,
-                                       TDes& aPath,
-                                       RFile& aF)
-    {
-    // Create a container file for the Fid.
-    // If the cache file already exists, it will be deleted
-
-    BuildContainerPathL(aFe, aPath);
-
-    TInt err = aF.Replace(iFs, aPath, EFileShareAny | EFileWrite);
-    if (err != KErrNone)
-        {
-        User::Leave(KErrGeneral);
-        }
-    aF.Close();
-
-    aFe.SetCacheFileName(&aPath);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::DoIoctlL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::DoIoctlL(TRfeIoctlInArgs& aIn, TRfeOutArgs& /* aOut */)
-    {
-    TFid fidp = aIn.iFid;
-    TInt cmd = aIn.iCmd;
-
-    TInt err = KErrNone;
-
-    DEBUGSTRING(("ioctl fid %d - command=%d, data=%d",
-                 fidp.iNodeId,
-                 cmd,
-                 aIn.iData32[0]));
-
-    CRsfwFileEntry* fep = iFileTable->Lookup(fidp);
-    if (fep)
-        {
-        switch (cmd)
-            {
-        case ERemoteFsIoctlRefresh:
-
-
-            if (fep->Type() == KNodeTypeFile)
-                {
-
-                fep->SetCacheFileName(NULL);
-                fep->SetCached(EFalse);
-
-                // There is a change in the parent's container
-                fep->Parent()->SetLocallyDirty();
-                }
-            break;
-
-        case ERemoteFsHighCachePriority:
-        default:
-            err = KErrArgument;
-            break;
-            }
-        }
-    else
-        {
-        err = KErrNotFound;
-        }
-
-    if (err != KErrNone)
-        {
-        User::Leave(err);
-        }
-
-    return;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::DoRootL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::DoRootL(TRfeRootInArgs& /* aIn */, TRfeRootOutArgs& aOut)
-    {
-    SetupRootL(iVolume->iVolumeTable->iPermanence);
-    aOut.iFid.iVolumeId = iRootFid->iVolumeId;
-    aOut.iFid.iNodeId = iRootFid->iNodeId;
-    return;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::DoSetAttrL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::DoSetAttrL(TRfeSetAttrInArgs& aIn, TRfeOutArgs& /* aOut */)
-    // We cannot really set anything but this is the way to implement this
-    // note that if this is implemented, it should really be a state machine
-    {
-    TInt err = KErrNone;
-    TFid fidp = aIn.iFid;
-#ifdef _DEBUG
-    TDirEntAttr* attrp = &(aIn.iAttr);
-#endif
-
-    DEBUGSTRING(("setting attributes of fid %d, attr=0x%x, size=%d, time=",
-                 fidp.iNodeId,
-                 attrp->iAtt,
-                 attrp->iSize));
-    DEBUGTIME((attrp->iModified));
-
-    // Get the file or directory to setattr
-    CRsfwFileEntry* fep = iFileTable->Lookup(fidp);
-    if (fep)
-        {
-        err = KErrNotSupported;
-        }
-    else
-        {
-        err = KErrNotFound;
-        }
-
-    User::Leave(err);
-    return;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::SetupRootL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::SetupRootL(TBool aPermanence)
-    {
-    _LIT(KRootPath, ".");  // dummy
-
-    if (!iRootFid)
-        {
-        CRsfwFileEntry* root = NULL;
-        TInt err;
-        if (aPermanence)
-            {
-            TRAP(err, root = iFileTable->LoadMetaDataL());
-            }
-        if (err == KErrCorrupt)    
-            {
-            DEBUGSTRING(("Metadata corrupted! Recreating cache file..."));
-            // corrupted cache file, recreate filetable and cache file
-            delete iFileTable;
-            iFileTable = NULL;
-            CleanupCorruptedCacheL();
-            PrepareCacheL();
-            iFileTable = CRsfwFileTable::NewL(iVolume, iCacheRoot);
-            }
-        if (!aPermanence || (err != KErrNone))
-            {
-            root = CRsfwFileEntry::NewL(KRootPath, NULL);
-            // Insert root into the file table
-            iFileTable->AddL(root);
-            root->SetType(KNodeTypeDir);
-            }
-        if (aPermanence)
-            {
-            iFileTable->SaveMetaDataDelta();
-            }
-        iRootFep = root;
-        iRootFid = &(root->Fid());
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::CleanupCorruptedCacheL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::CleanupCorruptedCacheL()
-    {    
-    // delete everything from the cache
-    TFileName cachepath;
-    cachepath.Copy(iCacheRoot);
-    CFileMan* fileMan = CFileMan::NewL(iFs);
-    fileMan->Delete(cachepath, CFileMan::ERecurse);
-    delete fileMan;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::ConnectL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwFileEngine::ConnectL(TBool aRestart, CRsfwRfeStateMachine* aCaller)
-    {
-    // Assume parameter format:
-    // protocol://username:password@server:port/rootdir or
-    // The ":password", ":port", and "[/]rootdir" can be omitted.
-    // If the length of password parameter is bigger than 1,
-    // it overrides the one in uri, if any.
-    // Characters can be quoted with %<hexdigit><hexdigit> format
-    TUint transactionId = 0;
-
-    if (iRemoteAccess)
-        {
-        // We already have a remote accessor
-        if (aRestart)
-            {
-            // Restarting
-            delete iLockManager;
-            iLockManager = NULL;
-            delete iRemoteAccess;
-            iRemoteAccess = NULL;
-            }
-        else
-            {
-            User::Leave(KErrAlreadyExists);
-            }
-        }
-
-    DEBUGSTRING16(("ConnectL(): '%S'",
-                   &iVolume->iMountInfo.iMountConfig.iUri));
-
-    TUriParser uriParser;
-    User::LeaveIfError(uriParser.Parse(iVolume->iMountInfo.iMountConfig.iUri));
-
-    TPtrC userName;
-    TPtrC password;
-    TPtrC friendlyName;
-
-    if (uriParser.IsPresent(EUriUserinfo))
-        {
-        TPtrC userInfo(uriParser.Extract(EUriUserinfo));
-        // Split the user info into user name and password (seprated by ':')
-        TInt pos = userInfo.Locate(':');
-        if (pos != KErrNotFound)
-            {
-            password.Set(userInfo.Mid(pos + 1));
-            userName.Set(userInfo.Left(pos));
-            }
-        else
-            {
-            userName.Set(userInfo);
-            }
-        }
-
-    HBufC* userNameBuf = NULL;
-    if (!userName.Length() &&
-        iVolume->iMountInfo.iMountConfig.iUserName.Length())
-        {
-        // separate user name overwrites the username embedded in the URI
-        userName.Set(iVolume->iMountInfo.iMountConfig.iUserName);
-        }
-
-    HBufC* passwordBuf = NULL;
-    if (!password.Length() &&
-        (iVolume->iMountInfo.iMountConfig.iPassword.Length() > 1))
-        {
-        // separate password overwrites the password embedded in the URI
-        password.Set(iVolume->iMountInfo.iMountConfig.iPassword);
-        }
-
-    friendlyName.Set(iVolume->iMountInfo.iMountConfig.iName);
-
-    TPtrC scheme(uriParser.Extract(EUriScheme));
-    HBufC8* protocol = HBufC8::NewLC(scheme.Length());
-    TPtr8 protocolPtr = protocol->Des();
-    protocolPtr.Copy(scheme);
-    iRemoteAccess = CRsfwRemoteAccess::NewL(protocolPtr);
-    CleanupStack::PopAndDestroy(protocol);
-
-    // user name and password are conveyed separately from the URI
-    CUri* uri = CUri::NewLC(uriParser);
-    uri->RemoveComponentL(EUriUserinfo);
-
-    // leaves if error
-    iRemoteAccess->SetupL(this);
-    transactionId = iRemoteAccess->
-        OpenL(uri->Uri(),
-              friendlyName,
-              userName,
-              password,
-              iVolume->iMountInfo.iMountConfig.iAuxData,
-              aCaller);
-
-    CleanupStack::PopAndDestroy(uri);
-    if (passwordBuf)
-        {
-        CleanupStack::PopAndDestroy(passwordBuf);
-        }
-    if (userNameBuf)
-        {
-        CleanupStack::PopAndDestroy(userNameBuf);
-        }
-
-    // lock manager can be created before we know whether connecting was
-    // succesful - however it must be deleted upon unsuccesful connect
-    if (!iLockManager)
-        {
-        iLockManager = CRsfwLockManager::NewL(iRemoteAccess);
-        }
-
-    if ((iInactivityTimeout > 0) && !iInactivityTimer)
-        {
-        iInactivityTimer = CPeriodic::NewL(CActive::EPriorityLow);
-        }
-    return transactionId;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::DisconnectL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::DisconnectL()
-    {
-    DEBUGSTRING(("CRsfwFileEngine::DisconnectL"));
-    if (iRemoteAccess) 
-        {
-        iRemoteAccess->Cancel(0);
-        delete iRemoteAccess;
-        iRemoteAccess = NULL;
-        }
-
-    if (iLockManager) 
-        {
-        delete iLockManager;
-        iLockManager = NULL;
-        }
-
-    
-    // Set open file count to zero
-    // If there are open files, after disconnecting we do not necessarily
-    // get close events.
-    // Note that this variable is not "dirty bit" (file has currently
-    // uncommitted modifications), so it is safe to set it to zero
-    TInt openfiles = iFileTable->OpenFileCount();
-    iFileTable->UpdateOpenFileCount(-openfiles);
-        
-    EnteredConnectionStateL(KMountNotConnected, ETrue);
-    
-    // publish connection status when disconnecting
-    iVolume->iVolumeTable->PublishConnectionStatus(iVolume);
-   
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::StartInactivityTimer
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::StartInactivityTimer()
-    {
-    if (iInactivityTimer)
-        {
-        DEBUGSTRING(("inactivity timer started (%d us)",
-                     iInactivityTimeout));
-        iInactivityTimer->Cancel();
-        TCallBack callBack(CRsfwFileEngine::InactivityTimerExpired, this);
-        iInactivityTimer->Start(iInactivityTimeout,
-                                iInactivityTimeout,
-                                callBack);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::StopInactivityTimer
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::StopInactivityTimer()
-    {
-    DEBUGSTRING(("CRsfwFileEngine::StopInactivityTimer"));
-    if (iInactivityTimer)
-        {
-        DEBUGSTRING(("inactivity timer stopped"));
-        iInactivityTimer->Cancel();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::InactivityTimerExpired
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEngine::InactivityTimerExpired(TAny* aArg)
-    {
-    DEBUGSTRING(("CRsfwFileEngine::InactivityTimerExpired"));
-    CRsfwFileEngine* fileEngine = static_cast<CRsfwFileEngine*>(aArg);
-    if (fileEngine->iFileTable->OpenFileCount() == 0) 
-        {
-        fileEngine->StopInactivityTimer();
-        TRAP_IGNORE(fileEngine->DisconnectL());
-        // "Simulate" operation completion (which may result in RFE shutdown)
-        fileEngine->OperationCompleted();
-        }
-    else 
-        {
-        // if there are open files on this volume, just restart the inactivity timer
-        fileEngine->StartInactivityTimer();
-        }
-
-    return 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::HandleRemoteAccessEventL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEngine::HandleRemoteAccessEventL(TInt aEventType,
-                                           TInt aEvent,
-                                           TAny* /* aArg */)
-    {
-    DEBUGSTRING(("Handle remote access event: %d/%d in connection state %d",
-                 aEventType,
-                 aEvent,
-                 iConnectionState));
-    switch (aEventType)
-        {
-    case ERsfwRemoteAccessObserverEventConnection:
-        switch (aEvent)
-            {
-        case ERsfwRemoteAccessObserverEventConnectionDisconnected:
-            EnteredConnectionStateL(KMountNotConnected, EFalse);
-            break;
-
-        case ERsfwRemoteAccessObserverEventConnectionWeaklyConnected:
-#if 0
-            // This event does not appear
-            EnteredConnectionStateL(KMountWeaklyConnected, EFalse);
-#endif
-            break;
-
-        case ERsfwRemoteAccessObserverEventConnectionStronglyConnected:
-#if 0
-            // This event does not appear
-            EnteredConnectionStateL(KMountStronglyConnected, EFalse);
-#endif
-            break;
-
-        default:
-            break;
-            }
-        break;
-
-    default:
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEngine::PurgeFromCacheL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEngine::PurgeFromCache(const TDesC& aPath) 
-    {
-    // get the fid of the entry for which the cached data is removed
-    CRsfwFileEntry* targetFid = FetchFep(aPath);
-    if (!targetFid) 
-        {
-        return KErrPathNotFound;
-        }
-    // only directories can be refreshed currently    
-    if (targetFid->Type() != KNodeTypeDir) 
-        {
-        return KErrArgument;
-        }
-    targetFid->SetCached(EFalse);    
-    return KErrNone;
-    }
-                                           
-CRsfwFileEntry* CRsfwFileEngine::FetchFep(const TDesC& aPath) 
-    {
-    DEBUGSTRING16(("CRsfwFileEngine::FetchFep for file %S", &aPath));
-    if (aPath.Length() <= 1)
-        {
-        DEBUGSTRING(("returning rootFep"));
-        return iRootFep;
-        }
-    else 
-        {
-        TInt delimiterPos = aPath.LocateReverse(KPathDelimiter);
-        if (delimiterPos == (aPath.Length() - 1))
-            {
-            // The path ends with a slash,
-            //i.e. this is a directory - continue parsing
-            TPtrC nextdelimiter;
-            nextdelimiter.Set(aPath.Left(delimiterPos));
-            delimiterPos = nextdelimiter.LocateReverse(KPathDelimiter);
-            }
-        TPtrC entry(aPath.Right(aPath.Length() - (delimiterPos + 1)));
-        TPtrC path(aPath.Left(delimiterPos + 1));
-        
-        // strip a trailing backslash if found
-        delimiterPos = entry.LocateReverse(KPathDelimiter);
-        if (delimiterPos == (entry.Length() - 1)) 
-            {
-            TPtrC stripped(entry.Left(entry.Length() - 1));
-            return (FetchFep(path)->FindKidByName(stripped));
-            }
-           else 
-            {
-            return (FetchFep(path)->FindKidByName(entry));
-            }
-        
-        }
-
-    }
-    
-HBufC8* CRsfwFileEngine::GetContentType(TDesC& aName)
-     {
-     TInt err;
-     RApaLsSession lsSession;
-     err = lsSession.Connect();
-     if (err) 
-         {
-         return NULL;
-         }
-         
-     RFs fsSession;
-     err = fsSession.Connect();
-     if (err) 
-         {
-         lsSession.Close();
-         return NULL;
-         }
-     fsSession.ShareProtected();
-     TDataRecognitionResult dataType;
-     RFile theFile;
-     // the mode must mach the mode that is used in the file system plugin
-     // (EFileWrite|EFileShareAny)
-     err = theFile.Open(fsSession, aName, EFileWrite|EFileShareAny);
-     if (err) 
-         {
-         lsSession.Close();
-         fsSession.Close();
-         return NULL;
-         }
-     err = lsSession.RecognizeData(theFile, dataType);
-     lsSession.Close();
-     theFile.Close();
-     fsSession.Close();
-     if (err) 
-         {
-         return NULL;
-         }
-      
-     return dataType.iDataType.Des8().Alloc();
-     }    
-
- // The purpose of these functions is to give capability info
- // for the access protocol plugin used.
- 
- // Currently this information is hard coded and takes into account webdav and upnp
- // access modules. New function should be added to the access plugin api to get
- // this information from the protocol module
-    
-  // whether getting the directory listing also gives reliable file metadata
-TBool CRsfwFileEngine::DirectoryListingContainsFileMetadata() 
-    {
-    _LIT(KUPnP, "upnp");
-    if (iVolume->MountInfo()->iMountConfig.iUri.Left(4) == KUPnP)
-        {
-        return EFalse;
-        }
-    else 
-        {
-        return ETrue;
-        }
-    
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwfileentry.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1356 +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:  metadata struct for a remote file entry
-*
-*/
-
-
-#include <bautils.h>
-
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwconfig.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwrfeserver.h"
-#include "rsfwlockmanager.h"
-#include "mdebug.h"
-#include "rsfwdirentattr.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::NewLC
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwFileEntry::NewLC(const TDesC& aName, CRsfwFileEntry* aParent)
-    {
-    CRsfwFileEntry* self = new (ELeave) CRsfwFileEntry();
-    CleanupStack::PushL(self);
-    self->ConstructL(aName, aParent);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwFileEntry::NewL(const TDesC& aName, CRsfwFileEntry* aParent)
-    {
-    CRsfwFileEntry* self = NewLC(aName, aParent);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwFileEntry::NewL(RReadStream& aStream)
-    {
-    CRsfwFileEntry* self = new (ELeave) CRsfwFileEntry();
-    CleanupStack::PushL(self);
-    self->ConstructL(aStream);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ConstructL(const TDesC& aName, CRsfwFileEntry* aParent)
-    {
-    iType = KNodeTypeUnknown;
-    iParent = aParent;
-    iName = aName.AllocL();
-    iAtt = KEntryAttRemote;
-    iCachePriority = ECachePriorityNormal;
-    
-    SetLockTimeout();
-    // Note that we don't yet attach the kid to its parent
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ConstructL(RReadStream& aStream)
-    {
-    // aStream >> *this;
-    this->InternalizeL(aStream);
-    SetLockTimeout();
-    // Note that we don't yet attach the kid to its parent
-    }
-
-void CRsfwFileEntry::SetLockTimeout() 
-    {
-    // When creating a file entry, the lock timeout is set to default
-    // even when internalizing from stream.
-    // We do not assume any locks that would survive server restarts
-    TInt timeout;
-    TInt err = CRsfwRfeServer::Env()->iRsfwConfig->Get(RsfwConfigKeys::KLockTimeout,
-                                                       timeout);
-    if (!err)
-        {
-        iLockTimeout = (TUint)timeout;
-        }
-    else
-        {
-        iLockTimeout = KDefaultLockTimeout;
-        }
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::~CRsfwFileEntry
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry::~CRsfwFileEntry()
-    {
-    if (iFlags & KNodeHasValidLock)
-        {
-        if (iLockManager)
-            {
-            iLockManager->RemoveLockedEntry(this);
-            }
-        }
-    delete iName;
-    delete iMimeType;
-    delete iOpaqueFileId;
-    delete iLockToken;
-    
-    if (!iFileTable || !iFileTable->Permanence())
-        {
-        RemoveCacheFile();
-        }
-    
-    if ( iFileTable )
-        {
-        iFileTable->Volume()->iVolumeTable->RemoveFromMetadataLRUPriorityList(this);        
-        }
-    
-    delete iLockTimer;
-
-    // delete kids
-    TInt i;
-    for(i = 0; i < iKids.Count(); i++)
-        {
-        delete iKids[i];
-        }
-    iKids.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::FindKidByName
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwFileEntry::FindKidByName(const TDesC& aName)
-    {
-     DEBUGSTRING(("CRsfwFileEntry::FindKidByName"));
-    // finds a kid from a parent directory
-    TInt i;
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        CRsfwFileEntry* kid = iKids[i];
-        if (kid->iName->Compare(aName) == 0)
-            {
-            return iKids[i];
-            }
-        }
-    DEBUGSTRING(("...kid not found!"));   
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::RenameL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::RenameL(const TDesC& aName)
-    {
-    delete iName;
-    iName = NULL;
-    iName = aName.AllocL();
-    ReportEvent(KNotifyNodeModified);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::AddKid
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::AddKid(CRsfwFileEntry& aFe)
-    {
-    // if this is the first kid to be added then probably
-    // we have to remove the entry from metadata LRU list
-    if ( iKids.Count() == 0 )
-        {
-        iFileTable->Volume()->iVolumeTable->RemoveFromMetadataLRUPriorityList(this);
-        }
-    iKids.Append(&aFe);
-    // (This assignment is sometimes redundant)
-    aFe.SetParent(this);
-    ReportEvent(KNotifyNodeModified);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::RemoveKidL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEntry::RemoveKidL(CRsfwFileEntry* aFep)
-    {
-    TInt i;
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        if (iKids[i] == aFep)
-            {
-            ReportEvent(KNotifyNodeModified);
-            iKids.Remove(i);
-            // if we've just removed the last kid of the entry
-            // we can add the entry to metadata LRU list
-            if ( iKids.Count() == 0 )
-                {
-                iFileTable->Volume()->iVolumeTable->AddToMetadataLRUPriorityListL(this, ECachePriorityNormal);
-                }
-            return KErrNone;
-            }
-        }
-    DEBUGSTRING(("remove kid %d not found in %d",
-                 aFep->Fid().iNodeId,
-                 Fid().iNodeId));
-    return KErrNotFound;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::KidsCount
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEntry::KidsCount()
-    {
-    return iKids.Count();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::UnmarkKids
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::UnmarkKids()
-    {
-    TInt i;
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        iKids[i]->Unmark();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::DropUnmarkedKidsL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::DropUnmarkedKidsL()
-    {
-    TInt i = 0;
-    while (i < iKids.Count())
-        {
-        if (!iKids[i]->IsMarked())
-            {
-            iKids[i]->DropLD();
-            }
-        else
-            {
-            i++;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::DropLD
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::DropLD()
-    {
-    DEBUGSTRING(("CRsfwFileEntry::DropLD"));
-    TInt i = 0;
-    while (i < iKids.Count())
-        {
-        iKids[i]->DropLD();
-        }
-        
-    iFileTable->RemoveL(this);
-    delete this;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::GetAttributes
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::GetAttributes(TDirEntAttr& aAttr) const
-    {
-    aAttr.iAtt = Att();
-    aAttr.iSize = Size();
-    aAttr.iModified = Modified();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::GetAttributesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::GetAttributesL(CRsfwDirEntAttr& aAttr) const
-    {
-    aAttr.SetAtt(Att());
-    aAttr.SetSize(Size());
-    aAttr.SetModified(Modified());
-    if (iOpaqueFileId)
-        {
-        aAttr.SetETagL(*OpaqueFileId());
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetAttributesL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetAttributesL(CRsfwDirEntAttr& aAttr,
-                                    TBool aAllMetaData)
-    {
-    SetAtt(aAttr.Att());
-    if (aAllMetaData) 
-        {
-        SetSize(aAttr.Size());
-        SetModified(aAttr.Modified());
-        if (aAttr.MimeType())
-            {
-            SetMimeTypeL(*aAttr.MimeType());
-            }
-        if (aAttr.ETag())
-            {
-            SetOpaqueFileIdL(*aAttr.ETag());
-            }
-        SetUid(aAttr.Uid());
-        SetAttribValidationTime();
-        }
-
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::CacheFileName
-// ----------------------------------------------------------------------------
-//
-TDesC* CRsfwFileEntry::CacheFileName()
-    {
-    DEBUGSTRING(("CRsfwFileEntry::CacheFileName"));
-    if (iCacheName.Length())
-        {
-        return &iCacheName;
-        }
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetCacheFileName
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetCacheFileName(TDesC* aFn)
-    {
-    DEBUGSTRING16(("SetCacheFileName for file %S", Name()));
-    if (aFn)
-        {
-        iCacheName = *aFn;
-        ReportEvent(KNotifyNodeModified);
-        }
-    else
-        {
-        if (iCacheName.Length())
-            {
-            if (IsCached())
-                {
-                // Remove the cache list entry...
-                iFileTable->
-                    Volume()->
-                    iVolumeTable->RemoveFromLRUPriorityList(this);
-                }
-            // This is a request to discard the container
-            RFs fs = CRsfwRfeServer::Env()->iFs;
-            TInt err = fs.Delete(iCacheName);
-            if (err != KErrNone)
-                {
-                DEBUGSTRING(("Cannot purge cache file (err=%d)", err));
-                }
-            iCacheName.Zero();
-            // Reset locally dirty in case this is a directory.
-            // "locally dirty" means that the container
-            // doesn't have the "cached"/"protected" indicator bits up to date
-            // (these indicators refer to files contained in the directory).
-            iFlags &= ~KNodeLocallyDirty;
-            ReportEvent(KNotifyNodeModified);
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsCached
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsCached() const
-    {
-   DEBUGSTRING(("CRsfwFileEntry::IsCached, iAtt = %d, iFlags = %d", iAtt, iFlags));
-    if (((iAtt & KEntryAttRemote) == 0) ||
-        (iFlags & KNodePartlyCached))
-        {
-         DEBUGSTRING(("returning ETrue"));
-        // File is either fully or partly cached
-        return ETrue;
-        }
-        
-    DEBUGSTRING(("returning EFalse"));
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsFullyCached
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsFullyCached() const
-    {
-    DEBUGSTRING(("CRsfwFileEntry::IsFullyCached"));
-    DEBUGSTRING(("iCachedSize = %d, iSize = %d", iCachedSize, iSize));
-    if (Type() == KNodeTypeDir)
-        {
-        return IsCached();
-        }
-    else
-        {
-        if (iCachedSize == iSize)
-            {
-            return IsCached();
-            }
-        else
-            {
-            return EFalse;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetCached
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetCached(TBool aCached)
-    {
-    DEBUGSTRING(("CRsfwFileEntry::SetCached"));
-    TUint oldAtt = iAtt;
-    if (aCached)
-        {
-        if (Type() == KNodeTypeDir)
-            {
-            // set to fully cached
-            DEBUGSTRING(("set directory to fully cached"));
-            iAtt &= ~KEntryAttRemote;
-            iFlags &= ~KNodePartlyCached;
-            }
-        else
-            {
-            if (iCachedSize == iSize)
-                {
-                // set file to fully cached
-                DEBUGSTRING(("set file to fully cached"));
-                iAtt &= ~KEntryAttRemote;
-                iFlags &= ~KNodePartlyCached;
-                }
-            else
-                {
-                // Set file to partly cached
-                DEBUGSTRING(("set file to partly cached"));
-                iAtt |= KEntryAttRemote;
-                iFlags |= KNodePartlyCached;
-                }
-            }
-        }
-    else
-        {
-        // set to "fully" remote
-        DEBUGSTRING(("set to fully remote"));
-        iFlags &= ~KNodePartlyCached;
-        iAtt |= KEntryAttRemote;
-        iUseCachedData = EFalse;
-        iCachedSize = 0;
-        }
-    if (iAtt != oldAtt)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetCachedSize
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetCachedSize(TInt aFetchedSize)
-    {
-    TInt oldCachedSize = iCachedSize;
-    iCachedSize = aFetchedSize;
-    if (iCachedSize != oldCachedSize)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::RemoveCacheFile
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::RemoveCacheFile()
-    {
-   DEBUGSTRING(("CRsfwFileEntry::RemoveCacheFile"));
-    if (IsCached() && iFileTable)
-        {
-        // Remove the cache list entry...
-        iFileTable->Volume()->iVolumeTable->RemoveFromLRUPriorityList(this);
-        }
-
-    if (iCacheName.Length())
-        {
-        RFs fs = CRsfwRfeServer::Env()->iFs;
-        TInt err = fs.Delete(iCacheName);
-        if ((err != KErrNone) && (err != KErrNotFound))
-            {
-            DEBUGSTRING(("Cannot delete cache file (err=%d)", err));
-            }
-        iCacheName.Zero();
-        }
-    SetCached(EFalse);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ValidateCacheFile
-// Function checks whether cache file has not been accidentally or intentionally
-// removed from the cache (which would mean the cache has been corrupted)
-// In case the corruption has happened, the function sets entry as non-cached
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ValidateCacheFile()
-    {
-    if (iCacheName.Length() > 0)
-        {
-        RFs fs = CRsfwRfeServer::Env()->iFs;
-        if (! BaflUtils::FileExists(fs, iCacheName))
-            {
-            SetCached(EFalse);        
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::PrintL
-// ----------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void CRsfwFileEntry::PrintL(TInt aLevel, TBool aKids, TBool aAll) const
-    {
-    if (!IsCached() && !aAll)
-        {
-        // Print only information about cached files
-        return;
-        }
-
-    HBufC* sBuf = HBufC::NewLC(KMaxPath);
-    TPtr s = sBuf->Des();
-
-    s.Fill(' ', 4 * aLevel);
-    s.AppendNum(iFid.iNodeId);
-    s.Append('|');
-    s.Append(*iName);
-    switch (iType)
-        {
-    case KNodeTypeDir:
-        s.Append('/');
-        break;
-
-    case KNodeTypeFile:
-        break;
-
-    default:
-        s.Append('?');
-        break;
-        }
-
-    if (IsCached())
-        {
-        s.Append('|');
-        s.Append(iCacheName);
-        }
-
-    DEBUGBUFFER((s));
-
-    CleanupStack::PopAndDestroy(sBuf); // sBuf
-
-    if (aKids)
-        {
-        TInt i;
-        for (i = 0; i < iKids.Count(); i++)
-            {
-            iKids[i]->PrintL(aLevel + 1, aKids, aAll);
-            }
-        }
-    }
-#else
-void CRsfwFileEntry::PrintL(TInt, TBool, TBool) const
-    {
-    }
-#endif //DEBUG
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::FullNameLC
-// Construct full name relative to the root.
-// The caller is responsible for deallocating the return value.
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwFileEntry::FullNameLC() const
-    {
-    // We know that we can't have more than KMaxPath entries,
-    // because each entry is minimally "/"
-    CRsfwFileEntry* entList[KMaxPath / 2];
-
-    HBufC* fn = HBufC::NewLC(KMaxPath);
-    TPtr fnp = fn->Des();
-    CRsfwFileEntry* fep = const_cast<CRsfwFileEntry*>(this);
-    TInt depth = 0;
-    do
-        {
-        if (depth >= (KMaxPath / 2))
-            {
-            // Too deep hierarchy
-            DEBUGSTRING(("CRsfwFileEntry::FullNameLC - Too deep hierarchy! %d", depth));
-            User::Leave(KErrGeneral);
-            }
-        entList[depth++] = fep;
-        fep = fep->iParent;
-        }
-    while (fep);
-
-    // We want to avoid going right to the root to avoid dots
-    depth--;
-
-    TInt i;
-    for (i = depth - 1; i >= 0; i--)
-        {
-        TPtr name = entList[i]->iName->Des();
-        if (i != (depth - 1))
-            {
-            // Skip "this" directories (should not happen)
-            if ((name[0] == '.') && (name.Length() == 1))
-                {
-                continue;
-                }
-            }
-        if ((fnp.Length() + name.Length()) >= (KMaxPath - 1))
-            {
-            // Too long name
-            DEBUGSTRING(("CRsfwFileEntry::FullNameLC - Too long name!"));
-            User::Leave(KErrGeneral);
-            }
-        fnp.Append(name);
-        if (i != 0)
-            {
-            fnp.Append('/');
-            }
-        }
-
-    return fn;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::TotalCachedSize
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEntry::TotalCachedSize()
-    {
-    TInt cachedSize = 0;
-    TInt i;
-    
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        TInt newSize = iKids[i]->TotalCachedSize();
-        cachedSize = cachedSize + newSize;
-        }
-    cachedSize = cachedSize + iCachedSize;
-    return cachedSize;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::TotalEntryCount
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEntry::TotalEntryCount()
-    {
-    TInt entryCount = 0;
-    TInt i;
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        TInt kidCount = iKids[i]->TotalEntryCount();
-        entryCount += kidCount;
-        }
-    entryCount += 1; // itself
-    return entryCount;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Lookup
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwFileEntry::Lookup(const TFid& aFid)
-    {
-    // linear search - immediate kids first
-    TInt i;
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        CRsfwFileEntry* fep = iKids[i];
-        if (fep->Fid().iNodeId == aFid.iNodeId)
-            {
-            return iKids[i];
-            }
-        }
-    // Not found - lookup the kids' kids 
-    for (i = 0; i < iKids.Count(); i++)
-        {
-        CRsfwFileEntry* fep;
-        fep = iKids[i]->Lookup(aFid);
-        if (fep)
-            {
-            return fep;
-            }
-        }
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetLockedL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetLockedL(CRsfwLockManager* lockManager, TDesC8* aLockToken)
-    {
-    DEBUGSTRING16(("Set locked: marking file '%S' locked", Name()));
-    if (iLockTimeout > 0)
-        {
-        if (!iLockTimer)
-            {
-            iLockTimer = CPeriodic::NewL(CActive::EPriorityHigh);
-            }
-
-        // attempt to refresh when one third of the timeout has expired
-        TCallBack callBack(CRsfwFileEntry::LockTimerExpiredL, this);
-        iLockTimer->Start(1000000*(iLockTimeout/KLockRefreshAdjustment),
-                          1000000*(iLockTimeout/KLockRefreshAdjustment),
-                          callBack);
-        }
-    iFlags |= KNodeHasValidLock;
-    iLockManager = lockManager;
-    iLockManager->AddLockedEntryL(this);
-    if (aLockToken)
-        {
-        // We were not just refreshing the lock
-        delete iLockToken;
-        iLockToken = aLockToken;
-        }
-    ReportEvent(KNotifyNodeModified);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::RemoveLocked
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::RemoveLocked()
-    {
-    DEBUGSTRING16(("Remove locked: marking file '%S' unlocked", Name()));
-    if (iFlags & KNodeHasValidLock)
-        {
-        iLockManager->RemoveLockedEntry(this);
-        iLockManager = NULL; // will be set in SetLockedL, if needed once again
-        iFlags &= ~KNodeHasValidLock;
-       ReportEvent(KNotifyNodeModified);
-        }
-    
-    if (iLockToken) 
-        {
-        delete iLockToken;
-        iLockToken = NULL;
-        }
-    if (iLockTimer) 
-        {
-        delete iLockTimer;
-        iLockTimer = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::LockTimerExpiredL
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwFileEntry::LockTimerExpiredL(TAny* aParam)
-    {
-    CRsfwFileEntry* fe = static_cast<CRsfwFileEntry*>(aParam);
-    DEBUGSTRING16(("Lock timer expired for '%S'", fe->Name()));
-    fe->iLockManager->RefreshLockL(fe);
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::UseCachedData
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::UseCachedData()
-    {
-    // now meta data should tell us whether to use cached data or not
-    return iUseCachedData && !RemotelyDirty();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetAttribValidationTime
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetAttribValidationTime()
-    {
-    iAttribValidation.UniversalTime();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ExternalizeL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ExternalizeL(RWriteStream& aStream) const
-    {
-    DEBUGSTRING16(("CRsfwFileEntry::ExternalizeL for node %d", iFid.iNodeId));
-    DEBUGSTRING16(("iFlags: %d", &iFlags));
-    // The node Id must be the first entry
-
-    // iNodeId, iParentNodeId, iType, iSize, iAtt, iModified, iFlags,
-    // iCachedSize, iCachePriority
-    // iCacheName, iName, iMimeType,
-    // iOpaqueFileId, iLockToken
-
-    aStream.WriteInt32L(iFid.iNodeId);
-    if (iParent)
-        {
-        aStream.WriteUint32L(iParent->Fid().iNodeId);
-        }
-    else
-        {
-        // Root
-        aStream.WriteUint32L(0);
-        }
-    aStream.WriteUint8L(iType);
-    aStream.WriteInt32L(iSize);
-    aStream.WriteUint32L(iAtt);
-    aStream.WriteUint32L(I64HIGH(iModified.Int64()));
-    aStream.WriteUint32L(I64LOW(iModified.Int64()));
-    aStream.WriteUint32L(iFlags);
-    aStream.WriteInt32L(iCachedSize);
-    aStream.WriteInt32L(iCachePriority);
-    aStream.WriteInt32L(iUseCachedData);
-    aStream << iCacheName;
-
-    HBufC* null = HBufC::NewLC(0);
-    if (iName)
-        {
-        aStream << *iName;
-        }
-    else
-        {
-        aStream << *null;
-        }
-
-    if (iMimeType)
-        {
-        aStream << *iMimeType;
-        }
-    else
-        {
-        aStream << *null;
-        }
-
-    if (iOpaqueFileId)
-        {
-        aStream << *iOpaqueFileId;
-        }
-    else
-        {
-        aStream << *null;
-        }
-
-    if (iLockToken)
-        {
-        aStream << *iLockToken;
-        }
-    else
-        {
-        aStream << *null;
-        }
-
-    CleanupStack::PopAndDestroy(null); // null
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::InternalizeL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::InternalizeL(RReadStream& aStream)
-    {
-    DEBUGSTRING16(("CRsfwFileEntry::InternalizeL for node %d", iFid.iNodeId));
-    // iNodeId, iParentNodeId, iType, iSize, iAtt, iModified, iFlags,
-    // iCachedSize, iCachePriority
-    // iCacheName, iName, iMimeType,
-    // iOpaqueFileId, iLockToken
-    
-    // make some basic checking whether data being internalized is correct
-    iFid.iNodeId = aStream.ReadInt32L();
-    if (iFid.iNodeId < 0)
-        {
-        User::Leave(KErrCorrupt);
-        }
-    iParentNodeId = aStream.ReadInt32L();
-    if (iParentNodeId < 0)
-        {
-        User::Leave(KErrCorrupt);
-        }
-    iType = aStream.ReadUint8L();
-    iSize = aStream.ReadInt32L();
-    if (iSize < 0)
-        {
-        User::Leave(KErrCorrupt);
-        }    
-    iAtt = aStream.ReadUint32L();
-    TInt highTime = aStream.ReadUint32L();
-    TInt lowTime = aStream.ReadUint32L();
-    iModified = MAKE_TINT64(highTime, lowTime);
-    iFlags = aStream.ReadUint32L();
-    DEBUGSTRING16(("iFlags: %d", &iFlags));
-    iCachedSize = aStream.ReadInt32L();
-    if (iCachedSize < 0)
-        {
-        User::Leave(KErrCorrupt);
-        }
-    iCachePriority = aStream.ReadInt32L();
-    iUseCachedData = aStream.ReadInt32L();
-    aStream >> iCacheName;
-
-    HBufC* buf = HBufC::NewL(aStream, KMaxPath);
-    if (buf->Length())
-        {
-        iName = buf;
-        }
-    else
-        {
-        delete buf;
-        buf = NULL;
-        }
-
-    // MimeType
-    HBufC8* buf8 = HBufC8::NewL(aStream, KMaxPath);
-    if (buf8->Length())
-        {
-        iMimeType = buf8;
-        }
-    else
-        {
-        delete buf8;
-        }
-
-    // OpaqueFileId
-    buf8 = HBufC8::NewL(aStream, KMaxPath);
-    if (buf8->Length())
-        {
-        iOpaqueFileId = buf8;
-        }
-    else
-        {
-        delete buf8;
-        }
-
-    // LockToken
-    buf8 = HBufC8::NewL(aStream, KMaxPath);
-    if (buf8->Length())
-        {
-        iLockToken = buf8;
-        }
-    else
-        {
-        delete buf8;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetType
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetType(TUint8 aType)
-    {
-    TUint8 oldType = iType;
-    iType = aType;
-    if (aType == KNodeTypeDir)
-        {
-        iAtt |= KEntryAttDir;
-        }
-    else
-        {
-        iAtt &= ~KEntryAttDir;
-        }
-    if (iType != oldType)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetSize
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetSize(TInt aSize)
-    {
-    TInt oldSize = iSize;
-    iSize = aSize;
-    if (iSize != oldSize)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetModified
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetModified(const TTime& aModified)
-    {
-    TTime oldModified = iModified;
-    iModified = aModified;
-    if (iModified != oldModified)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetAtt
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetAtt(TUint aAtt)
-    {
-    // Don't change caching and protected state
-    TUint oldAtt = iAtt;
-    if (IsFullyCached())
-        {
-        aAtt &= ~KEntryAttRemote;
-        }
-    else
-        {
-        aAtt |= KEntryAttRemote;
-        }
-    iAtt = aAtt;
-
-    // Set node type
-    if (iAtt & KEntryAttDir)
-        {
-        iType = KNodeTypeDir;
-        }
-    else
-        {
-        iType = KNodeTypeFile;
-        }
-
-    if (iAtt != oldAtt)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetMimeTypeL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetMimeTypeL(const TDesC8& aMimeType)
-    {
-    if (iMimeType)
-        {
-        delete iMimeType;
-        iMimeType = NULL;
-        }
-    if (aMimeType.Length())
-        {
-        iMimeType = aMimeType.AllocL();
-        }
-
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetOpaqueFileIdL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetOpaqueFileIdL(const TDesC8& aOpaqueFileId)
-    {
-    if (iOpaqueFileId)
-        {
-        delete iOpaqueFileId;
-        iOpaqueFileId = NULL;
-        }
-    if (aOpaqueFileId.Length())
-        {
-        iOpaqueFileId = aOpaqueFileId.AllocL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsLocallyDirty
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsLocallyDirty() const
-    {
-    DEBUGSTRING16(("IsLocallyDirty for file %S", Name()));
-    return (iFlags & KNodeLocallyDirty) != 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsCancelled
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsCancelled() const
-    {
-    DEBUGSTRING16(("CRsfwFileEntry::IsCancelled()"));
-    return (iFlags & KNodeWritingCancelled) != 0;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetLocallyDirty
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetLocallyDirty()
-    {
-    DEBUGSTRING16(("SetLocallyDirty for file %S", Name()));
-    TUint oldFlags = iFlags;
-    iFlags |= KNodeLocallyDirty;
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ResetLocallyDirty
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ResetLocallyDirty()
-    {
-    DEBUGSTRING16(("ResetLocallyDirty for file %S", Name()));
-    TUint oldFlags = iFlags;
-    iFlags &= ~KNodeLocallyDirty;
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::RemotelyDirty
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::RemotelyDirty() const
-    {
-    return (iFlags & KNodeRemotelyDirty) != 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetRemotelyDirty
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetRemotelyDirty()
-    {
-    TUint oldFlags = iFlags;
-    iFlags |= KNodeRemotelyDirty;
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ResetRemotelyDirty
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ResetRemotelyDirty()
-    {
-    TUint oldFlags = iFlags;
-    iFlags &= ~KNodeRemotelyDirty;
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsMarked
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsMarked() const
-    {
-    return (iFlags & KNodeMarked) != 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Mark
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::Mark()
-    {
-    // This is transient state (so, it need not be saved persistently)
-    iFlags |= KNodeMarked;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::Unmark
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::Unmark()
-    {
-    iFlags &= ~KNodeMarked;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetFlags
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetFlags(TUint aFlags)
-    {
-    TUint oldFlags = iFlags;
-    iFlags |= aFlags;
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ResetFlags
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ResetFlags(TUint aFlags)
-    {
-    TUint oldFlags = iFlags;
-    iFlags &= ~aFlags;
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetOpenedForWriting
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetOpenedForWriting(TBool aOpenedForWriting)
-    {
-    TUint oldFlags = iFlags;
-    if (aOpenedForWriting)
-        {
-        DEBUGSTRING(("CRsfwFileEntry::SetOpenedForWriting TRUE"));
-        iFlags |= KNodeOpenedForWriting;
-        }
-    else
-        {
-        DEBUGSTRING(("CRsfwFileEntry::SetOpenedForWriting FALSE"));
-        iFlags &= ~KNodeOpenedForWriting;
-        }
-    if (iFlags != oldFlags)
-        {
-        ReportEvent(KNotifyNodeModified);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsOpenedForWriting
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsOpenedForWriting() const
-    {
-    DEBUGSTRING(("CRsfwFileEntry::IsOpenedForWriting"));
-    return (iFlags & KNodeOpenedForWriting) != 0;
-    }
-     
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::SetNewlyCreated
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::SetNewlyCreated()
-    {
-    iFlags |= KNodeNewlyCreated;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ResetNewlyCreated
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ResetNewlyCreated()
-    {
-    iFlags &= ~KNodeNewlyCreated;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsNewlyCreated
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsNewlyCreated() const
-    {
-    return (iFlags & KNodeNewlyCreated) != 0;
-    }
-
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::IsLocked
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwFileEntry::IsLocked() const
-    {
-    return (iFlags & KNodeHasValidLock) != 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ReportEvent
-// ----------------------------------------------------------------------------
-//
-void CRsfwFileEntry::ReportEvent(TInt aEvent)
-    {
-    // If there is no file table,
-    // this is a transient entry
-    if (iFileTable && iFileTable->Permanence())
-        {
-        iFileTable->HandleMetaDataEvent(aEvent, this);
-        }
-    }
-
-
-void CRsfwFileEntry::ResolveDirtyFilesL() 
-    {
-    DEBUGSTRING(("CRsfwFileEntry::ResolveDirtyFilesL"));
-    if (this->Type() == KNodeTypeDir)
-        {
-        for (int i = 0; i < iKids.Count(); i++)
-            {
-            iKids[i]->ResolveDirtyFilesL();
-            }        
-        }
-    else  if (this->Type() == KNodeTypeFile)
-        {
-        // this is a leaf
-        iFileTable->ResolveDirtyFileL(this);
-        }
-
-    }
--- a/remotestoragefw/remotefileengine/src/rsfwfiletable.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,816 +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:  metadata struct for remote files
-*
-*/
-
-
-#include <s32mem.h>
-
-#include "rsfwfiletable.h"
-#include "rsfwfileentry.h"
-#include "rsfwfileengine.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwrfeserver.h"
-#include "rsfwwaitnotemanager.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::NewL
-// ----------------------------------------------------------------------------
-//   
-CRsfwFileTable* CRsfwFileTable::NewL(CRsfwVolume* aVolume, TFileName& aCachePath)
-    {
-    CRsfwFileTable* self = new (ELeave) CRsfwFileTable();
-    DEBUGSTRING(("CRsfwFileTable: in NewL 0x%x", self));
-    CleanupStack::PushL(self);
-    self->ConstructL(aVolume, aCachePath);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::ConstructL
-// ----------------------------------------------------------------------------
-//   
-void CRsfwFileTable::ConstructL(CRsfwVolume* aVolume, TFileName& aCachePath)
-    {
-    iFs = CRsfwRfeServer::Env()->iFs;
-    // The root will be number 1
-    iNodeId = 1;
-    iVolume = aVolume;
-    iRootFep = NULL;
-    iCachePath.Copy(aCachePath);
-    iPermanence = iVolume->iMountInfo.iMountStatus.iPermanence;
-    iMetaDataFilePath.Copy(aCachePath);
-    iMetaDataFilePath.Append(KMetaDataFileName);
-    iMetaDataEvents.Reset();
-    SetupCacheL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::~CRsfwFileTable
-// ----------------------------------------------------------------------------
-//   
-CRsfwFileTable::~CRsfwFileTable()
-    {
-    if (iRootFep)
-        {
-        // Delete the whole tree recursively
-        delete iRootFep;
-        iRootFep = NULL;
-        }
-    // Discard events
-    iMetaDataEvents.Close();
-    iMetaDataSlots.Close();
-    if (iMetaDataStore) 
-        {
-        delete iMetaDataStore;
-        }
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::AddL
-// this function associates aFep with this file table but does no
-// yet set to any other node's child (or root node), that must be done sepately
-// ----------------------------------------------------------------------------
-//   
-void CRsfwFileTable::AddL(CRsfwFileEntry* aFep)
-    {    
-    // Just assign a unique id
-    TFid newFid;
-    newFid.iVolumeId = iVolume->iMountInfo.iMountStatus.iVolumeId;
-    newFid.iNodeId = iNodeId;
-    aFep->SetFid(newFid);
-    aFep->iFileTable = this;
-    iNodeId++;
-    if (!iRootFep)
-        {
-        iRootFep = aFep;
-        }
-    // add item to metadata LRU list, 
-    // only add childless directories and non-cached files
-    if ( (aFep->Type() == KNodeTypeFile && aFep->iCachedSize == 0) 
-         || (aFep->Type() == KNodeTypeDir && aFep->Kids()->Count() == 0)
-         || (aFep->Type() == KNodeTypeUnknown) )
-        {
-        iVolume->iVolumeTable->AddToMetadataLRUPriorityListL(aFep, ECachePriorityNormal);        
-        }
-    // Note that the first added entry will always be the root
-    HandleMetaDataEvent(KNotifyNodeAdded, aFep);
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::Remove
-// removed this fileentry and disconnects from the parent
-// does not delete the kid file/directory entries
-// in practise this means that if deleting a directory, all its entries must be deleted
-// recursively first
-// ----------------------------------------------------------------------------
-//   
-void CRsfwFileTable::RemoveL(CRsfwFileEntry* aFep)
-    {
-    DEBUGSTRING(("CRsfwFileTable::RemoveL"));
-    // remove item from metadata LRU list
-    iVolume->iVolumeTable->RemoveFromMetadataLRUPriorityList(aFep);        
-
-    if (aFep == iCurrentParent)
-        {
-        iCurrentParent = NULL;
-        }
-    if (iPermanence)
-        {
-        aFep->RemoveCacheFile();
-        HandleMetaDataEvent(KNotifyNodeRemoved, aFep);
-        }
-        
-    // remove this file entry from its parent node    
-    if (aFep->iParent)  
-        {
-        aFep->iParent->RemoveKidL(aFep);
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::Lookup
-// ----------------------------------------------------------------------------
-//   
-CRsfwFileEntry* CRsfwFileTable::Lookup(const TFid& aFid)
-    {
-    if (!iRootFep)
-        {
-        return NULL;
-        }
-    if (iRootFep->Fid().iNodeId == aFid.iNodeId)
-        {
-        return iRootFep;
-        }
-    // Try to optimize by starting from the latest parent
-    CRsfwFileEntry* fep = NULL;
-    if (iCurrentParent)
-        {
-        fep = iCurrentParent->Lookup(aFid);
-        }
-    if (!fep)
-        {
-        fep = iRootFep->Lookup(aFid);
-        }
-    if (fep)
-        {
-        iCurrentParent = fep->Parent();
-        }
-    return fep;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::DumpL
-// ----------------------------------------------------------------------------
-// 
-#ifdef _DEBUG
-void CRsfwFileTable::DumpL(TBool aAll)
-    {
-    if (iRootFep)
-        {
-        iRootFep->PrintL(0, ETrue, aAll);
-        }
-    }
-#else
-void CRsfwFileTable::DumpL(TBool /* aAll */)
-    {
-    }
-#endif //DEBUG
- 
- 
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::SetPermanenceL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::SetPermanenceL(TBool aPermanence)
-    {
-    if (iPermanence != aPermanence)
-        {
-        iPermanence = aPermanence;
-        if (!iPermanence)
-            {
-            delete iMetaDataStore;
-            iMetaDataStore = NULL;
-            }
-        SetupCacheL();
-        }
-    }
-       
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::HandleMetaDataEvent
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::HandleMetaDataEvent(TInt aEvent, CRsfwFileEntry* aFep)
-    {
-    if (iMetaDataSaveState == EMetaDataSaveFailed)
-        {
-        // No use
-        return;
-        }
-
-    switch (aEvent)
-        {
-
-    case KNotifyNodeAdded:
-        {
-        // There should not be any previous additions
-        AddEvent(aEvent, aFep);
-        }
-        break;
-
-    case KNotifyNodeModified:
-        {
-        // There may appear spurious modifications
-        // to removed entries (like cache state set to false).
-        // We filter them out.
-        if (!NodeEvent(aFep->Fid().iNodeId))
-            {
-            AddEvent(aEvent, aFep);
-            }
-        }
-        break;
-
-    case KNotifyNodeRemoved:
-        {
-        TMetaDataEvent* oldEvent = NodeEvent(aFep->Fid().iNodeId);
-        if (oldEvent)
-            {
-            if (oldEvent->iEvent == KNotifyNodeAdded)
-                {
-                // just remove a previous "added"
-                RemoveEvent(oldEvent->iNodeId);
-                AddEvent(aEvent, aFep);
-                }
-            else
-                {
-                // Just replace "modified" (or duplicate "deleted")
-                // with "deleted"
-                oldEvent->iEvent = KNotifyNodeRemoved;
-                }
-            }
-        else
-            {
-            AddEvent(aEvent, aFep);
-            }
-        }
-        break;
-        
-    default:
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::LoadMetaDataL
-// ----------------------------------------------------------------------------
-// 
-CRsfwFileEntry* CRsfwFileTable::LoadMetaDataL()
-    {
-    // When this function is called the root node
-    // must already be created in the file table
-    iMetaDataStore->CompactL();
-    iMetaDataStore->ResetL(EFalse);
-
-    RPointerArray<CRsfwFileEntry> feps;
-    CleanupClosePushL(feps);
-
-    TBool done = EFalse;
-    while (!done)
-        {
-        CRsfwFileEntry* fep;
-        TMetaDataSlot slot;
-        TRAPD(err, LoadNodeL(fep, slot.iSlotId));
-        if (err == KErrNone)
-            {
-            if (fep != NULL) 
-                {
-                feps.Append(fep);
-                slot.iNodeId = fep->Fid().iNodeId;
-                iMetaDataSlots.Append(slot);
-                if (!fep->iParentNodeId)
-                    {
-                    // This must be the root
-                    DEBUGSTRING(("Root found at slot %d",
-                             iMetaDataSlots.Count() - 1));
-                    iRootFep = fep;
-                    }
-                }
-            }
-        else
-            {
-            // All or nothing ...
-            DEBUGSTRING(("LoadNode returned with err = %d", err));
-            if (err != KErrEof)
-                {
-                User::Leave(err);
-                }
-            done = ETrue;
-            }
-        }
-
-    // Now we have the restored the file entries
-    TInt i;
-    for (i = 0; i < feps.Count(); i++)
-        {
-        CRsfwFileEntry* fep = feps[i];
-        // Determine the next free node id
-        if (fep->Fid().iNodeId >= iNodeId)
-            {
-            iNodeId = fep->Fid().iNodeId + 1;
-            }
-
-        if (fep->iParentNodeId == 0)
-            {
-            // This is the root node
-            fep->SetParent(NULL);
-            }
-        else if (fep->iParentNodeId == 1)
-            {
-            // The parent is the root node
-            fep->SetParent(iRootFep);
-            iRootFep->iKids.Append(fep);
-            }
-        else
-            {
-            TInt j;
-            // This is O(n**2)
-            for (j = 0; j < feps.Count(); j++)
-                {
-                if (j != i)
-                    {
-                    // Find the parent for the node
-                    CRsfwFileEntry* parent = feps[j];
-                    if (fep->iParentNodeId == parent->Fid().iNodeId)
-                        {
-                        // Set up the two-way linkage
-                        fep->SetParent(parent);
-                        parent->iKids.Append(fep);
-                        break;
-                        }
-                    }
-                }
-            }
-        }
-
-    // Final fixes
-    for (i = 0; i < feps.Count(); i++)
-        {
-        CRsfwFileEntry* fep = feps[i];
-        // Fix volume ids and such ...
-        TFid fid;
-        fid = fep->Fid();
-        fid.iVolumeId = iVolume->iMountInfo.iMountStatus.iVolumeId;
-        fep->SetFid(fid);
-        fep->iFileTable = this;
-        // Add to LRU list (only cached files)
-        if ( fep->Type() == KNodeTypeFile && fep->IsCached() 
-            && (!iVolume->iVolumeTable->iUseExternalizedLRUList))
-            {
-            iVolume->iVolumeTable->AddToLRUPriorityListL(fep, ECachePriorityNormal);
-            }
-        // add item to metadata LRU list, 
-        // only add childless directories and non-cached files
-        if ( (fep->Type() == KNodeTypeFile && fep->iCachedSize == 0) 
-             || (fep->Type() == KNodeTypeDir && fep->Kids()->Count() == 0) )
-            {
-            iVolume->iVolumeTable->AddToMetadataLRUPriorityListL(fep, ECachePriorityNormal);        
-            }
-  
-        // Check consistency
-        if ((fep != iRootFep) && (!fep->Parent()))
-            {
-            // Should never happen
-            DEBUGSTRING16(("LodaMetaDataL() - parent missing for '%S'",
-                           fep->Name()));
-            }
-        }
-        
-    // Now we don't need the file entry pointer array any more
-    CleanupStack::PopAndDestroy(&feps); // feps
-    return iRootFep;
-    }
-        
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::SaveMetaDataDelta
-// ----------------------------------------------------------------------------
-// 
-TInt CRsfwFileTable::SaveMetaDataDelta()
-    {
-    DEBUGSTRING16(("CRsfwFileTable::SaveMetaDataDelta"));
-    TRAPD(err, SaveMetaDataDeltaL());
-    if (err != KErrNone)
-        {
-        DEBUGSTRING(("SaveMetaDataDeltaL() returns %d", err));
-        // Stop recording meta data
-        iMetaDataEvents.Reset();
-        iMetaDataSaveState = EMetaDataSaveFailed;
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::SetupCacheL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::SetupCacheL()
-    {
-    if (iPermanence)
-        {
-        iMetaDataStore = CRsfwMetaDataStore::NewL(iMetaDataFilePath); 
-        DEBUGSTRING(("SetupCacheL()"));
-        // The format of label is <drive_letter>:<uri>.
-        TRsfwMountConfig mountConfig;
-        TRAPD(err, iMetaDataStore->GetMountConfigL(mountConfig));
-        if ((err != KErrNone) ||
-            mountConfig.iUri.Compare(iVolume->iMountInfo.iMountConfig.iUri) !=
-            0)
-            {
-            // The saved metadata is not current - delete all
-            DEBUGSTRING(("Clearing Metadata ..."));
-            delete iMetaDataStore;
-            iMetaDataStore = NULL;
-            ClearCacheL();
-            // Start from scratch
-            iMetaDataStore = CRsfwMetaDataStore::NewL(iMetaDataFilePath);
-            iMetaDataStore->SetMountConfigL(iVolume->iMountInfo.iMountConfig);
-            }
-        }
-    else
-        {
-        ClearCacheL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::TotalCachedSize
-// ----------------------------------------------------------------------------
-// 
-TInt CRsfwFileTable::TotalCachedSize() 
-    {
-    if (!iRootFep)
-        {
-        return 0;
-        }
-    return iRootFep->TotalCachedSize(); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::TotalEntryCount
-// ----------------------------------------------------------------------------
-// 
-TInt CRsfwFileTable::TotalEntryCount() 
-    {
-    if (!iRootFep)
-        {
-        return 0;
-        }
-    return iRootFep->TotalEntryCount(); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::ClearCacheL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::ClearCacheL()
-    {
-    DEBUGSTRING(("Clearing cache ..."));
-    TFileName cachePath = iCachePath;
-    _LIT(KWild, "*");
-    cachePath.Append(KWild);
-    
-    CFileMan* fM = CFileMan::NewL(iFs);
-    CleanupStack::PushL(fM);
-    TInt err = fM->Delete(cachePath, CFileMan::ERecurse);
-    CleanupStack::PopAndDestroy(fM); // fM
-    if (err != KErrNone)
-        {
-        DEBUGSTRING16(("Cache cleaning of '%S' failed with err=%d",
-                       &cachePath,
-                       err));
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::NodeEvent
-// ----------------------------------------------------------------------------
-//   
-TMetaDataEvent* CRsfwFileTable::NodeEvent(TInt aNodeId)
-    {
-    // Search downwards (for efficiency)
-    TInt count = iMetaDataEvents.Count();
-    if (count)
-        {
-        TInt i;
-        for (i = count - 1; i >= 0; i--)
-            {
-            if (iMetaDataEvents[i].iNodeId == aNodeId)
-                {
-                return &iMetaDataEvents[i];
-                }
-            }
-        }
-    return NULL;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::AddEvent
-// ----------------------------------------------------------------------------
-//   
-void CRsfwFileTable::AddEvent(TInt aEvent, CRsfwFileEntry* aFep)
-    {
-    TMetaDataEvent event;
-    event.iEvent = aEvent;
-    event.iEntry = aFep;
-    event.iNodeId= aFep->Fid().iNodeId;
-    // For searching efficiency insert at the head
-    if (iMetaDataEvents.Append(event) != KErrNone)
-        {
-        iMetaDataEvents.Close();
-        iMetaDataSaveState = EMetaDataSaveFailed;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::RemoveEvent
-// ----------------------------------------------------------------------------
-//   
-void CRsfwFileTable::RemoveEvent(TInt aNodeId)
-    {
-    TInt i;
-    for (i = 0; i < iMetaDataEvents.Count(); i++)
-        {
-        if (iMetaDataEvents[i].iNodeId == aNodeId)
-            {
-            iMetaDataEvents.Remove(i);
-            return;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::LoadNodeL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::LoadNodeL(CRsfwFileEntry*& aFep, TInt &aSlot)
-    {
-    // Internalize a file entry
-    // Read data from the file at the specified slot
-    HBufC8* buf = HBufC8::NewLC(KMaxExternalizedFileEntrySize);
-    TPtr8 ptr = buf->Des();
-    TUint8* data = const_cast<TUint8 *>(ptr.Ptr());
-    TInt dataLength;
-    iMetaDataStore->GetNextDataL(data, dataLength, aSlot);
-    RMemReadStream stream(data, dataLength);
-    CleanupClosePushL(stream);
-    CRsfwFileEntry* fep = CRsfwFileEntry::NewL(stream);
-    DEBUGSTRING16(("CRsfwFileTable::LoadNodeL: Loaded node '%S'(id=%d, pid=%d, cn='%S')",
-                   fep->Name(),
-                   fep->Fid().iNodeId,
-                   fep->iParentNodeId,
-                   &fep->iCacheName));
-    CleanupStack::PopAndDestroy(2); // stream, buf
-
-    aFep = fep;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::SaveNodeL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::SaveNodeL(CRsfwFileEntry* aFep, TInt& aSlot)
-    {
-    // Externalize the file entry
-    HBufC8* buf = HBufC8::NewLC(KMaxExternalizedFileEntrySize);
-    TPtr8 ptr = buf->Des();
-    TUint8* data = const_cast<TUint8 *>(ptr.Ptr());
-    TInt dataLen;
-
-    RMemWriteStream stream(data, KMaxExternalizedFileEntrySize);
-    CleanupClosePushL(stream);
-
-    if (aFep)
-        {
-        // dump the externalized data in the memory buffer
-        // stream << *aFep;
-        aFep->ExternalizeL(stream);
-        MStreamBuf* streamBuf = stream.Sink();
-        dataLen = streamBuf->TellL(MStreamBuf::EWrite).Offset();
-        stream.CommitL();
-        }
-    else
-        {
-
-        DEBUGSTRING(("Removing slot %d", aSlot));
-        // This will clear the slot
-        data = NULL;
-        dataLen = 0;
-        }
-
-    // Write data to the file at the specified slot
-    iMetaDataStore->PutDataL(data, dataLen, aSlot);
-
-    CleanupStack::PopAndDestroy(2, buf); // stream, buf
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileTable::SaveMetaDataDeltaL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwFileTable::SaveMetaDataDeltaL()
-    {
-    DEBUGSTRING(("CRsfwFileTable::SaveMetaDataDeltaL"));
-    if (!iPermanence)
-        {
-        return;
-        }
-
-    if (iMetaDataEvents.Count() == 0)
-
-        {
-        // Nothing to do
-        return;
-        }
-
-    switch (iMetaDataSaveState)
-        {
-    case EMetaDataSaveNone:
-        iMetaDataStore->ResetL(ETrue);
-        iMetaDataSaveState = EMetaDataSaveStarted;
-        break;
-
-    case EMetaDataSaveStarted:
-        break;
-
-    case EMetaDataSaveFailed:
-        DEBUGSTRING(("EMetaDataSaveFailed!"));
-        User::Leave(KErrGeneral);
-        break;
-
-    default:
-        break;
-        }
-
-    TInt i;
-    for (i = 0; i < iMetaDataEvents.Count(); i++)
-        {
-        TInt slotPos;
-        TMetaDataEvent *event = &iMetaDataEvents[i];
-        
-        DEBUGSTRING(("SaveMetaDataDeltaL: id=%d, event=%d",
-                     event->iNodeId,
-                     event->iEvent));
-
-        switch (event->iEvent)
-            {
-        case KNotifyNodeModified:
-        case KNotifyNodeAdded:
-            {
-            TMetaDataSlot s; // dummy for finding
-            s.iNodeId = event->iNodeId;
-            slotPos = iMetaDataSlots.Find(s);
-            TInt slotId;
-            if (slotPos != KErrNotFound)
-                {
-                slotId = iMetaDataSlots[slotPos].iSlotId;
-                }
-            else
-                {
-                // We don't have a slot yet
-                slotId = -1;
-                }
-            SaveNodeL(event->iEntry, slotId);
-            if (slotPos == KErrNotFound)
-                {
-                TMetaDataSlot slot;
-                slot.iNodeId = event->iEntry->Fid().iNodeId;
-                slot.iSlotId = slotId;
-                iMetaDataSlots.Append(slot);
-                }
-            else
-                {
-                // The index may have changed
-                iMetaDataSlots[slotPos].iSlotId = slotId;
-                }
-            }
-            break;
-            
-        case KNotifyNodeRemoved:
-            {
-            TMetaDataSlot s; // dummy for finding
-            s.iNodeId = event->iNodeId;
-            slotPos = iMetaDataSlots.Find(s);
-            if (slotPos != KErrNotFound)
-                {
-                TInt slotId = iMetaDataSlots[slotPos].iSlotId;
-                iMetaDataSlots.Remove(slotPos);
-                // Saving null is the same as removing
-                SaveNodeL(NULL, slotId);              
-                }
-            }
-            break;
-            
-        default:
-            break;
-            }
-        }
-    iMetaDataEvents.Reset();
-
-    User::LeaveIfError(iMetaDataStore->Commit());
-#if 0
-    iMetaDataStore->CompactL();
-#endif
-    }
-
-
-void CRsfwFileTable::ResolveDirtyFilesL() 
-    {
-    DEBUGSTRING(("CRsfwFileTable::ResolveDirtyFilesL"));
-    if (iRootFep)
-        {
-        iRootFep->ResolveDirtyFilesL(); 
-        }   
-    SaveMetaDataDeltaL();    
-    }
-
-void CRsfwFileTable::ResolveDirtyFileL(CRsfwFileEntry *aFileEntry)
-    {
-    DEBUGSTRING(("CRsfwFileTable::ResolveDirtyFileL"));
-	if ((aFileEntry->IsOpenedForWriting() && (aFileEntry->CacheFileName())))
-		{
-		
-		DEBUGSTRING16(("file %S has uncommitted modifications, must be saved locally", aFileEntry->Name()));
-		// file with uncommitted modifications
-		// (i.e. saving changes to a remote server failed
-		// show "save as" dialog for this file
-		TRequestStatus status;
-		TInt err;
-    	TPckgBuf<TRsfwSaveToDlgRequest>   savetoRequest;
-		TBuf<KRsfwMaxFileSizeString> fileSizeString;
-        TEntry fEntry;
-        CRsfwRfeServer::Env()->iFs.Entry((*(aFileEntry->CacheFileName())), fEntry);
-        fileSizeString.Num(fEntry.iSize);
-		TPtrC cacheDriveLetter = aFileEntry->CacheFileName()->Left(1);
-	
-	    savetoRequest().iMethod = TRsfwNotPluginRequest::ESaveToDlg;
-        savetoRequest().iDriveName = Volume()->MountInfo()->iMountConfig.iName;								
-        savetoRequest().iFileName = *(aFileEntry->Name());
-        savetoRequest().iCacheDrive = cacheDriveLetter;
-        savetoRequest().iFileSize = fileSizeString;
-
-		
-		RNotifier notifier;
-		User::LeaveIfError(notifier.Connect());
-		notifier.StartNotifierAndGetResponse(status, KRsfwNotifierPluginUID,
-                    savetoRequest, savetoRequest);
-        User::WaitForRequest(status);
-		notifier.NotifyCancel();
-		notifier.Close();
-	
-        if (status.Int() != KErrCancel) 
-            {
-            // move the file from cache to the new location
-		    HBufC* newName = HBufC::NewMaxLC(KMaxPath);
-            TPtr pathPtr = newName->Des();
-            pathPtr = savetoRequest().iFileName;
-            CFileMan* fman = CFileMan::NewL(CRsfwRfeServer::Env()->iFs);
-            // we assume that this is local-to-local move, and can be synch. call
-            err = fman->Move(*(aFileEntry->CacheFileName()), pathPtr, CFileMan::EOverWrite);
-            delete fman;
-            if (err == KErrNone) 
-                {
-                Volume()->iVolumeTable->WaitNoteManager()->ShowFileSavedToDialogL(pathPtr);
-                }
-            else 
-                {
-                Volume()->iVolumeTable->WaitNoteManager()->ShowFailedSaveNoteL();
-                }
-   
-            CleanupStack::PopAndDestroy(newName);
-            }
-        
-        // in any case, remove the file entry from the file table and cache
-        // (has been moved or deleted)
-        RemoveL(aFileEntry);
-        delete aFileEntry;
-        aFileEntry = NULL;
-        DEBUGSTRING(("possible uncommitted modifications resolved"));  
-		}
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwflushstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* 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:  State machine for fetching data without caching it permanently
-*
-*/
-
-
-#include "rsfwflushstatemachine.h"
-#include "rsfwinterface.h"
-#include "rsfwfileentry.h"
-#include "rsfwfileengine.h"
-#include "rsfwrfeserver.h"
-#include "rsfwvolumetable.h"
-#include "rsfwfiletable.h"
-#include "rsfwwaitnotemanager.h"
-#include "rsfwvolume.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwFlushStateMachine::CRsfwFlushStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwFlushStateMachine::CRsfwFlushStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFlushStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState*
-CRsfwFlushStateMachine::CompleteRequestL(TInt aError) 
-    {
-     DEBUGSTRING(("CRsfwFlushStateMachine::CompleteRequestL()"));
-    // If we just wrote the file to the server set attributes from the cache
-    // file's attributes.Even if writing the file failed, attributes should
-    // reflect the local modifications
-    if (Node()->CacheFileName())
-        {
-        FileEngine()->SetupAttributes(*Node());
-        }
-        
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();   
-    } 
-
-// ----------------------------------------------------------------------------
-// CRsfwFlushStateMachine::TFlushDataToServerState::TFlushDataToServerState
-// ----------------------------------------------------------------------------
-//
-CRsfwFlushStateMachine::TFlushDataToServerState::TFlushDataToServerState(
-    CRsfwFlushStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFlushStateMachine::TFlushDataToServerState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwFlushStateMachine::TFlushDataToServerState::EnterL() 
-    {
-    DEBUGSTRING(("CRsfwFlushStateMachine::TFlushDataToServerState::EnterL()"));
-    
-    TDesC* cacheNamep;
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    TRfeFlushInArgs* inArgs =
-        static_cast<TRfeFlushInArgs*>(iOperation->iInArgs);
-    
-    
-    if (iOperation->Node()->IsCancelled()) 
-        {
-        // user has cancelled writing this file to server even before we got to flush
-        // (when the file was being written to the local cache)
-        iOperation->HandleRemoteAccessResponse(0, KErrCancel);
-        }
-    else 
-        {
-        TInt firstByte = inArgs->iFirstByte;
-        TInt dataLength = inArgs->iDataLength;
-        TInt totalSize = inArgs->iTotalSize;  
-     
-        cacheNamep = iOperation->Node()->CacheFileName();
-    
-        _LIT8(KTextPlain, "text/plain");
-        HBufC* fullName =
-            iOperation->FileEngine()->FullNameLC(*(iOperation->Node()));
-            
-    
-        // get the MIME-type of the file
-        HBufC8* contentType = iOperation->FileEngine()->GetContentType(*cacheNamep);
-    
-        if (contentType) 
-            {
-            CleanupStack::PushL(contentType);  
-            }
-        else 
-            {
-            contentType = KTextPlain().AllocLC();
-            }
-        
-        if  ((firstByte == 0) &&
-            (dataLength == totalSize)) 
-            {
-            // non-partial put
-            TUint transactionId 
-                = iOperation->FileEngine()->RemoteAccessL()->PutFileL(*cacheNamep,
-                                                            *fullName,
-                                                            *contentType,
-                                                            iOperation);
-        
-            }
-        else 
-            {
-            // partial put
-            TUint transactionId 
-            = iOperation->FileEngine()->RemoteAccessL()->PutFileL(*cacheNamep,
-                                                            *fullName,
-                                                            *contentType,
-                                                            firstByte,
-                                                   dataLength-firstByte,
-                                                            totalSize,
-                                                            iOperation);
-            }
- 
-        CleanupStack::PopAndDestroy(2); // fullName, contentType        
-        }
-
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFlushStateMachine::TFlushDataToServerState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState*
-CRsfwFlushStateMachine::TFlushDataToServerState::CompleteL()
-    {  
-    DEBUGSTRING(("CRsfwFlushStateMachine::TFlushDataToServerState::CompleteL()"));
-  	return iOperation->CompleteRequestL(KErrNone); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFlushStateMachine::TFlushDataToServerState::ErrorL
-// ----------------------------------------------------------------------------
-//    
-CRsfwRfeStateMachine::TState*
-CRsfwFlushStateMachine::TFlushDataToServerState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("CRsfwFlushStateMachine::TFlushDataToServerState::ErrorL() %d", aCode));
-  	return iOperation->CompleteRequestL(aCode); 
-    }
-
-
-// End of file
-
--- a/remotestoragefw/remotefileengine/src/rsfwgetattributesstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for getting attributes of a file
-*
-*/
-
-
-#include "rsfwgetattributesstatemachine.h"
-#include "rsfwopenbypathstatemachine.h"
-#include "rsfwinterface.h"
-#include "rsfwrferequest.h"
-#include "rsfwrfeoperation.h"
-#include "rsfwfileentry.h"
-#include "rsfwfileengine.h"
-#include "mdebug.h"
-#include "rsfwdirentattr.h"
-#include "rsfwvolumetable.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::CRsfwGetAttributesStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwGetAttributesStateMachine::CRsfwGetAttributesStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwGetAttributesStateMachine::CompleteRequestL(TInt aError)
-    {
-    TRfeGetAttrOutArgs* outArgs = static_cast<TRfeGetAttrOutArgs*>(iOutArgs);
-
-    if (!aError)
-        {
-        outArgs->iAttr.iAtt = Node()->Att();
-        outArgs->iAttr.iSize = Node()->Size();
-        outArgs->iAttr.iModified = Node()->Modified();
-        }
-
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::TRefreshAttributesState::TRefreshAttributesState
-// ----------------------------------------------------------------------------
-//
-CRsfwGetAttributesStateMachine::
-TRefreshAttributesState::
-TRefreshAttributesState(CRsfwAttributeRefreshingStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::TRefreshAttributesState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwGetAttributesStateMachine::TRefreshAttributesState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwGetAttributesStateMachine::TRefreshAttributesState::EnterL"));
-    TInt err = KErrNone;
-
-    if (iOperation->Node())
-        {
-        DEBUGSTRING(("getting attributes of fid %d",
-                     iOperation->Node()->Fid().iNodeId));
-
-        // as the entry is "needed" move it to the back of metadata LRU list
-        iOperation->Volumes()->MoveToTheBackOfMetadataLRUPriorityListL(iOperation->Node());
-
-        if (!(iOperation->FileEngine()->UseCachedAttributes(*iOperation->Node())))
-            {
-            // If we find the file entry and
-            // the time window to use cached attributes has passed.
-            // Store the old attributes
-            delete iOperation->iDirEntAttrOld;
-            iOperation->iDirEntAttrOld = NULL;
-            iOperation->iDirEntAttrOld = CRsfwDirEntAttr::NewL();
-            iOperation->Node()->GetAttributesL(*iOperation->iDirEntAttrOld);
-            if (!iOperation->FileEngine()->WriteDisconnected())
-                {
-                iOperation->FileEngine()->GetAttributesL(
-                    *(iOperation->Node()),
-                    iOperation->iDirEntAttr,
-                    iOperation->Node()->Type(),
-                    iOperation);
-                }
-            else
-                {
-                iOperation->HandleRemoteAccessResponse(0, KUpdateNotRequired);
-                }
-            if (err)
-                {
-                User::Leave(err);
-                }
-            }
-        else
-            {
-            // use cached attributes
-            iOperation->HandleRemoteAccessResponse(0, KUpdateNotRequired);
-            }
-        }
-    else
-        {
-        User::Leave(KErrPathNotFound);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::TRefreshAttributesState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwGetAttributesStateMachine::TState*
-CRsfwGetAttributesStateMachine::TRefreshAttributesState::CompleteL()
-    {
-    
-    DEBUGSTRING(("TRefreshAttributesState::CompleteL for fid %d",
-                     iOperation->Node()->Fid().iNodeId));
-                
-    // from CRsfwFileEngine::UpdateAttributes()
-    iOperation->Node()->SetAttributesL(*iOperation->iDirEntAttr, ETrue);
-    
-    if (iOperation->Node()->IsOpenedForWriting())
-        {
-        iOperation->Node()->iUseCachedData = ETrue;
-        }
-    else if (iOperation->FileEngine()->DataChanged(*iOperation->iDirEntAttrOld,
-                                                   *iOperation->iDirEntAttr))
-        {
-        // discard the old cache file
-        // this will also call SetCached(EFalse) etc...
-        iOperation->Node()->RemoveCacheFile();
-        }
-
-    DEBUGSTRING(("Attributes: attr=0x%x, size=%d, time=",
-                 iOperation->Node()->Att(),
-                 iOperation->Node()->Size()));
-    DEBUGTIME((iOperation->Node()->Modified()));
-
-    // from CRsfwFileEngine::UpdateFileAttributes/UpdateDirAttributes
-    return CompleteOurRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::TRefreshAttributesState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwGetAttributesStateMachine::TState*
-CRsfwGetAttributesStateMachine::TRefreshAttributesState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("CRsfwGetAttributesStateMachine::TRefreshAttributesState::ErrorL %d", aCode));
-    if (aCode == KUpdateNotRequired)
-        {
-        // note that we should NOT set iUseCachedData to ETrue here
-        // (if it is false, only after fetch it should be set to true
-        // , or openbypath if we are writing to the file)
-        aCode = KErrNone;
-            
-       DEBUGSTRING(("update was not required"));
-        
-        DEBUGSTRING(("Attributes: attr=0x%x, size=%d, time=",
-                 iOperation->Node()->Att(),
-                 iOperation->Node()->Size()));
-     DEBUGTIME((iOperation->Node()->Modified()));
-
-        }
-    else
-        {
-        // from CRsfwFileEngine::UpdateAttributes()
-        if (!(iOperation->Node()->IsOpenedForWriting()))
-            {
-            // "iOperation->Node()" has been removed from the server??
-            // : remove FEP here
-            iOperation->Node()->RemoveCacheFile();
-            }
-        }
-    return CompleteOurRequestL(aCode);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwGetAttributesStateMachine::TRefreshAttributesState::CompleteOurRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwGetAttributesStateMachine::TState*
-CRsfwGetAttributesStateMachine::TRefreshAttributesState::CompleteOurRequestL(TInt aCode) 
-    {
-    if (iOperation->Request()->Operation()->Function() == EGetAttr)
-        {
-        // we are running in GetAttr()
-        return iOperation->CompleteRequestL(aCode);
-        }
-    else if (iOperation->Request()->Operation()->Function() == EOpenByPath)
-        {
-        // we are running in OpenByPath()
-        if (aCode == KErrNone) 
-            {
-            return new (ELeave) CRsfwOpenByPathStateMachine::TRequestOpenModeState(
-                (CRsfwOpenByPathStateMachine *)iOperation);
-            }
-        else 
-            {
-            // attributes expired, refrshing them failed, do not open the file
-            return iOperation->CompleteRequestL(aCode);
-            }
-        }
-    else
-        {
-        return NULL;
-        }
-    }
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwinterface.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  RSFW interface
- *
-*/
-
-
-#include "rsfwinterface.h"
-#include <e32std.h>
-
-
-// ----------------------------------------------------------------------------
-// TDirEntAttr::ExternalizeL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void TDirEntAttr::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteUint32L(iAtt);
-    aStream.WriteInt32L(iSize);
-    aStream.WriteUint32L(iUid3.iUid);
-    aStream.WriteUint32L(I64HIGH(iModified.Int64()));
-    aStream.WriteUint32L(I64LOW(iModified.Int64()));
-    }
-
-// ----------------------------------------------------------------------------
-// TDirEntAttr::InternalizeL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void TDirEntAttr::InternalizeL(RReadStream& aStream)
-    {
-    iAtt = aStream.ReadUint32L();
-    iSize = aStream.ReadInt32L();
-    iUid3.iUid = aStream.ReadUint32L();
-    TInt highTime = aStream.ReadUint32L();
-    TInt lowTime = aStream.ReadUint32L();
-    iModified = MAKE_TINT64(highTime, lowTime);
-    }
-
-// ----------------------------------------------------------------------------
-// TDirEntAttr::Clear
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void TDirEntAttr::Clear()
-    {
-    iAtt = 0;
-    iSize = 0;
-    iModified = 0;
-    iUid3.iUid = 0;
-    }
-
-// ----------------------------------------------------------------------------
-// TDirEnt::ExternalizeL
-// ----------------------------------------------------------------------------
-//  
-EXPORT_C void TDirEnt::ExternalizeL(RWriteStream& aStream) const
-    {
-    iAttr.ExternalizeL(aStream);
-    aStream << iName;
-    }
-
-// ----------------------------------------------------------------------------
-// TDirEnt::InternalizeL
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C void TDirEnt::InternalizeL(RReadStream& aStream)
-    {
-    iAttr.InternalizeL(aStream);
-    aStream >> iName;
-    }
-
-// ----------------------------------------------------------------------------
-// TDirEnt::Clear
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void TDirEnt::Clear()
-    {
-    iAttr.Clear();
-    iName.SetLength(0);
-    }
-
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwlockmanager.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Lock manager for locked remote files
-*
-*/
-
-
-#include "rsfwfileentry.h"
-#include "rsfwrfestatemachine.h"
-#include "rsfwlockmanager.h"
-#include "rsfwfileentry.h"
-#include "rsfwconfig.h"
-#include "mdebug.h"
-
-// ----------------------------------------------------------------------------
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwLockManager* CRsfwLockManager::NewL(CRsfwRemoteAccess* aRemoteAccess)
-    {
-    CRsfwLockManager* self = CRsfwLockManager::NewLC(aRemoteAccess);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::NewLC
-// ----------------------------------------------------------------------------
-//
-CRsfwLockManager* CRsfwLockManager::NewLC(CRsfwRemoteAccess* aRemoteAccess)
-    {
-    DEBUGSTRING(("CRsfwLockManager::NewLC"));
-    CRsfwLockManager* self = new (ELeave) CRsfwLockManager();
-    CleanupStack::PushL(self);
-    self->ConstructL(aRemoteAccess);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::ConstructL(CRsfwRemoteAccess* aRemoteAccess)
-    {
-    iRemoteAccess = aRemoteAccess;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::~CRsfwLockManager
-// ----------------------------------------------------------------------------
-//
-CRsfwLockManager::~CRsfwLockManager()
-    {
-    iLockRefreshContexts.Close();
-
-    // set unlock flag for all the entries locked
-    while (iLockedEntries.Count() > 0)
-        {
-        CRsfwFileEntry* entry = iLockedEntries[0];
-        iLockedEntries.Remove(0);
-        // note that RemoveLocked will call CRsfwLockManager::RemoveLockedEntry
-        entry->RemoveLocked();
-        }
-    iLockedEntries.Close();    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::HandleRemoteAccessResponse
-// For handling the response from RefreshLockL().
-// If the lock refresh is successful we restart the timer
-// as the server may have changed the timeout.
-// If the refresh request returns an error we remove the lock
-// We assume that server does not hold the lock anymore,
-// so we cannot re-acquire it simply by trying to refresh it again.
-// Instead, we should do a fresh lock operation
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::HandleRemoteAccessResponse(TUint aId,
-                                              TInt aStatus)
-    {
-    DEBUGSTRING(("CRsfwLockManager::HandleRemoteAccessResponse id: %d, status: %d", aId, aStatus));
-    TPendingLockRefreshContext lockRefresh;
-    lockRefresh.iId = aId;
-    TInt index = iLockRefreshContexts.Find(lockRefresh);
-    if (index != KErrNotFound) 
-        {
-        lockRefresh = iLockRefreshContexts[index];
-        if (aStatus == KErrNone) 
-            {
-            // Note that this can leave only when creating the timer
-            // so it shouldn't really leave anymore at this point.
-            // Also resetting the timer and calling Start() do not even
-            // return an error, so there is no need to examine err or ret value
-            TRAP_IGNORE(lockRefresh.iFileEntry->SetLockedL(this, NULL));
-            }
-        else 
-            {
-            lockRefresh.iFileEntry->RemoveLocked();
-            }
-        iLockRefreshContexts.Remove(index);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::ObtainLockL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::ObtainLockL(CRsfwFileEntry *aFileEntry,
-                               TUint aLockFlags,
-                               TDesC8*& aLockToken,
-                               CRsfwRfeStateMachine* aOperation)
-    {
-    DEBUGSTRING(("CRsfwLockManager::ObtainLockL"));
-    if (aFileEntry->iLockTimeout == 0)
-        {
-        // No locking wanted,
-        // we use notsupported as a return code in this case too....
-        DEBUGSTRING(("lock timeout in CFileEntry is 0, no locking"));
-        aOperation->HandleRemoteAccessResponse(0, KErrNotSupported); 
-        }
-    else 
-        {
-        HBufC* fullName = aFileEntry->FullNameLC();
-         if (!iRemoteAccess) 
-            {
-            DEBUGSTRING(("iRemoteAccess NULL"));
-            User::Leave(KErrNotReady);
-            }
-        else 
-            {
-            DEBUGSTRING(("calling iRemoteAccess::ObtainLockL()"));
-            iRemoteAccess->ObtainLockL(*fullName,
-                                   aLockFlags,
-                                   aFileEntry->iLockTimeout,
-                                   aLockToken,
-                                   aOperation);
-            }
-
-        CleanupStack::PopAndDestroy(fullName); // fullname  
-        }
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::ReleaseLockL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::ReleaseLockL(CRsfwFileEntry* aFileEntry,
-                                CRsfwRfeStateMachine* aOperation)
-    {
-    DEBUGSTRING(("CRsfwLockManager::ReleaseLockL"));
-    if (aFileEntry->iLockTimeout == 0)
-        {
-        // No locking
-        User::Leave(KErrNotFound);
-        }
-    
-
-    if (!iRemoteAccess) 
-        {
-        User::Leave(KErrNotReady);
-        }
-    else 
-        {
-        HBufC* fullName = aFileEntry->FullNameLC();
-#ifdef _DEBUG
-        TInt err;
-        err = iRemoteAccess->ReleaseLockL(*fullName, aOperation);
-        TPtrC p = fullName->Des();
-        DEBUGSTRING16(("ReleaseLockL(): returned %d for file '%S'", err, &p));     
-
-
-
-#else        
-        iRemoteAccess->ReleaseLockL(*fullName, aOperation);
-#endif
-        CleanupStack::PopAndDestroy(fullName); // fullname
-        }
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::RefreshLockL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::RefreshLockL(CRsfwFileEntry* aFileEntry)
-    {
-   DEBUGSTRING(("CRsfwLockManager::RefreshLockL"));
-    TInt id = 0;
-    if (aFileEntry->iLockTimeout > 0) // timeout = 0 indicates no locking
-        {
-        aFileEntry->iLockTimer->Cancel(); // cancel the old timer
-        HBufC* fullName = aFileEntry->FullNameLC();
-        TRAPD(err, id = iRemoteAccess->RefreshLockL(*fullName,
-                                                    aFileEntry->iLockTimeout,
-                                                    this)); 
-        if (err == KErrNone) 
-            {
-            TPendingLockRefreshContext lockRefresh;
-            lockRefresh.iId = id;
-            lockRefresh.iFileEntry = aFileEntry;
-            iLockRefreshContexts.AppendL(lockRefresh);
-            } 
-        else 
-            {
-            // This error would come from the lower layers of the communication
-            // stack, not from the server.
-            // We use the timer mechanism to try again
-            // but set the timeout to smaller.
-            // Note that we don't touch aFileEntry->iLockTimer, 
-            // which will be used to set the timeout requested from the server
-            TInt lockTimeout =
-                Min((aFileEntry->iLockTimeout / KLockRefreshAdjustment) / 2,
-                    KMinLockRefreshAttempt);
-            TCallBack callBack(CRsfwFileEntry::LockTimerExpiredL, this);
-            aFileEntry->iLockTimer->Start(1000000 * lockTimeout,
-                                          1000000 * lockTimeout,
-                                          callBack);
-            }
-        CleanupStack::PopAndDestroy(fullName); // fullname
-        }
-    }
-  
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::LockedCount
-// ----------------------------------------------------------------------------
-//  
-TInt CRsfwLockManager::LockedCount()
-    {
-    return iLockedEntries.Count();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::AddLockedEntryL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::AddLockedEntryL(CRsfwFileEntry* aEntry)
-    {
-    // prevent from adding the same item twice
-    if (iLockedEntries.Find(aEntry) != KErrNotFound)
-        {
-        return;
-        }
-    
-    iLockedEntries.AppendL(aEntry);
-    DEBUGSTRING(("Update locked count %d -> %d",
-                 iLockedEntries.Count() - 1,
-                 iLockedEntries.Count()));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::RemoveLockedEntry
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::RemoveLockedEntry(CRsfwFileEntry* aEntry)
-    {
-    TInt index = iLockedEntries.Find(aEntry);
-    if (index != KErrNotFound)
-        {
-        iLockedEntries.Remove(index);        
-        DEBUGSTRING(("Update locked count %d -> %d",
-                 iLockedEntries.Count() + 1,
-                 iLockedEntries.Count()));
-
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockManager::PopulateExternalLockTokenCacheL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockManager::PopulateExternalLockTokenCacheL(CRsfwFileEntry* aRoot)
-    {
-    if (aRoot)
-        {
-        const TDesC8* lockToken = aRoot->LockToken();
-        if (lockToken)
-            {
-            HBufC* path = aRoot->FullNameLC();
-            TPtr pathPtr = path->Des();
-            if (aRoot->Type() == KNodeTypeDir)
-                {
-                // the MaxLength() of path is KMaxPath, so we can append
-            if (pathPtr.Length() && (pathPtr[pathPtr.Length() - 1] != '/'))
-                {
-                pathPtr.Append('/');
-                }
-                }
-            iRemoteAccess->SetLockToken(pathPtr, *lockToken);
-            CleanupStack::PopAndDestroy(path);
-            }
-        
-        RPointerArray<CRsfwFileEntry>* kids = aRoot->Kids();
-        TInt i;
-        for (i = 0; i < kids->Count(); i++)
-            {
-            PopulateExternalLockTokenCacheL((*kids)[i]);
-            }
-        }
-    }
-
-//  End of File
--- a/remotestoragefw/remotefileengine/src/rsfwlookupstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for file lookup
-*
-*/
-
-
-#include "rsfwlookupstatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwinterface.h"
-#include "rsfwfileengine.h"
-#include "mdebug.h"
-#include "rsfwdirentattr.h"
-#include "rsfwvolumetable.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::CRsfwLookupStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::CRsfwLookupStateMachine()
-    {
-    iKidCreated = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::~CRsfwLookupStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::~CRsfwLookupStateMachine()
-    {
-    delete iDirEntAttr;
-    if (iPath)
-    	{
-    	delete iPath;
-    	}
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwLookupStateMachine::CompleteRequestL(TInt aError)
-    {
-    TRfeLookupOutArgs* outArgs = static_cast<TRfeLookupOutArgs*>(iOutArgs);
-    if (aError == KUpdateNotRequired)
-        {   // discard
-        aError = KErrNone;
-        }
-
-    if (!aError)
-        {
-        outArgs->iFid = iKidFep->Fid();
-        }
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::TState* CRsfwLookupStateMachine::CompleteL()
-    {
-    // from CRsfwFileEngine::UpdateFileAttributes/UpdateDirAttributes
-#ifdef _DEBUG
-    if (iDirEntAttr)
-        {
-        DEBUGSTRING(("Kid attributes: attr=0x%x, size=%d, time=",
-                     iDirEntAttr->Att(),
-                     iDirEntAttr->Size()));
-        DEBUGTIME((iDirEntAttr->Modified()));
-        }
-#endif
-
-    if (iKidCreated)
-        {
-        /* from CRsfwFileEngine::DoLookupL */
-        // Create a file entry for this kid
-        if (!Volumes()->EnsureMetadataCanBeAddedL(Node()))
-            {
-            User::Leave(KErrNoMemory);
-            }
-        iKidFep = CRsfwFileEntry::NewL(iKidName, Node());
-        if (iDirEntAttr->Att() & KEntryAttDir)
-            {
-            iKidFep->SetType(KNodeTypeDir);
-            }
-        else
-            {
-            iKidFep->SetType(KNodeTypeFile);
-            }
-
-        iKidFep->SetAttributesL(*iDirEntAttr, ETrue);
-
-        // Remember that we have this kid
-        FileEngine()->iFileTable->AddL(iKidFep);
-        Node()->AddKid(*iKidFep);
-        // If we really find a new kid that we were not aware of
-        // we must set the parent as locally dirty
-        // (this should not happen too often)
-        Node()->SetLocallyDirty();
-        }
-
-    // We now have a valid kid entry
-    return CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::TUpdateKidAttributesTryFirstTypeState
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::
-TUpdateKidAttributesTryFirstTypeState::
-TUpdateKidAttributesTryFirstTypeState(CRsfwLookupStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::EnterL"));
-    TRfeLookupInArgs* inArgs =
-        static_cast<TRfeLookupInArgs*>(iOperation->iInArgs);
-    TRfeLookupOutArgs* outArgs =
-        static_cast<TRfeLookupOutArgs*>(iOperation->iOutArgs);
-    iOperation->iNodeType = inArgs->iNodeType;
-    iOperation->iKidName.Set(inArgs->iName);
-
-    TInt err = KErrNone;
-    iOperation->iKidFep = NULL;
-
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    DEBUGSTRING16(("looking up '%S' in fid=%d",
-                   &(iOperation->iKidName),
-                   iOperation->Node()->Fid().iNodeId));
-
-    // We'd better be looking up in a directory
-    if (iOperation->Node()->Type() != KNodeTypeDir)
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    // Try to get the entry from the parent directory
-    iOperation->iKidFep =
-        iOperation->Node()->FindKidByName(iOperation->iKidName);
-    if (!iOperation->iKidFep)
-        {
-        DEBUGSTRING(("no such kid!"));
-        // Didn't find it
-        // if the parent directory's cache entry is still valid
-        // we return "not found"
-        if ((iOperation->FileEngine()->UseCachedAttributes(*iOperation->Node())) &&
-         	(iOperation->FileEngine()->UseCachedData(*iOperation->Node())))
-        	{
-			User::Leave(KErrNotFound);
-        	}
-
-        iOperation->iPath =
-            iOperation->FileEngine()->FullNameL(*iOperation->Node());
-        if (iOperation->iNodeType == KNodeTypeUnknown)
-            {
-            iOperation->FileEngine()->
-                UpdateAttributesL(*iOperation->iPath,
-                                  iOperation->iKidName,
-                                  iOperation->iDirEntAttr,
-                                  KNodeTypeFile,
-                                  iOperation);
-            }
-        else
-            {
-            iOperation->FileEngine()->
-                UpdateAttributesL(*iOperation->iPath,
-                                  iOperation->iKidName,
-                                  iOperation->iDirEntAttr,
-                                  iOperation->iNodeType,
-                                  iOperation);
-            }
-
-        if (err)
-            {
-            // communication to the server failed,
-            //e.g. we are in disconnected mode
-            User::Leave(err);
-            }
-        }
-    else
-        {
-        // We now have a valid kid entry
-        outArgs->iFid = iOperation->iKidFep->Fid();
-        iOperation->HandleRemoteAccessResponse(0, KUpdateNotRequired);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::TState*
-CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::CompleteL"));
-    return iOperation->CompleteL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::ErrorL
-// If we were looking for a file return KErrNotFound
-// if for directory KErrPathNotFound.
-// File Server seems to always call Entry() (-->lookup()) before other file
-// operations so as long as we return the right variant of "not found"
-// error here other places do not matter.
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::TState*
-CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState::ErrorL %d", aCode));
-    if (aCode == KUpdateNotRequired)
-        {
-        iOperation->iKidCreated = EFalse;
-        return iOperation->CompleteL();
-        }
-    else if (iOperation->iNodeType == KNodeTypeUnknown)
-        {
-        return new CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState(
-            iOperation);
-        }
-    else if ((aCode != KErrNotFound) && (aCode != KErrPathNotFound))
-   	 	{
-    	return iOperation->CompleteRequestL(aCode);
-    	}
-    else if (iOperation->iNodeType == KNodeTypeDir)
-        {
-        return iOperation->CompleteRequestL(KErrPathNotFound);
-        }
-    else
-        {
-        return iOperation->CompleteRequestL(KErrNotFound);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::TUpdateKidAttributesTrySecondTypeState
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::
-TUpdateKidAttributesTrySecondTypeState::
-TUpdateKidAttributesTrySecondTypeState(CRsfwLookupStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::EnterL"));
-    // We only come here if nodetype is unknown and
-    // we already tried to lookup as a file
-    iOperation->FileEngine()->UpdateAttributesL(*iOperation->iPath,
-                                                iOperation->iKidName,
-                                                iOperation->iDirEntAttr,
-                                                KNodeTypeDir, iOperation);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::TState*
-CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::CompleteL"));   
-    // from CRsfwFileEngine::UpdateFileAttributes/UpdateDirAttributes
-    return iOperation->CompleteL();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::ErrorL
-// If we were looking for a file return KErrNotFound,
-// if for directory KErrPathNotFound.
-// File Server seems to always call Entry() (-->lookup()) before other file
-// operations so as long as we return the right variant of "not found"
-// error here other places do not matter.
-// ----------------------------------------------------------------------------
-//
-CRsfwLookupStateMachine::TState*
-CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("CRsfwLookupStateMachine::TUpdateKidAttributesTrySecondTypeState::ErrorL %d", aCode));    
-    // from CRsfwFileEngine::Lookup()
-    // No such kid
-
-    // cache the last failed lookup results
-   	iOperation->FileEngine()->SetFailedLookup(*iOperation->iPath,
-   											iOperation->iKidName);
-
-    if (iOperation->iNodeType == KNodeTypeDir)
-        {
-        return iOperation->CompleteRequestL(KErrPathNotFound);
-        }
-    else
-        {
-        return iOperation->CompleteRequestL(KErrNotFound);
-        }
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwlrulistnode.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2005-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:  A node in the LRU list
-*
-*/
-
-
-#include "rsfwlrulistnode.h"
-
-const TInt CRsfwLruListNode::iOffset    = _FOFF(CRsfwLruListNode,iLink);
-
-
-// ----------------------------------------------------------------------------
-// CRsfwLruListNode::NewLC
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwLruListNode* CRsfwLruListNode::NewLC(CRsfwFileEntry *aFe, TInt aPriority)
-    {
-    CRsfwLruListNode* self = new (ELeave) CRsfwLruListNode;
-    CleanupStack::PushL(self);
-    self->ConstructL(aFe, aPriority);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLruListNode::NewL
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwLruListNode* CRsfwLruListNode::NewL(CRsfwFileEntry *aFe, TInt aPriority)
-    {
-    CRsfwLruListNode* self = CRsfwLruListNode::NewLC(aFe, aPriority);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLruListNode::ConstructL
-// 
-// ----------------------------------------------------------------------------
-//
-void CRsfwLruListNode::ConstructL(CRsfwFileEntry *aFe, TInt aPriority)
-    {
-    iEntryPtr = aFe;
-    iLink.iPriority = aPriority;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLruListNode::~CRsfwLruListNode
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwLruListNode::~CRsfwLruListNode()
-    {
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwlruprioritylist.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
-* Copyright (c) 2005-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:  LRU priority list for the file cache
-*
-*/
-
-
-#include "rsfwlruprioritylist.h"
-#include "rsfwlrulistnode.h"
-#include "rsfwfileentry.h"
-#include "mdebug.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwfileengine.h"
-#include "rsfwfiletable.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwLruPriorityList::CRsfwLruPriorityList
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwLruPriorityList::CRsfwLruPriorityList()
-    : iHdr(CRsfwLruListNode::iOffset),iIter(iHdr) //construct header & iterator
-    {}
-    
-// ----------------------------------------------------------------------------
-// CRsfwLruPriorityList::~CRsfwLruPriorityList
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwLruPriorityList::~CRsfwLruPriorityList()
-    {
-    CRsfwLruListNode* node;
-    
-    iIter.SetToFirst();
-    node = iIter++;
-    while (node)
-        {
-        node->iLink.Deque();
-        delete node;
-        node = iIter++;
-        }
-    }    
-  
-// ----------------------------------------------------------------------------
-// CRsfwLruPriorityList::AddNodeL
-// 
-// ----------------------------------------------------------------------------
-//
-void CRsfwLruPriorityList::AddNodeL(CRsfwFileEntry *aFe, TInt aPriority) 
-    {
-    CRsfwLruListNode* currentNode;
-    
-    iIter.SetToFirst();
-    
-    currentNode = iIter++;
-    while (currentNode) 
-        {
-        if (currentNode->iEntryPtr->Fid() == aFe->Fid()) 
-            {
-            DEBUGSTRING(("LRU list: '%d' already exists on the list",
-                         aFe->Fid().iNodeId));
-            return;
-            }  
-        currentNode = iIter++;
-        }
-      
-    // Inserts the specified list element in descending priority order.
-    // If there is an existing list element with the same priority, 
-    // then the new element is added after the existing element.
-    CRsfwLruListNode* newNode = CRsfwLruListNode::NewL(aFe, aPriority);
-    iHdr.Add(*newNode);
-    DEBUGSTRING(("LRU list: added fid '%d' to the list",
-                     aFe->Fid().iNodeId));
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwLruPriorityList::RemoveNode
-// 
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwLruPriorityList::RemoveNode(CRsfwFileEntry *aFe)
-    {
-    DEBUGSTRING(("CRsfwLruPriorityList::RemoveNode"));
-    // When file is opened, it must be removed from LRU list 
-    // as it is not candidate for removal from cache. 
-    // Returns KErrNotFound if the file is not found at all
-    
-    TInt err = KErrNotFound;
-    CRsfwLruListNode* currentNode;
-    
-    iIter.SetToFirst();
-    
-    currentNode = iIter++;
-    while (currentNode) 
-        {
-        if (currentNode->iEntryPtr->Fid() == aFe->Fid()) 
-            {
-            currentNode->iLink.Deque();
-            delete currentNode;
-            err = KErrNone;
-            DEBUGSTRING(("LRU list: removed fid '%d' from the list",
-                             aFe->Fid().iNodeId));
-            break;             
-            }  
-        currentNode = iIter++;
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLruPriorityList::GetAndRemoveFirstEntry
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwLruPriorityList::GetAndRemoveFirstEntry() 
-    {
-    
-    CRsfwLruListNode* firstNode = iHdr.First();
-    CRsfwFileEntry* firstEntry = NULL;
-     
-    if (iHdr.IsHead(firstNode)) 
-        {
-        return NULL; // the head has been reached, and must not be removed  
-        }
-     
-    if (firstNode) 
-        {
-        firstEntry = firstNode->iEntryPtr;
-        firstNode->iLink.Deque();
-        delete firstNode;
-        }
-
-    DEBUGSTRING(("LRU list: first fid on the list removed, '%d'",
-                      firstEntry->Fid().iNodeId));        
-    return firstEntry;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::ExternalizeL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLruPriorityList::ExternalizeL(RWriteStream& aStream)
-    {    
-    // start from the end!
-    iIter.SetToLast();
-    CRsfwLruListNode* currentNode = iIter--;
-    while (currentNode) 
-        {
-        CRsfwFileEntry* currentEntry = currentNode->iEntryPtr;
-        if (currentEntry)
-            {
-            TFid fid = currentEntry->Fid();
-            aStream.WriteInt32L(fid.iNodeId);
-            aStream.WriteInt32L(fid.iVolumeId);            
-            }
-        currentNode = iIter--;
-        }  
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwFileEntry::InternalizeL
-// ----------------------------------------------------------------------------
-//
-void CRsfwLruPriorityList::InternalizeL(RReadStream& aStream, CRsfwVolumeTable* aVolumeTable)
-    {
-    if ( !aVolumeTable )
-        {
-        User::Leave(KErrArgument);
-        }
-
-    // reset existing list
-    iHdr.Reset();
-
-    // get stream size
-    MStreamBuf* streamBuf = aStream.Source();
-    TInt streamSize = streamBuf->SizeL();    
-
-    TInt i;
-    // note i+8 as one entry takes two TInt32 (2 times 4 bytes)
-    for ( i = 0; i < streamSize; i = i+8 )
-        {
-        TFid fid;
-        fid.iNodeId = aStream.ReadInt32L();
-        fid.iVolumeId = aStream.ReadInt32L();
-
-        // check whether there is no trash in the data being internalized
-        if (fid.iVolumeId >= 0 && fid.iVolumeId < KMaxVolumes && fid.iNodeId > 0)
-            {
-            // find existing CRsfwFileEntry object based on TFid
-            CRsfwVolume* volume = aVolumeTable->iVolumes[fid.iVolumeId];
-            if ( volume )
-                {
-                CRsfwFileEntry* entry = volume->iFileEngine->iFileTable->Root()->Lookup(fid);
-                if ( entry )
-                    {
-                    AddNodeL(entry, ECachePriorityNormal);
-                    }
-                }            
-            }
-        else
-            {
-            DEBUGSTRING(("LRU List: wrong item on the list being internalized!"));
-            }
-        }
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwmetadatastore.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Keeps metadata persistent
-*
-*/
-
-
-// INCLUDE FILES
-#include <s32mem.h>
-
-#include "rsfwmetadatastore.h"
-#include "mdebug.h"
-
-// CONSTANTS
-const TUint32 KMetaDataStoreVersion        = 0x010101; // current version
-const TInt KMaxExternalizedMountConfigSize = 512;
-const TInt KDefaultMetaDataBlockSize       = 128;
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwMetaDataStore::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwMetaDataStore* CRsfwMetaDataStore::NewL(const TDesC& aPath)
-    {
-    DEBUGSTRING(("CRsfwMetaDataStore::NewL"));
-    CRsfwMetaDataStore* self = CRsfwMetaDataStore::NewLC(aPath);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMetaDataStore::NewLC
-// ----------------------------------------------------------------------------
-//    
-CRsfwMetaDataStore* CRsfwMetaDataStore::NewLC(const TDesC& aPath)
-    {
-    DEBUGSTRING(("CRsfwMetaDataStore::NewLC"));
-    CRsfwMetaDataStore* self = new (ELeave) CRsfwMetaDataStore();
-    CleanupStack::PushL(self);
-    self->ConstructL(aPath);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMetaDataStore::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMetaDataStore::ConstructL(const TDesC& aPath)
-    {
-    DEBUGSTRING(("CRsfwMetaDataStore::ConstructL"));
-    CRsfwPermanentStore::ConstructL(aPath,
-                                KMaxExternalizedMountConfigSize,
-                                KDefaultMetaDataBlockSize);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMetaDataStore::GetMountConfigL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMetaDataStore::GetMountConfigL(TRsfwMountConfig& aMountConfig)
-    {
-    // Load the configuration information
-    DEBUGSTRING(("CRsfwMetaDataStore::GetMountConfigL"));
-    const HBufC8* header = Header();
-    if (header)
-        {
-        RMemReadStream stream(header->Ptr(), header->Length());
-        CleanupClosePushL(stream);
-        TUint32 version = stream.ReadUint32L();
-        if (version != KMetaDataStoreVersion)
-            {
-            DEBUGSTRING(("metadata store version 0x%x differs from 0x%x",
-                         version,
-                         KMetaDataStoreVersion));
-            User::Leave(KErrCorrupt);
-            }
-        aMountConfig.InternalizeL(stream);
-        CleanupStack::PopAndDestroy(&stream); // stream
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMetaDataStore::SetMountConfigL
-// ----------------------------------------------------------------------------
-//
-void CRsfwMetaDataStore::SetMountConfigL(const TRsfwMountConfig& aMountConfig)
-    {
-    // Store the configuration information
-    HBufC8* buf = HBufC8::NewLC(KMaxExternalizedMountConfigSize);
-    TPtr8 ptr = buf->Des();
-    TUint8* data = const_cast<TUint8 *>(ptr.Ptr());
-    RMemWriteStream stream(data, KMaxExternalizedMountConfigSize);
-    CleanupClosePushL(stream);
-
-    // Dump the externalized data in the memory buffer
-    stream.WriteUint32L(KMetaDataStoreVersion);
-    aMountConfig.ExternalizeL(stream);
-    MStreamBuf* streamBuf = stream.Sink();
-    TInt dataLen = streamBuf->TellL(MStreamBuf::EWrite).Offset();
-    DEBUGSTRING(("mount config data len = %d,", dataLen));
-    stream.CommitL();
-    TPtrC8 header(data, dataLen);
-    SetHeaderL(header);
-
-    CleanupStack::PopAndDestroy(2, buf); // stream, buf
-    }
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwmkdirstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for creating directories
-*
-*/
-
-
-#include "rsfwmkdirstatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwinterface.h"
-#include "rsfwfileengine.h"
-#include "mdebug.h"
-#include "rsfwdirentattr.h"
-#include "rsfwvolumetable.h"
-
-// Make dir
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::CRsfwMkDirStateMachine
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::CRsfwMkDirStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::~CRsfwMkDirStateMachine
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::~CRsfwMkDirStateMachine() 
-    {
-    delete iDirEntAttr;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//    
-CRsfwRfeStateMachine::TState* CRsfwMkDirStateMachine::CompleteRequestL(TInt aError) 
-    {
-    if (iKidCreated && aError)
-        {
-        if ( aError == KErrNotFound )
-            {
-            User::Leave( KErrNotFound );
-            }
-        delete iKidFep;
-        iKidFep = NULL;
-        }
-
-    // it may happen by chance that the new name is equal to iLastFailedLookup value
-    FileEngine()->ResetFailedLookup();
-     
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-
-
-// Check if exists
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TCheckIfExistsState::TCheckIfExistsState
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::
-TCheckIfExistsState::TCheckIfExistsState(CRsfwMkDirStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TCheckIfExistsState::EnterL
-// ----------------------------------------------------------------------------
-//    
-void CRsfwMkDirStateMachine::TCheckIfExistsState::EnterL() 
-    {
-    TRfeMkdirInArgs* inArgs =
-        static_cast<TRfeMkdirInArgs*>(iOperation->iInArgs);
-    TPtrC kidName(inArgs->iEntry.iName);
-
-    iOperation->iKidFep = NULL;
-    iOperation->iKidCreated = EFalse;
-
-    // the parent to which we are making             
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-        
-    DEBUGSTRING16(("making directory '%S' in fid %d",
-                   &kidName,
-                   iOperation->Node()->Fid().iNodeId));    
-
-    // Do we know about the kid yet?
-    iOperation->iKidFep = iOperation->Node()->FindKidByName(kidName);
-    if (!iOperation->iKidFep)
-        {
-        // This is either a completely new directory,
-        // or a directory that we have not yet created a file entry for.
-        // (should always happen)
-        if (!iOperation->Volumes()->EnsureMetadataCanBeAddedL(iOperation->Node()))
-            {
-            User::Leave(KErrNoMemory);  
-            }        
-        iOperation->iKidFep = CRsfwFileEntry::NewL(kidName, iOperation->Node());
-        iOperation->iKidCreated = ETrue;
-        }
-       
-    iOperation->FileEngine()->GetAttributesL(*iOperation->iKidFep,
-                                             iOperation->iDirEntAttr,
-                                             KNodeTypeDir,
-                                             iOperation);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TCheckIfExistsState::CompleteL
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::TState*
-CRsfwMkDirStateMachine::TCheckIfExistsState::CompleteL()
-    {
-    // GetAttributes returned KErrNone
-    // directory exist and we return KErrAlreadyExitsts
-    return iOperation->CompleteRequestL(KErrAlreadyExists); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TCheckIfExistsState::ErrorL
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::TState*
-CRsfwMkDirStateMachine::TCheckIfExistsState::ErrorL(TInt /*aCode*/)
-    {
-    // GetAttributes returned error - 
-    // directory does not exists, let's create it
-  
-    return new CRsfwMkDirStateMachine::TMakeDirectoryState(iOperation);
-    }
-
-
-
-// Make directory
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TMakeDirectoryState::TMakeDirectoryState
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::
-TMakeDirectoryState::TMakeDirectoryState(CRsfwMkDirStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TMakeDirectoryState::EnterL
-// ----------------------------------------------------------------------------
-//    
-void CRsfwMkDirStateMachine::TMakeDirectoryState::EnterL() 
-    {
-    // Make the directory
-    if (!iOperation->FileEngine()->Disconnected())
-        {
-        HBufC* kidPath =
-            iOperation->FileEngine()->FullNameLC(*iOperation->iKidFep);
-        iOperation->FileEngine()->RemoteAccessL()->MakeDirectoryL(*kidPath,
-                                                                  iOperation);
-        CleanupStack::PopAndDestroy(kidPath);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TMakeDirectoryState::CompleteL
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::TState*
-CRsfwMkDirStateMachine::TMakeDirectoryState::CompleteL()
-    {
-    iOperation->iKidFep->SetType(KNodeTypeDir);
-    iOperation->FileEngine()->SetupAttributes(*iOperation->iKidFep);    
-    
-    // Attach the kid
-    if (iOperation->iKidCreated)
-        {
-        iOperation->FileEngine()->iFileTable->AddL(iOperation->iKidFep);
-        iOperation->Node()->AddKid(*iOperation->iKidFep);
-        }
-
-    // Create an empty container file locally
-    iOperation->FileEngine()->CreateContainerFileL(*iOperation->iKidFep);
-    iOperation->iKidFep->SetCached(ETrue);
-    iOperation->iKidFep->SetAttribValidationTime();
-   
-    // Refresh parent directory next time it is accessed
-    iOperation->Node()->SetLocallyDirty();
-
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMkDirStateMachine::TMakeDirectoryState::ErrorL
-// ----------------------------------------------------------------------------
-//    
-CRsfwMkDirStateMachine::TState*
-CRsfwMkDirStateMachine::TMakeDirectoryState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("remote mkdir failed!"));
-    return iOperation->CompleteRequestL(aCode);
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwmountconnectionstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for changing mount state, e.g. online->offline
-*
-*/
-
-
-#include "rsfwmountconnectionstatemachine.h"
-#include "rsfwvolumetable.h"
-#include "rsfwfileengine.h"
-#include "rsfwfiletable.h"
-#include "rsfwlockmanager.h"
-#include "rsfwwaitnotemanager.h"
-#include "mdebug.h"
-#include "rsfwrfeserver.h"
-
-/**********************************************************
- * CRsfwMountConnectionStateMachine
- *
- * If connect to server fails, deletes the remote accessor 
- * (this comes from the way synch version fo CRsfwFileEngine::ConnectL() used to
- * to work, but I'm not quite sure how correct behaviour this is).
- * Note that EnteredConnectionState() in CompleteL
- * may start reintegration.
- * However instead of writing special reintegration states here
- * it is better to later implement a reintegration thred.
- *********************************************************/
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountConnectionStateMachine::CRsfwMountConnectionStateMachine
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountConnectionStateMachine::CRsfwMountConnectionStateMachine(TChar aDriveLetter,
-                                                           TUint aState)
-    {
-    iDriveLetter = aDriveLetter;
-    iState = aState;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountConnectionStateMachine::TChangeConnectionState::TChangeConnectionState
-// ----------------------------------------------------------------------------
-//  
-CRsfwMountConnectionStateMachine::TChangeConnectionState::TChangeConnectionState(
-    CRsfwMountConnectionStateMachine* aParent)
-    : iOperation(aParent)
-    {}
-
-// ----------------------------------------------------------------------------
-// CRsfwMountConnectionStateMachine::TChangeConnectionState::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwMountConnectionStateMachine::TChangeConnectionState::EnterL()
-    {   
-    // The user has forced us to go offline/online
-    iVolume =
-        iOperation->Volumes()->VolumeByDriveLetter(iOperation->iDriveLetter);
-    if (iVolume)
-        {
-        DEBUGSTRING(("Set state of volume %d to %d",
-                     iVolume->iMountInfo.iMountStatus.iVolumeId,
-                     iOperation->iState));
-
-        // Note that eventually the volume state may differ
-        // from the engine state
-        if ((iVolume->iFileEngine->ConnectionState() == KMountStronglyConnected)
-            && (iOperation->iState == KMountNotConnected))
-            {
-            // request to move from connected to disconnected state
-            // warn user if this volume contains open files
-           if (iVolume->iFileEngine->iFileTable->OpenFileCount() > 0) 
-                {
-                iOperation->Volumes()->WaitNoteManager()
-                    ->StartWaitNoteL(ERemoteWarnDisconnect, iOperation);  
-                }
-           else 
-                {
-                // actual move happens in CRsfwMountConnectionStateMachine::TChangeConnectionState::CompleteL
-                iOperation->HandleRemoteAccessResponse(0, KErrNone);     
-                }
-            
-            }
-        else 
-            {
-            // currently setting mount state to Connected state not supported
-            // but user is assumed to use Mount() instead
-            // this used to work, but authentication options and retry dialogs
-            // are now missing
-            User::Leave(KErrNotSupported);                                
-            }
-        }
-    else 
-        {
-        if (iOperation->iState == KMountNotConnected) 
-            {
-            // when volume is not yet found, we execute dormant mount
-            TInt err;
-            TInt drivenumber;
-            TRsfwMountConfig mountConfig;
-            CRsfwRfeServer::Env()->iFs.CharToDrive(iOperation->iDriveLetter, drivenumber);
-            mountConfig.iDriveLetter = iOperation->iDriveLetter;
-            err = iOperation->Volumes()->GetMountConfigL(mountConfig);
-            if (!err) 
-                {
-                iOperation->Volumes()->MountDormantL(mountConfig, drivenumber);
-                iOperation->HandleRemoteAccessResponse(0, KErrNone);     
-                }
-            else 
-                {
-                iOperation->HandleRemoteAccessResponse(0, err); 
-                }
-            }
-        else 
-            {
-            User::Leave(KErrNotSupported);  
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountConnectionStateMachine::TChangeConnectionState::CompleteL
-// ----------------------------------------------------------------------------
-//     
-CRsfwMountConnectionStateMachine::TState*
-CRsfwMountConnectionStateMachine::TChangeConnectionState::CompleteL()
-    {  
-    // from CRsfwFileEngine::RequestConnectionStateL
-    if (iVolume && iVolume->iFileEngine) 
-        {
-        
-        // we successfully disconnected
-        iVolume->iFileEngine->RequestConnectionStateL(
-                     KMountNotConnected,
-                      NULL);
-        
-        if (iVolume->iFileEngine->ConnectionState() != iOperation->iState)
-            {
-            iVolume->iFileEngine->EnteredConnectionStateL(iOperation->iState, EFalse);
-            }
-        }
-    
-    if (iVolume) 
-        {
-        // from CRsfwVolumeTable::SetMountConnectionStateL  
-        iVolume->iMountInfo.iMountStatus.iConnectionState =
-            iVolume->iFileEngine->ConnectionState();     
-        }
-    
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountConnectionStateMachine::TChangeConnectionState::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountConnectionStateMachine::TState*
-CRsfwMountConnectionStateMachine::TChangeConnectionState::ErrorL(TInt aCode)
-    {
-    return iOperation->CompleteRequestL(aCode);
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwmountstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,517 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for mounting
-*
-*/
-
-
-#include <rsfwmountman.h>
-#include "rsfwmountstatemachine.h"
-#include "rsfwwaitnotemanager.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwfileengine.h"
-#include "rsfwrferequest.h"
-#include "rsfwnotpluginrequest.h"
-#include "mdebug.h"
-#include <ecomerrorcodes.h>
-
-// CONSTANTS
-// errors returned by connection layer
-const TInt KRsfwErrNoNetworkCoverage = -4159; // device out of range
-const TInt KRsfwErrOfflineNotPossible = -4180; // device in off-line mode
-
-/*************************************
- * CRsfwMountStateMachine
- *
- * Note that EnteredConnectionState() in CompleteL
- * may start reintegration.
- * However instead of writing special reintegration states here
- * it is better to later implement a reintegration thread.
- *
- ***************************************/
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::NewL
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountStateMachine* 
-CRsfwMountStateMachine::NewL(TRsfwMountConfig aMountConfig,
-                             TInt aMountState,
-                             CRsfwVolumeTable* aVolumeTable)
-    {
-    CRsfwMountStateMachine* self = new (ELeave) CRsfwMountStateMachine();
-    CleanupStack::PushL(self);
-    self->ConstructL(aMountConfig, aMountState, aVolumeTable);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::ConstructL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwMountStateMachine::ConstructL(TRsfwMountConfig aMountConfig, 
-                                        TInt aMountState,
-                                        CRsfwVolumeTable* aVolumeTable)
-    {
-    DEBUGSTRING16(("Mounting drive '%c' with uri '%S', flags=0x%x, to=%d",
-                   TUint(aMountConfig.iDriveLetter),
-                   &(aMountConfig).iUri,
-                   aMountConfig.iFlags,
-                   aMountConfig.iInactivityTimeout));
-
-    iMountConfig = aMountConfig;
-    iMountState = aMountState;
-    iFriendlyName = iMountConfig.iName; 
-    SetVolumes(aVolumeTable);    
-        
-    iVolumeId = Volumes()->VolumeIdByDriveLetter(iMountConfig.iDriveLetter);        
-    if (iVolumeId == KErrNotFound)
-        {
-        User::Leave(KErrArgument);
-        }
-    
-    // set volume and file engine
-    if (iMountState == KMountStateDormant)
-        {
-        // volume and file engine must exist
-        CRsfwVolume* volume = Volumes()->VolumeByVolumeId(iVolumeId);
-        if (volume) 
-            {
-            iVolume = volume;
-            }
-        else 
-            {
-            User::Leave(KErrNotFound);
-            }
-        }
-    else 
-        {
-        // create volume 
-        iVolume = new (ELeave) CRsfwVolume();   
-        iVolume->iVolumeTable = Volumes();
-        
-        // set mountinfo for the volume
-         TRsfwMountInfo& mountInfo = iVolume->iMountInfo;
-         mountInfo.iMountConfig = iMountConfig;
-         mountInfo.iMountStatus.iVolumeId = iVolumeId;
-         iVolume->iVolumeTable = Volumes();
-
-        if (mountInfo.iMountConfig.iInactivityTimeout < 0)
-            {
-            // Negative value means that we don't want to time out
-            mountInfo.iMountConfig.iInactivityTimeout = 0;
-             }
-        else if (mountInfo.iMountConfig.iInactivityTimeout > 0)
-            {
-            // Positive means using system default
-            mountInfo.iMountConfig.iInactivityTimeout =
-                     Volumes()->iInactivityTimeout;
-            }
-        // Just copy the adapted parameter
-        mountInfo.iMountStatus.iInactivityTimeout =
-            mountInfo.iMountConfig.iInactivityTimeout;
-
-        mountInfo.iMountStatus.iPermanence = Volumes()->iPermanence;
-        if (iMountConfig.iFlags & KMountFlagOffLine)
-            {
-            // We are working offline
-            mountInfo.iMountStatus.iConnectionState = KMountNotConnected;
-            }
-        else
-            {
-            mountInfo.iMountStatus.iConnectionState = KMountStronglyConnected;
-            }
-        
-        // create fileengine and attack to volume
-        iVolume->iFileEngine = CRsfwFileEngine::NewL(iVolume);
-        }
-        
-    // set also fileengine pointer in the operation state machine, 
-    // so that the operation can be cancelled
-    SetFileEngine(iVolume->iFileEngine); 
-    
-        
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState* CRsfwMountStateMachine::CompleteRequestL(TInt aError) 
-    { 
-    DEBUGSTRING16(("CRsfwMountStateMachine:::CompleteRequestL error %d", aError));
-    // Attach volume to the table
-    // Note that this is always done, even if "request_connection_state"
-    // returned an error.
-    // This is because sending packets to remote server required construction
-    // of CRsfwFileEngine etc. anyway, and they will be deleted from elsewhere
-    // (deleting the mount configuration or the inactivity timeout)
-    if (!(iMountState == KMountStateDormant)) 
-        {
-        Volumes()->iVolumes[iVolumeId] = iVolume;
-        }
-    
-    // make sure engine disconnects if there was an error
-    if (aError != KErrNone) 
-        {
-        iVolume->iFileEngine->RequestConnectionStateL(
-                    KMountNotConnected,
-                    NULL);
-        }
-
-    return CRsfwWaitNoteStateMachine::CompleteRequestL(aError);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::ErrorOnStateEntry
-// ----------------------------------------------------------------------------
-// 
-CRsfwWaitNoteStateMachine::TState* CRsfwMountStateMachine::ErrorOnStateEntry(TInt aError) 
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::ErrorOnStateEntry %d", aError));
-   
-    if (aError == KEComErrNoInterfaceIdentified)
-        {
-        aError = KErrNotFound;
-        }
-
-    // If error when connecting: 
-    // For most errors we have to show "drive not available, retry?"
-    // or some other connection error dialog
-    // for this we must first dismiss the current wait note and then show
-    // a new note.
-    // Hower, if user presses Cancel or the red button we return immediately
-    if ((iRequestingConnection) && (aError != KErrCancel))
-        {
-        iRequestingConnection = EFalse;
-        iConnectingError = aError;
-        return new CRsfwMountStateMachine::TDismissConnectionWaitNoteState(this);
-        }
-    else
-        {
-        return CRsfwWaitNoteStateMachine::ErrorOnStateEntry(aError);    
-        }    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TRequestConnectionState::TRequestConnectionState
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountStateMachine::
-TRequestConnectionState::TRequestConnectionState(CRsfwMountStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TRequestConnectionState::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwMountStateMachine::TRequestConnectionState::EnterL()
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TRequestConnectionState::EnterL"));
-    
-    // set volume mountconfig 
-    iOperation->iVolume->iMountInfo.iMountConfig = iOperation->iMountConfig;
-       
-    // put up a 'Connecting...' global wait note
-
-    iOperation->ShowWaitNoteL( ERemoteOpConnecting );
-
-    // mark mount connection state as KMountConnecting
-    // this is done, because will prevent engine from shutdown
-    iOperation->FileEngine()->EnteredConnectionStateL(KMountConnecting, EFalse);
-   
-    // request KMountStronglyConnected state
-    // this will open connection to the server
-    iOperation->iRequestingConnection = ETrue;
-    TUint transactionId = iOperation->FileEngine()
-	          ->RequestConnectionStateL(KMountStronglyConnected,
-                                        iOperation);
-        
-    // transactionId = 0 means syncronous non-cancellable operation  
-    if (transactionId > 0) 
-        {
-        iOperation->iRequestingConnection = EFalse;    
-    	iOperation->iTransactionId = transactionId;
-        }
-    
-    }
-   
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TRequestConnectionState::CompleteL
-// This function should be able to do what CRsfwVolumeTable::MountL normally does
-// after fileEngine->RequestConnectionStateL() has returned
-// (with non-error return code)
-// ----------------------------------------------------------------------------
-//     
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TRequestConnectionState::CompleteL()
-    {  
-    DEBUGSTRING16(("CRsfwMountStateMachine::TRequestConnectionState::CompleteL"));
-        
-    if (iOperation->iRequestingConnection)
-        {
-        iOperation->iRequestingConnection = EFalse;
-        }
-       
-    if (!(iOperation->iMountState == KMountStateDormant)) 
-        {
-        // Attach volume to the table
-        iOperation->Volumes()->iVolumes[iOperation->iVolumeId] =
-            iOperation->iVolume;
-        }
-        
-    // Attach volume to the request
-    // (such that the request can notify File Engine of operation completion)
-    iOperation->Request()->iVolume = iOperation->iVolume;
-
-    iOperation->FileEngine()->EnteredConnectionStateL(KMountStronglyConnected, EFalse);
-
-    // publish the new connection state (P&S notification)
-    iOperation->Volumes()->PublishConnectionStatus(iOperation->iVolume);
-         
-    // Remember the volume id for the next root setup
-    iOperation->Volumes()->iLastVolumeId = iOperation->iVolumeId;
-   
-    // remember why the connection attempt failed
-    iOperation->iConnectingError = KErrNone;
- 
-   // dismiss the connecting dialog
-     return new CRsfwMountStateMachine::TDismissConnectionWaitNoteState(
-            iOperation);  
-   
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TRequestConnectionState::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TRequestConnectionState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TRequestConnectionState error=%d", aCode));
-
-    if (iOperation->iRequestingConnection)
-        {
-        iOperation->iRequestingConnection = EFalse;
-        }
-    
-    // remember why the connection attempt failed
-    iOperation->iConnectingError = aCode;
-    
-    if ((aCode == KErrNone) || (aCode == KErrCancel)) 
-        {
-        // immediately return 
-        return iOperation->CompleteRequestL(aCode);
-        }
-
-    // else remove wait note dialog first
-     return new CRsfwMountStateMachine::TDismissConnectionWaitNoteState(
-            iOperation);  
-    }
-
-
-// *************
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::
-// TDismissConnectionWaitNoteState::TDismissConnectionWaitNoteState
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountStateMachine::
-TDismissConnectionWaitNoteState::TDismissConnectionWaitNoteState(CRsfwMountStateMachine* aParent)
-    : iOperation(aParent)
-        {
-        }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TDismissConnectionWaitNoteState::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwMountStateMachine::TDismissConnectionWaitNoteState::EnterL() 
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TDismissConnectionWaitNoteState::EnterL"));	  
-    iOperation->DeleteWaitNoteL(EFalse);    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TDismissConnectionWaitNoteState::CompleteL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TDismissConnectionWaitNoteState::CompleteL()
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TDismissConnectionWaitNoteState::CompleteL"));
-    switch (iOperation->iConnectingError) 
-        {
-        case KErrNone:
-           return iOperation->CompleteRequestL(KErrNone);
-        case KErrCancel:
-           return iOperation->CompleteRequestL(KErrCancel);
-        case KErrAccessDenied:
-           return new CRsfwMountStateMachine::TGetAuthCredentials(iOperation);
-        case KErrNoMemory:
-            iOperation->Volumes()->WaitNoteManager()
-                ->ShowOutOfMemoryNoteL();
-            return iOperation->CompleteRequestL(KErrNoMemory);
-        case KErrNotFound:
-        case KErrPathNotFound:
-            iOperation->Volumes()->WaitNoteManager()
-                ->ShowAddressNotFoundErrorL(iOperation->iFriendlyName);
-            return iOperation->CompleteRequestL(iOperation->iConnectingError);
-        case KRsfwErrNoNetworkCoverage:
-            iOperation->Volumes()->WaitNoteManager()
-	            ->ShowNoNetworkCoverageNoteL();
-	        return iOperation->CompleteRequestL(KRsfwErrNoNetworkCoverage);    
-        case KRsfwErrOfflineNotPossible:
-            iOperation->Volumes()->WaitNoteManager()
-	            ->ShowOfflineNotPossibleNoteL(); 
-	        return iOperation->CompleteRequestL(KRsfwErrOfflineNotPossible);
-        default:
-           // ask user whether to retry
-            return new CRsfwMountStateMachine::TUnavailableRetry(iOperation);
-        }
-    }
-    
-//-----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TDismissConnectionWaitNoteState::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TDismissConnectionWaitNoteState::ErrorL(TInt /*aCode*/)
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TDismissConnectionWaitNoteState::ErrorL"));		
-    // dismissing the dialog failed
-    // no code for this case
-    return CompleteL();
-    }
-
-// *************
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TGetAuthCredentials::TGetAuthCredentials
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountStateMachine::
-TGetAuthCredentials::TGetAuthCredentials(CRsfwMountStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TGetAuthCredentials::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwMountStateMachine::TGetAuthCredentials::EnterL()
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TGetAuthCredentials::EnterL"));
-    iAuthRequest.iMethod = TRsfwNotPluginRequest::EAuthenticationDlg;
-    iAuthRequest.iDriveName = iOperation->iFriendlyName;
-    iAuthRequest.iUserName = iOperation->iMountConfig.iUserName;
-    iAuthRequest.iPassword = iOperation->iMountConfig.iPassword;
-           
-    iOperation->Volumes()->WaitNoteManager()->SetAuthenticationDialogL(iAuthRequest);
-    iOperation->Volumes()->WaitNoteManager()
-            ->StartWaitNoteL(ERemoteOpAuthDialog, iOperation);    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TGetAuthCredentials::CompleteL
-// ----------------------------------------------------------------------------
-//     
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TGetAuthCredentials::CompleteL()
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TGetAuthCredentials::CompleteL"));
-    // re-set username and password and try connecting again
-    iOperation->iMountConfig.iUserName = iAuthRequest.iUserName;
-    iOperation->iMountConfig.iPassword = iAuthRequest.iPassword;   
-     
-    return new CRsfwMountStateMachine::TRequestConnectionState(iOperation);  
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TGetAuthCredentials::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TGetAuthCredentials::ErrorL(TInt /*aCode*/)
-    {    
-    DEBUGSTRING16(("CRsfwMountStateMachine::TGetAuthCredentials::ErrorL"));
-    return iOperation->CompleteRequestL(KErrAccessDenied);
-    }
-    
-// **************
-
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TUnavailableRetry::TGetAuthCredentials
-// ----------------------------------------------------------------------------
-// 
-CRsfwMountStateMachine::
-TUnavailableRetry::TUnavailableRetry(CRsfwMountStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TUnavailableRetry::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwMountStateMachine::TUnavailableRetry::EnterL()
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TUnavailableRetry::EnterL"));
-    iRetryRequest.iMethod = TRsfwNotPluginRequest::EUnavailableRetryDlg;
-    iRetryRequest.iDriveName = iOperation->iFriendlyName;
-    
-    iOperation->Volumes()->WaitNoteManager()->SetGlobalNoteRequestL(iRetryRequest);
-    iOperation->Volumes()->WaitNoteManager()
-            ->StartWaitNoteL(ERemoteUnavailableRetry, iOperation);         
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TUnavailableRetry::CompleteL
-// ----------------------------------------------------------------------------
-//     
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TUnavailableRetry::CompleteL()
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TUnavailableRetry::CompleteL"));	
-    // retry
-    return new CRsfwMountStateMachine::TRequestConnectionState(iOperation);  
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwMountStateMachine::TUnavailableRetry::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState*
-CRsfwMountStateMachine::TUnavailableRetry::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING16(("CRsfwMountStateMachine::TUnavailableRetry::ErrorL"));
-    if (aCode == KErrCancel) 
-        {
-        // user cancelled the a dialog
-        return iOperation->CompleteRequestL(KErrCancel);
-        }
-    else 
-        {
-        return iOperation->CompleteRequestL(aCode);
-        }
-    }
--- a/remotestoragefw/remotefileengine/src/rsfwopenbypathstatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for opening a file or directory
-*
-*/
-
-
-#include "rsfwopenbypathstatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwinterface.h"
-#include "rsfwfileengine.h"
-#include "rsfwlockmanager.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::CRsfwOpenByPathStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwOpenByPathStateMachine::CRsfwOpenByPathStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::~CRsfwOpenByPathStateMachine
-// ----------------------------------------------------------------------------
-//
-CRsfwOpenByPathStateMachine::~CRsfwOpenByPathStateMachine()
-    {
-    delete iLockToken;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState*
-CRsfwOpenByPathStateMachine::CompleteRequestL(TInt aError)
-    {
-    DEBUGSTRING(("CRsfwOpenByPathStateMachine::CompleteRequestL %d", aError));
-    TRfeOpenByPathOutArgs* outArgs =
-        static_cast<TRfeOpenByPathOutArgs*>(iOutArgs);
-    if(!aError)
-        {
-        if ((Node()->Type() == KNodeTypeFile) &&
-            iRealOpen) 
-            {
-            // file opened successfully and was not already opened in create
-            Node()->iFileTable->UpdateOpenFileCount(1);
-            }
-  
-        outArgs->iPath.Copy(*iCacheName);
-        iAttrp->iAtt = Node()->Att();
-        iAttrp->iSize = Node()->Size();
-        iAttrp->iModified = Node()->Modified();
-        }
-
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::TRequestOpenModeState::TRequestOpenModeState
-// ----------------------------------------------------------------------------
-//
-CRsfwOpenByPathStateMachine::TRequestOpenModeState::TRequestOpenModeState(
-    CRsfwOpenByPathStateMachine* aParent)
-    : iOperation(aParent)
-    {
-    iRequestedLock = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::TRequestOpenModeState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwOpenByPathStateMachine::TRequestOpenModeState::EnterL()
-    {
-    
-    DEBUGSTRING(("CRsfwOpenByPathStateMachine::TRequestOpenModeState::EnterL"));
-    
-    TRfeOpenByPathInArgs* inArgs =
-        static_cast<TRfeOpenByPathInArgs*>(iOperation->iInArgs);
-    TRfeOpenByPathOutArgs* outArgs =
-        static_cast<TRfeOpenByPathOutArgs*>(iOperation->iOutArgs);
-    iOperation->iRealOpen = inArgs->iTrueOpen;
-    // Use inArgs->iFlags to pass desired locking information
-    iOperation->iFlags = inArgs->iFlags;
-    iOperation->iAttrp = &(outArgs->iAttr);
-
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    if (iOperation->Node()->Size() > iOperation->Volumes()->iMaxCacheSize)
-        {
-        DEBUGSTRING(("OPENBYPATH failed: file too large: file size %d, max cache size %d",
-                     iOperation->Node()->Size(),
-                     iOperation->Volumes()->iMaxCacheSize));
-        User::Leave(KErrTooBig);
-        }
-
-    DEBUGSTRING(("opening fid %d with flags 0x%x",
-                 iOperation->Node()->Fid().iNodeId,
-                 iOperation->iFlags));
-
-    if (!iOperation->FileEngine()->WriteDisconnected())
-        {
-        if (!(iOperation->Node()->IsLocked()) &&
-            (iOperation->Node()->Type() != KNodeTypeDir) &&
-            (iOperation->iFlags & EFileWrite))
-            {
-            DEBUGSTRING(("requesting lock"));
-            // For the time being
-            // if flag is 0 we are not interested in getting a lock
-            iOperation->FileEngine()->LockManager()->ObtainLockL(
-                iOperation->Node(),
-                iOperation->iFlags,
-                iOperation->iLockToken,
-                iOperation);
-            iRequestedLock = ETrue;
-            }
-        else
-            {
-            // IsLocked() || !(iOperation->iFlags & EFileWrite)
-            iOperation->HandleRemoteAccessResponse(0, KErrNone);
-            }
-        }
-    else
-        {
-        // if WriteDisconnected()
-        iOperation->HandleRemoteAccessResponse(0, KErrNone);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::TRequestOpenModeState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwOpenByPathStateMachine::TState*
-CRsfwOpenByPathStateMachine::TRequestOpenModeState::CompleteL()
-    {
-     DEBUGSTRING(("CRsfwOpenByPathStateMachine::TRequestOpenModeState::CompleteL"));
-    if (iRequestedLock)
-        {
-        //from CRsfwLockManager::ObtainLock()
-#ifdef _DEBUG
-        TPtrC p = iOperation->Node()->FullNameLC()->Des();
-        DEBUGSTRING16(("ObtainLockL(): flags %d returned %d for file '%S'",
-                       iOperation->iFlags,
-                       KErrNone,
-                       &p));
-        CleanupStack::PopAndDestroy();
-#endif // DEBUG
-        iOperation->Node()->SetLockedL(
-            iOperation->FileEngine()->LockManager(),
-            iOperation->iLockToken);
-        iOperation->iLockToken = NULL;
-        }
-
-    iOperation->iCacheName = iOperation->Node()->CacheFileName();
-
-    // make sure that the relevant cache file is on place
-    // (i.e. it has not been removed e.g. by other apps)
-    iOperation->Node()->ValidateCacheFile();
-
-    if (!iOperation->Node()->IsCached())
-        {
-        if (iOperation->FileEngine()->Disconnected())
-            {
-            if ((iOperation->Node()->Type() != KNodeTypeDir) &&
-                !(iOperation->iFlags & EFileWrite))
-                {
-                // While disconnected,
-                // write access of files returns "not found"
-                return iOperation->CompleteRequestL(KErrNotFound);
-                }
-            }
-        iOperation->FileEngine()->CreateContainerFileL(*(iOperation->Node()));
-        iOperation->iCacheName = iOperation->Node()->CacheFileName();
-        }
-    else // is cached
-        {
-        if (iOperation->Node()->IsLocallyDirty())
-            {
-            // This is a directory which has at least one kid
-            // that has been cached or flushed since the last opening
-            // of the directory
-            iOperation->FileEngine()->UpdateDirectoryContainerL(
-                *(iOperation->Node()));
-            }
-
-        // If this is a cached file,
-        // we must remove it from LRUlist as it is now open
-        if (iOperation->iRealOpen)
-            {
-            iOperation->Node()->iFileTable->Volume()->iVolumeTable->
-                RemoveFromLRUPriorityList(iOperation->Node());
-            }
-        }
-
-    // if file or dir has just been opened, remove it from metadata LRU list
-    iOperation->Node()->iFileTable->Volume()->iVolumeTable->
-        RemoveFromMetadataLRUPriorityList(iOperation->Node());
-
-    return iOperation->CompleteRequestL(KErrNone);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwOpenByPathStateMachine::TRequestOpenModeState::ErrorL
-// fileEngine->RequestConnectionStateL() has returned with error
-// ----------------------------------------------------------------------------
-//
-CRsfwOpenByPathStateMachine::TState*
-CRsfwOpenByPathStateMachine::TRequestOpenModeState::ErrorL(TInt aCode)
-    {
-    DEBUGSTRING(("CRsfwOpenByPathStateMachine::TRequestOpenModeState::ErrorL %d", aCode));
-    // from CRsfwFileEngine::DoOpenByPath()
-    if (aCode == KErrNotSupported)
-        {
-        iRequestedLock = EFalse;
-        // locks not supported is not an error state
-        // instead we run the success state...
-        return CompleteL();
-        }
-
-    //from CRsfwLockManager::ObtainLock()
-#ifdef _DEBUG
-    TPtrC p = iOperation->Node()->FullNameLC()->Des();
-    DEBUGSTRING16(("ObtainLockL(): flags %d returned %d for file '%S'",
-                   iOperation->iFlags,
-                   aCode,
-                   &p));
-    CleanupStack::PopAndDestroy();
-#endif
-
-    return iOperation->CompleteRequestL(aCode);
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwpermanentstore.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,885 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Provides persistent storage for memory blocks
-*
-*/
-
-
-// This is a simple block based permanent storage, in which transient
-// indices are computed on the fly when all data is sequentially read
-// from the storage.
-//
-// The data is put into "slots" that consist of one or more "blocks".
-// Subsequent updates to the data slots only use the current slot
-// if the required slot size (block count) has not changed.
-//
-// The storage contains a header that may contain any data.
-// In addition, Each slot contains a header (of type TInt) that
-// describes the size of the data in the slot.
-//
-// The file can be compressed for space efficiency.
-//
-// The assumption is that the store is first opened for reading for loading
-// the data, and then it is only opened for writing until the file is closed.
-//
-// (We don't use CRsfwPermanentStore because besides data, we should
-//  also maintain the indices in a stream of its own)
-
-// INCLUDE FILES
-#include <s32strm.h>
-#include <s32buf.h>
-
-#include "rsfwpermanentstore.h"
-#include "mdebug.h"
-
-
-// CONSTANTS
-const TUint KHeaderStart      = 0xbabefade;
-const TInt  KSlotHeaderSize   = 4;          // sizeof(TInt)
-const TInt  KDefaultBlockSize = 128;        // default block size in bytes
-// max value for integer read from the stream, subsequently used to create descriptor
-const TInt  KMaxDescriptorSize = 16384;         
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// TFileHeader::ExternalizeL
-// ----------------------------------------------------------------------------
-//
-void TFileHeader::ExternalizeL(RWriteStream& aStream) const
-    {
-    aStream.WriteInt32L(iHeaderStart);
-    aStream.WriteInt32L(iBlockSize);
-    aStream.WriteInt32L(iHeaderSize);
-    aStream << *iHeader;
-    }
-
-// ----------------------------------------------------------------------------
-// TFileHeader::InternalizeL
-// ----------------------------------------------------------------------------
-//
-void TFileHeader::InternalizeL(RReadStream& aStream)
-    {
-    iHeaderStart = aStream.ReadInt32L();
-    iBlockSize = aStream.ReadInt32L();
-    if (iBlockSize < 0 || iBlockSize > KMaxDescriptorSize)
-        {
-        User::Leave(KErrCorrupt);
-        }    
-    iHeaderSize = aStream.ReadInt32L();
-    if (iHeaderSize < 0 || iHeaderSize > KMaxDescriptorSize)
-        {
-        User::Leave(KErrCorrupt);
-        }     
-    iHeader = HBufC8::NewL(aStream, iHeaderSize);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwPermanentStore* CRsfwPermanentStore::NewL(const TDesC& aPath,
-                                       TInt aHeaderSize,
-                                       TInt aBlockSize)
-    {
-    CRsfwPermanentStore* self = new (ELeave) CRsfwPermanentStore();
-    CleanupStack::PushL(self);
-    self->ConstructL(aPath, aHeaderSize, aBlockSize);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::~CRsfwPermanentStore
-// ----------------------------------------------------------------------------
-//
-CRsfwPermanentStore::~CRsfwPermanentStore()
-    {
-    ClearFreeBlockLists();
-    iSlots.Close();
-    iFileReadStream.Close();
-    iFileWriteStream.Close();
-    iFile.Close();
-    iFs.Close();
-    delete iFileHeader.iHeader;
-    delete iZeroBlock;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::ConstructL(const TDesC& aPath,
-                                 TInt aHeaderSize,
-                                 TInt aBlockSize)
-    {
-    DEBUGSTRING(("CRsfwPermanentStore::ConstructL()"));
-    User::LeaveIfError(iFs.Connect());
-    iPath.Copy(aPath);
-
-    iHeaderSize = aHeaderSize;
-    // Offset to the block data
-    iFileHeaderSize = iHeaderSize + sizeof(TFileHeader);
-    TRAPD(err, LoadHeaderL());
-    if (err == KErrNone)
-        {
-        // Read parameters from the existing file, if any
-        iHeaderSize = iFileHeader.iHeaderSize;
-        iBlockSize = iFileHeader.iBlockSize;
-        }
-    else
-        {
-        // There was no existing file
-        DEBUGSTRING(("LoadHeaderL returns %d", err));
-        if (aBlockSize)
-            {
-            iBlockSize = aBlockSize;
-            }
-        else
-            {
-            iBlockSize = KDefaultBlockSize;
-            }
-        iFileHeader.iHeaderStart = KHeaderStart;
-        iFileHeader.iHeaderSize = iHeaderSize;
-        iFileHeader.iBlockSize = iBlockSize;
-        }
-    // Compute the offset to data blocks
-    // (this is 4 bytes too many but that is OK ...)
-    iFileHeaderSize = iHeaderSize + sizeof(TFileHeader);
-    // Make a block of zeroes
-    iZeroBlock = HBufC8::NewL(iBlockSize);
-    iZeroBlock->Des().FillZ();
-    DEBUGSTRING(("ConstructL() done, blocksize=%d", iBlockSize));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::ResetL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::ResetL(TBool aWriting)
-    {
-    // This function is called by the client
-    // before starting to read or write data slots
-    if (aWriting)
-        {
-        SetFileStateL(EFileStateWriting);
-        // Set write pointer to the end of the file
-        MStreamBuf* streamBuf = iFileWriteStream.Sink();
-        TInt size = streamBuf->SizeL();
-        iWriteBlockNumber = (size - iFileHeaderSize) / iBlockSize;
-        if ((iWriteBlockNumber * iBlockSize) != (size - iFileHeaderSize))
-            {
-            DEBUGSTRING(("ResetL(): file size incorrect (%d)",
-                         size));
-            }
-        }
-    else
-        {
-        // reading
-        SetFileStateL(EFileStateReading);
-        // Skip file header
-        MStreamBuf* streamBuf = iFileReadStream.Source();
-        streamBuf->SeekL(MStreamBuf::ERead,
-                         EStreamBeginning,
-                         iFileHeaderSize);
-        iReadBlockNumber = 0;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::Commit
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwPermanentStore::Commit()
-    {
-    TInt err = KErrNone;
-    // Commit writing
-    if (iFileState == EFileStateWriting)
-        {
-        MStreamBuf* streamBuf = iFileWriteStream.Sink();
-        err = streamBuf->Synch();
-        }
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::Purge
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwPermanentStore::Purge()
-    {
-    iFileReadStream.Close();
-    iFileWriteStream.Close();
-    iFile.Close();
-    return iFs.Delete(iPath);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::CompactL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::CompactL()
-    {
-    // Compact the file by dropping empty slots.
-    // The slot table is also fixed and the free block lists are cleared
-    // to reflect the new file layout.
-
-    // This function must not be called while the file is opened for reading.
-    // It is most efficient to call this function before any data is read
-    // (then there is no slot table to fix)
-
-    // This function must be called before doing GetNextDataL()
-    // (must be followed by ResetL()).
-    // However, this function can be called while doing PutDataL(). 
-
-    DEBUGSTRING(("CompactL()"));
-    SetFileStateL(EFileStateClosed);
-    SetFileStateL(EFileStateReading);
-    
-    TBuf<KMaxPath> dstPath;
-    dstPath.Copy(iPath);
-    dstPath.Append('a');
-    RFile dstFile;
-    User::LeaveIfError(dstFile.Replace(iFs,
-                                       dstPath,
-                                       EFileShareAny | EFileWrite));
-    CleanupClosePushL(dstFile);
-    RFileWriteStream dstFileWriteStream(dstFile);
-    CleanupClosePushL(dstFileWriteStream);
-    MStreamBuf* streamBuf = iFileReadStream.Source();
-
-    // Copy header
-    dstFileWriteStream.WriteL(iFileReadStream, iFileHeaderSize);
-
-    RArray<TSlot> gaps;
-    CleanupClosePushL(gaps);
-
-    TInt blockNumber = 0;
-    TInt lastReadBlockNumber = 0;
-    TInt nextWriteBlockNumber = 0;
-    TInt err = KErrNone;
-    while (err == KErrNone)
-        {
-        TSlot gap;
-        TInt dataLength = 0;
-        TRAP(err, dataLength = iFileReadStream.ReadInt32L());
-        if (err == KErrNone)
-            {
-            TInt blockCount;
-            if (dataLength >= 0)
-                {
-                // real data
-                blockCount = BlockCount(dataLength);
-#if 0
-                DEBUGSTRING(("Copying at block %d, count %d",
-                             blockNumber,
-                             blockCount));
-#endif
-                // Back off four bytes
-                streamBuf->SeekL(MStreamBuf::ERead,
-                                 EStreamMark,
-                                 -KSlotHeaderSize);
-                dstFileWriteStream.WriteL(iFileReadStream,
-                                          blockCount * iBlockSize);
-                lastReadBlockNumber = blockNumber;
-                nextWriteBlockNumber += blockCount;
-                }
-            else
-                {
-                // empty slot
-                DEBUGSTRING(("Compacting at block %d", blockNumber));
-                blockCount = -dataLength;
-                streamBuf->SeekL(MStreamBuf::ERead,
-                                 EStreamMark,
-                                 blockCount * iBlockSize - KSlotHeaderSize);
-                // Mark block position
-                gap.iIndex = 0;  // not needed here
-                gap.iBlockNumber = blockNumber;
-                gap.iBlockCount = blockCount;
-                gaps.Append(gap);
-                }
-            blockNumber += blockCount;
-            }
-        }
-    if (err == KErrEof)
-        {
-        err = KErrNone;
-        }
-    // Replace old file with the compressed file
-    SetFileStateL(EFileStateClosed);
-    dstFileWriteStream.Close();
-    dstFile.Close();
-    if ((err == KErrNone) && gaps.Count())
-        {
-        // No errors and some compaction was achieved
-        err = iFs.Delete(iPath);
-        if (err == KErrNone)
-            {
-            err = iFs.Rename(dstPath, iPath);
-            if (err == KErrNone)
-                {
-                DEBUGSTRING(("CompactL(): gaps %d slots %d",
-                             gaps.Count(),
-                             iSlots.Count()));
-                if (gaps.Count() && iSlots.Count())
-                    {
-                    // Fix slot table (0(n**2))
-                    TInt oldBlockNumber = 0;
-                    TInt newBlockNumber = 0;
-                    while (oldBlockNumber <= lastReadBlockNumber)
-                        {
-                        if (gaps.Count())
-                            {
-                            // still more gaps ...
-                            if (oldBlockNumber == gaps[0].iBlockNumber)
-                                {
-                                oldBlockNumber += gaps[0].iBlockCount;
-                                gaps.Remove(0);
-                                }
-                            }
-                        if (oldBlockNumber != newBlockNumber)
-                            {
-                            FixSlot(oldBlockNumber, newBlockNumber);
-                            }
-                        oldBlockNumber++;
-                        newBlockNumber++;
-                        }
-                    }
-                }
-            }
-        // Clear free block lists
-        ClearFreeBlockLists();
-        // Setup next block to write
-        iWriteBlockNumber = nextWriteBlockNumber;
-        }
-    else
-        {
-        // Some error occured or no compaction was achieved
-        TInt r = iFs.Delete(dstPath);
-#ifdef _DEBUG
-        DEBUGSTRING(("CompactL(): destination file deletion returns %d ", r));
-#endif
-        }
-
-    CleanupStack::PopAndDestroy(3, &dstFile); // gaps, dstFileWriteStream, dstFile
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::SetHeaderL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::SetHeaderL(TDesC8& aHeader)
-    {
-    delete iFileHeader.iHeader;
-    iFileHeader.iHeader = NULL;
-    iFileHeader.iHeader = aHeader.AllocL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::Header
-// ----------------------------------------------------------------------------
-//
-const HBufC8* CRsfwPermanentStore::Header()
-    {
-    if (iFileHeader.iHeader)
-        {
-        return iFileHeader.iHeader;
-        }
-    else
-        {
-        return NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::GetNextDataL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::GetNextDataL(TUint8* aData,
-                                   TInt& aDataLength,
-                                   TInt& aIndex)
-    {
-    // Return the next slotful of data.
-    // This function must only be used for sequential access
-    SetFileStateL(EFileStateReading);
-
-    MStreamBuf* streamBuf = iFileReadStream.Source();
-    
-    TBool done = EFalse;
-    while (!done)
-        {
-        TInt dataLength = 0;
-        // Eventually leaves with KErrEof
-        dataLength = iFileReadStream.ReadInt32L();
-        TInt blockCount;
-        if (dataLength >= 0)
-            {
-            // Fill data
-            iFileReadStream.ReadL(aData, dataLength);
-            aDataLength = dataLength;
-            aIndex = iIndex;
-
-            // Update block map
-            blockCount = BlockCount(dataLength);
-#if 0
-            DEBUGSTRING((
-                            "GetNextDataL(): index=%d, block=%d, count=%d, len=%d",
-                            iIndex,
-                            iReadBlockNumber,
-                            blockCount,
-                            dataLength));
-#endif
-
-            ReserveSlot(iIndex, iReadBlockNumber, blockCount); 
-            iIndex++;
-            iReadBlockNumber += blockCount;
-
-            // Update read position to the start of next block
-            TInt offset = iBlockSize -
-                (KSlotHeaderSize + dataLength) % iBlockSize;
-            if (offset != iBlockSize)
-                {
-                streamBuf->SeekL(MStreamBuf::ERead, EStreamMark, offset);
-                }
-            
-            done = ETrue;
-            }
-        else
-            {
-            // Negative length indicates a number of free blocks.
-            // Put such empty blocks into the free block list
-            blockCount = -dataLength;
-            PutToFreeBlockList(iReadBlockNumber, blockCount);
-            
-            // Seek to the next slot
-            streamBuf->SeekL(MStreamBuf::ERead, 
-                             EStreamMark,
-                             blockCount * iBlockSize - KSlotHeaderSize);
-            iReadBlockNumber += blockCount;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::PutDataL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::PutDataL(const TUint8* aData,
-                               TInt aDataLength,
-                               TInt& aIndex)
-    {
-    // Write data with the given index
-    // If the index < 0, this a new data
-    SetFileStateL(EFileStateWriting);
-
-    if (aDataLength == 0)
-        {
-        // We just want to dispose of the slot
-        ClearSlotL(aIndex);
-        return;
-        }
-
-    TBool done = EFalse;
-    TInt blockCount = BlockCount(aDataLength);
-    if (aIndex >= 0)
-        {
-        // Check if we have space in the existing slot
-        TSlot* slot = Slot(aIndex);
-        // We should always find the slot
-        if (slot)
-            {
-            if (slot->iBlockCount == blockCount)
-                {
-                // We can use the current slot
-                WriteBlocksL(aData, aDataLength, slot->iBlockNumber);
-                done = ETrue;
-                }
-            else
-                {
-                // Clear the slot
-                ClearSlotL(aIndex);
-                }
-            }
-        else
-            {
-            DEBUGSTRING(("Slot %d not found!", aIndex));
-            }
-        }
-    else
-        {
-        // Allocate new index
-        aIndex = iIndex++;
-        }
-    
-    if (!done)
-        {
-        // Try to get a free slot
-        TInt blockNumber = GetFromFreeBlockList(blockCount);
-        if (blockNumber == KErrNotFound)
-            {
-            // We have to append to the file
-            blockNumber = iWriteBlockNumber;
-            iWriteBlockNumber += blockCount;
-            }
-        
-        ReserveSlot(aIndex, blockNumber, blockCount);
-        WriteBlocksL(aData, aDataLength, blockNumber);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::BlockCount
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwPermanentStore::BlockCount(TInt aDataLength)
-    {
-    // Get the block count for a given data size
-    return (KSlotHeaderSize + aDataLength - 1) / iBlockSize + 1;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::StreamPosition
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwPermanentStore::StreamPosition(TInt aBlockNumber)
-    {
-    // Get the stream position from block position
-    return (iFileHeaderSize + aBlockNumber * iBlockSize);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::Slot
-// ----------------------------------------------------------------------------
-//
-TSlot* CRsfwPermanentStore::Slot(TInt aIndex)
-    {
-    // Find the slot with the given index
-    TSlot slot;             // dummy slot for Find()
-    slot.iIndex = aIndex;
-    TInt i = iSlots.Find(slot);
-    if (i != KErrNotFound)
-        {
-        return &iSlots[i];
-        }
-    else
-        {
-        return NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::FixSlot
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::FixSlot(TInt aOldBlockNumber, TInt aNewBlockNumber)
-    {
-    // Assign a new starting block to the slot that used to
-    // start at aOldBlockNumber.
-    // The block numbers are changed due to compaction -
-    // thus the block numbers can only become smaller.
-    TInt i;
-    for (i = 0; i < iSlots.Count(); i++)
-        {
-        TSlot& slot = iSlots[i];
-        // Note that this function can also be called with block numbers
-        // that do not start a slot - then there will be no match
-        if (slot.iBlockNumber == aOldBlockNumber)
-            {
-            DEBUGSTRING(("Fixing slot %d = %d",
-                         aOldBlockNumber,
-                         aNewBlockNumber));
-            slot.iBlockNumber = aNewBlockNumber;
-            return;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::SetFileStateL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::SetFileStateL(TInt aFileState)
-    {
-    DEBUGSTRING(("CRsfwPermanentStore::SetFileStateL"));
-    DEBUGSTRING(("iFileState = %d, aFileState = %d", iFileState, aFileState));
-    if (iFileState != aFileState)
-        {
-        switch (iFileState)
-            {
-        case EFileStateClosed:
-            {
-            if (aFileState == EFileStateReading)
-                {
-                DEBUGSTRING(("opening a closed file for reading"));
-                DEBUGSTRING16(("path is %S", &iPath));
-                User::LeaveIfError(iFile.Open(iFs,
-                                              iPath,
-                                              EFileShareAny | EFileRead));
-                TInt size;
-                iFile.Size(size);
-                DEBUGSTRING(("opening successfull, file size is %d", size));
-                DEBUGSTRING(("header size %d", iFileHeaderSize));
-                // sanity
-                if (size < iFileHeaderSize)
-                    {
-                    // Close the file and leave the file state as "closed"
-                    iFile.Close();
-                    User::Leave(KErrNotFound);
-                    }
-                else
-                    {
-                    iFileReadStream.Attach(iFile);
-                    }
-                }
-            else
-                {
-                // EFileStateWriting
-                TInt err = iFile.Open(iFs, iPath, EFileShareAny | EFileWrite);
-                if (err != KErrNone)
-                    {
-                    // The file did not exist
-                    User::LeaveIfError(
-                        iFile.Create(iFs,
-                                     iPath,
-                                     EFileShareAny | EFileWrite));
-                    }
-                TInt size;
-                User::LeaveIfError(iFile.Size(size));
-                iFileWriteStream.Attach(iFile);
-                if (size < iFileHeaderSize)
-                    {
-                    // Store header if this was a new file
-                    SaveHeaderL();
-                    }
-                }
-            }
-            break;
-        
-        case EFileStateReading:
-        case EFileStateWriting:
-            {
-            // close and redo
-            if (iFileState == EFileStateReading)
-                {
-                iFileReadStream.Close();
-                }
-            else
-                {
-                iFileWriteStream.Close();
-                }
-            iFile.Close();
-            iFileState = EFileStateClosed;
-            SetFileStateL(aFileState);
-            }
-            break;
-    
-        default:
-            break;
-            }
-        
-        iFileState = aFileState;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::LoadHeaderL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::LoadHeaderL()
-    {
-    DEBUGSTRING(("CRsfwPermanentStore::LoadHeaderL"));
-    SetFileStateL(EFileStateReading);
-    iFileHeader.InternalizeL(iFileReadStream);
-    ResetL(EFalse);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::SaveHeaderL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::SaveHeaderL()
-    {
-    // Write header with filler
-    iFileHeader.ExternalizeL(iFileWriteStream);
-    MStreamBuf* streamBuf = iFileWriteStream.Sink();
-    TInt fileHeaderSize = streamBuf->TellL(MStreamBuf::EWrite).Offset();
-    TInt residue = iFileHeaderSize - fileHeaderSize;
-    HBufC8* fill = HBufC8::NewLC(residue);
-    TPtr8 fillZ = fill->Des();
-    fillZ.SetLength(residue);
-    fillZ.FillZ();
-    DEBUGSTRING(("SaveHeader(): header=%d, filler=%d",
-                 iFileHeaderSize,
-                 fillZ.Length()));
-    iFileWriteStream.WriteL(fillZ);
-    Commit();
-    CleanupStack::PopAndDestroy(fill); // fill
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::ClearFreeBlockLists
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::ClearFreeBlockLists()
-    {
-    TInt i;
-    for (i = 0; i < iFreeBlockLists.Count(); i++)
-        {
-        iFreeBlockLists[i].iFreeBlockList.Close();
-        }
-    iFreeBlockLists.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::ClearSlotL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::ClearSlotL(TInt aIndex)
-    {
-    // Mark a slot as unused in the file and
-    // add the slot in the free block list
-
-    TSlot s;                // dummy slot for iSlots.Find()
-    s.iIndex = aIndex;
-    TInt i = iSlots.Find(s);
-    if (i != KErrNotFound)
-        {
-        TSlot& slot = iSlots[i];
-        // Mark the slot in the file as empty
-        TInt pos = iFileHeaderSize +  slot.iBlockNumber * iBlockSize;
-
-        DEBUGSTRING(("ClearSlotL(): index=%d, block=%d, count=%d, pos=%d",
-                     aIndex,
-                     slot.iBlockNumber,
-                     slot.iBlockCount,
-                     pos));
-
-        MStreamBuf* streamBuf = iFileWriteStream.Sink();
-        streamBuf->SeekL(MStreamBuf::EWrite, EStreamBeginning, pos);
-        iFileWriteStream.WriteInt32L(-slot.iBlockCount);
-        
-        // Add the slot in the free block list
-        PutToFreeBlockList(slot.iBlockNumber, slot.iBlockCount);
-
-        // Delete the slot from the slot table
-        iSlots.Remove(i);
-        }
-    else
-        {
-        DEBUGSTRING(("ClearSlotL(): index=%d not found!", aIndex));
-        User::Leave(KErrNotFound);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::WriteBlocksL
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::WriteBlocksL(const TUint8* aData,
-                                   TInt aDataLength,
-                                   TInt aBlockNumber)
-    {
-    // Put the given data in the slot specified by the index
-    TInt pos = iFileHeaderSize +  aBlockNumber * iBlockSize;
-
-#if 0
-    DEBUGSTRING(("WriteBlocksL(): block=%d, len=%d, pos=%d",
-                 aBlockNumber,
-                 aDataLength,
-                 pos));
-#endif
-#if 0
-    TInt size;
-    iFile.Size(size);
-
-    DEBUGSTRING(("size=%d", size));
-#endif
-    
-    MStreamBuf* streamBuf = iFileWriteStream.Sink();
-    streamBuf->SeekL(MStreamBuf::EWrite, EStreamBeginning, pos);
-    
-    // Write the data in the file (preceded by the length)
-    iFileWriteStream.WriteInt32L(aDataLength);
-    iFileWriteStream.WriteL(aData, aDataLength);
-
-    // We have to fill the whole slot if this is the last slot
-    // in the file. Well, we will will the last bock of all slots
-    TInt residue = iBlockSize - (KSlotHeaderSize + aDataLength) % iBlockSize;
-    if (residue != iBlockSize)
-        {
-        iFileWriteStream.WriteL(iZeroBlock->Des().Ptr(), residue);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::ReserveSlot
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::ReserveSlot(TInt aIndex,
-                                  TInt aBlockNumber,
-                                  TInt aBlockCount)
-    {
-    TSlot slot;
-
-    slot.iIndex = aIndex;
-    slot.iBlockNumber = aBlockNumber;
-    slot.iBlockCount = aBlockCount;
-    iSlots.Append(slot);
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::PutToFreeBlockList
-// ----------------------------------------------------------------------------
-//
-void CRsfwPermanentStore::PutToFreeBlockList(TInt aBlockPos, TInt aBlockCount)
-    {
-    while (iFreeBlockLists.Count() < aBlockCount)
-        {
-        // Construct list until blockCount size
-        TFreeBlockList freeBlockList;
-        iFreeBlockLists.Append(freeBlockList);
-        }
-    iFreeBlockLists[aBlockCount - 1].iFreeBlockList.Append(aBlockPos);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPermanentStore::GetFromFreeBlockList
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwPermanentStore::GetFromFreeBlockList(TInt aBlockCount)
-    {
-    // Only support exact matches.
-    // That is, bigger slots are not broken into smaller slots
-    if (iFreeBlockLists.Count() < aBlockCount)
-        {
-        // no list
-        return KErrNotFound;
-        }
-
-    TFreeBlockList& freeBlockList = iFreeBlockLists[aBlockCount - 1]; 
-    if (freeBlockList.iFreeBlockList.Count() == 0)
-        {
-        // no entries in the list
-        return KErrNotFound;
-        }
-
-    // Get the first entry in the list
-    TInt blockPos = freeBlockList.iFreeBlockList[0];
-    freeBlockList.iFreeBlockList.Remove(0);
-    return blockPos;
-    }
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwremoteaccess.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Access Protocol plug-in loader
- *
-*/
-
-
-// INCLUDES
-#include "rsfwremoteaccess.h"
-#include <ecom.h>
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRemoteAccess* CRsfwRemoteAccess::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwRemoteAccess* CRsfwRemoteAccess::NewL(const TDesC8& aProtocol)
-    {
-    // Set up the interface find for the default resolver
-    TBuf8<KMaxMatchStringSize> matchString;
-    _LIT8(KRemoteMatchPrefix, "remoteaccess/");
-    matchString.Copy(KRemoteMatchPrefix);
-
-    // Both "http" and "https" are handled by davaccess module
-    _LIT8(KHttps, "https"); 
-    if (aProtocol.Compare(KHttps) == 0)
-        {
-        _LIT8(KHttp, "http");   
-        matchString.Append(KHttp);
-        }
-    else
-        {
-        matchString.Append(aProtocol);
-        }
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType(matchString);
-    // Disable wildcard matching
-    resolverParams.SetWildcardMatch(EFalse);
-
-    return REINTERPRET_CAST(CRsfwRemoteAccess*,
-        REComSession::CreateImplementationL(
-            KCRemoteAccessUid,
-            _FOFF(CRsfwRemoteAccess, iDtor_ID_Key),
-            resolverParams));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRemoteAccess::~CRsfwRemoteAccess
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwRemoteAccess::~CRsfwRemoteAccess()
-    {
-    // Inform the framework that this specific 
-    // instance of the interface has been destroyed.
-    REComSession::DestroyedImplementation(iDtor_ID_Key);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRemoteAccess:: GetQuotaAndSizeL
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C TInt CRsfwRemoteAccess:: GetQuotaAndSizeL(TInt& aQuota, TInt& aSize)
-    {
-    aQuota = KMountReportedSize;
-    aSize = KMountReportedFreeSize;
-    return 0;
-    }
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwremoteaccesssync.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Synchronous layer on top of the Access Protocol plug-in API
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwremoteaccesssync.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-CRsfwRemoteAccessSync* CRsfwRemoteAccessSync::NewL(const TDesC8& aService,
-                                           CRsfwRemoteAccess* aRemoteAccess)
-    {
-    CRsfwRemoteAccessSync* self = new (ELeave) CRsfwRemoteAccessSync;
-    CleanupStack::PushL(self);
-    self->ConstructL(aService, aRemoteAccess);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CRsfwRemoteAccessSync::ConstructL(const TDesC8& aService,
-                                   CRsfwRemoteAccess* aRemoteAccess)
-    {
-    if (aRemoteAccess)
-        {
-        iRemoteAccess = aRemoteAccess;
-        }
-    else
-        {
-        iRemoteAccess = CRsfwRemoteAccess::NewL(aService);
-        iOwnRemoteAccess = ETrue;
-        }
-    iSchedulerWait = new CActiveSchedulerWait();   
-    }
-
-CRsfwRemoteAccessSync::~CRsfwRemoteAccessSync()
-    {
-    if (iOwnRemoteAccess)
-        {
-        delete iRemoteAccess;
-        }
-    delete iSchedulerWait;    
-    }
-
-TInt CRsfwRemoteAccessSync::Setup(
-    MRsfwRemoteAccessObserver* aRsfwRemoteAccessObserver)
-    {
-    TRAPD(err, iRemoteAccess->SetupL(aRsfwRemoteAccessObserver));
-    return err;
-    }
-
-TInt CRsfwRemoteAccessSync::Open(const TDesC& aUserName,
-                             const TDesC& aPassword,
-                             const TDesC& aServerName,
-                             TInt aPortNumber,
-                             const TDesC& aRootDirectory,
-                             const TDesC& aAuxData)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TBuf<KMaxPath> url;
-    url.Append(_L("http://"));
-    url.Append(aServerName);
-    url.Append(_L(":"));
-    url.AppendNum(aPortNumber);
-    url.Append(_L("/"));
-    url.Append(aRootDirectory);
-    
-    
-    TUriParser uriParser;
-    uriParser.Parse(url);
-    
-    TRAP(iStatus, iRemoteAccess->OpenL(uriParser,
-                                       aServerName,
-                                       aUserName,
-                                       aPassword,
-                                       aAuxData,
-                                       this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::GetDirectory(const TDesC& aPathName,
-                                     RPointerArray<CRsfwDirEnt>& aDirEnts)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->GetDirectoryL(aPathName,
-                                               aDirEnts,
-                                               this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::GetFile(const TDesC& aRemotePathName,
-                                const TDesC& aLocalPathName,
-                                TInt aOffset,
-                                TInt* aLength,
-                                TUint aFlags)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->GetFileL(aRemotePathName,
-                                          aLocalPathName,
-                                          aOffset,
-                                          aLength,
-                                          aFlags,
-                                          this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::MakeDirectory(const TDesC& aPathName)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->MakeDirectoryL(aPathName, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::CreateFile(const TDesC& aPathName)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->CreateFileL(aPathName, 0, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::PutFile(const TDesC& aLocalPathName,
-                                const TDesC& aRemotePathName)
-    {
-    _LIT8(KTextPlain, "text/plain");
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->PutFileL(aLocalPathName,
-                                          aRemotePathName,
-                                          KTextPlain,
-                                          this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::DeleteDirectory(const TDesC& aPathName)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->DeleteDirectoryL(aPathName, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::DeleteFile(const TDesC& aPathName)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->DeleteFileL(aPathName, this));
-    return Epilog();
-    }
-
-
-TInt CRsfwRemoteAccessSync::Rename(const TDesC& aSrcPathName,
-                               const TDesC& aDstPathName,
-                               TBool aOverwrite)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->RenameL(aSrcPathName,
-                                         aDstPathName,
-                                         aOverwrite,
-                                         this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::GetDirectoryAttributes(const TDesC& aPathName,
-                                               CRsfwDirEntAttr*& aAttr)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus,
-         iRemoteAccess->GetDirectoryAttributesL(aPathName, aAttr, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::GetFileAttributes(const TDesC& aPathName,
-                                          CRsfwDirEntAttr*& aAttr)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->GetFileAttributesL(aPathName,
-                                                    aAttr,
-                                                    this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::SetAttributes(const TDesC& aPathName,
-                                      CRsfwDirEntAttr& aAttr)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->SetAttributesL(aPathName, aAttr, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::ObtainLock(const TDesC& aPathName,
-                                   TUint aLockFlags,
-                                   TUint& aTimeout,
-                                   TDesC8*& aLockToken)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus,
-         iRemoteAccess->ObtainLockL(aPathName,
-                                    aLockFlags,
-                                    aTimeout,
-                                    aLockToken,
-                                    this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::ReleaseLock(const TDesC& aPathName)
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->ReleaseLockL(aPathName, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::RefreshLock(const TDesC& aPathName,
-                                    TUint& aTimeout)
-
-    {
-    if (iPending)
-        {
-        return KErrServerBusy;
-        }
-    iPending = ETrue;
-    TRAP(iStatus, iRemoteAccess->RefreshLockL(aPathName, aTimeout, this));
-    return Epilog();
-    }
-
-TInt CRsfwRemoteAccessSync::SetLockToken(const TDesC& aPathName,
-                                     const TDesC8& aLockToken)
-    {
-    return iRemoteAccess->SetLockToken(aPathName, aLockToken);
-    }
-
-// -----------------------------------------------------------------
-// from MRemoteAccessResponseHandler
-// -----------------------------------------------------------------
-
-void CRsfwRemoteAccessSync::HandleRemoteAccessResponse(TUint /* aId */,
-                                                   TInt aStatus)
-    {
-    iStatus = aStatus;
-    if (iSchedulerWait->IsStarted())
-        {
-        iSchedulerWait->AsyncStop();
-        }
-    iPending = EFalse;
-    }
-
-// -----------------------------------------------------------------
-
-TInt CRsfwRemoteAccessSync::Epilog()
-    {
-    if (iPending && (iStatus == KErrNone))
-        {
-        iSchedulerWait->Start();
-        }
-    return iStatus;
-    }
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwrenamefilestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +0,0 @@
-/*
-* Copyright (c) 2005-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:  State machine for renaming files
-*
-*/
-
-
-#include "rsfwrenamefilestatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwfileengine.h"
-#include "rsfwlockmanager.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::CRsfwRenameFileStateMachine
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::CRsfwRenameFileStateMachine()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::~CRsfwRenameFileStateMachine
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::~CRsfwRenameFileStateMachine() 
-    {
-    delete iLockToken;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeStateMachine::TState*
-CRsfwRenameFileStateMachine::CompleteRequestL(TInt aError) 
-    {
-    if (iSrcKidCreated)
-        {
-        if (aError)
-            {
-            delete iSrcKidFep;
-            iSrcKidFep = NULL;
-            }
-        }
-    if (iDstKidCreated)
-        {
-        delete iDstKidFep;
-        iDstKidFep = NULL;
-        }
-
-    // it may happen that the new name is equal to iLastFailedLookup value
-    FileEngine()->ResetFailedLookup();
-
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    return CompleteAndDestroyState();
-    }
-
-
-
-// Rename the file
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TRenameFileState::TRenameFileState
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::
-TRenameFileState::TRenameFileState(CRsfwRenameFileStateMachine* aParent)
-    : iOperation(aParent)
-    {   
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TRenameFileState::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwRenameFileStateMachine::TRenameFileState::EnterL() 
-    {
-    // rename or replace
-    TRfeRenameInArgs* inArgs =
-        static_cast<TRfeRenameInArgs*>(iOperation->iInArgs);
-    iOperation->iOverWrite = inArgs->iOverWrite;
-        
-    TFid* dstParentFidp = &(inArgs->iDstFid);
-    TPtrC16 srcKidName(inArgs->iSrcName);
-    iOperation->iDstKidName.Set(inArgs->iDstName);
-    
-    // Get the parent from which we are removing
-    if (!iOperation->Node())
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    // Get the parent to which we are removing
-    iOperation->iDstParentFep =
-        iOperation->FileEngine()->iFileTable->Lookup(*dstParentFidp);
-    if (!iOperation->iDstParentFep)
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    // Do we know the target kid yet?
-    iOperation->iDstKidFep =
-        iOperation->iDstParentFep->FindKidByName(iOperation->iDstKidName);
-    if (!iOperation->iDstKidFep)
-        {
-        // Create a temporary file entry for building the full path
-        iOperation->iDstKidFep =
-            CRsfwFileEntry::NewL(iOperation->iDstKidName,
-                             iOperation->iDstParentFep);
-        iOperation->iDstKidCreated = ETrue;
-        }
-
-    // Do we know the source kid yet?
-    iOperation->iSrcKidFep = iOperation->Node()->FindKidByName(srcKidName);
-    if (!iOperation->iSrcKidFep)
-        {
-        iOperation->iSrcKidFep = CRsfwFileEntry::NewL(srcKidName,
-                                                  iOperation->Node());
-        iOperation->iSrcKidCreated = ETrue;
-        }
-   
-    if (!iOperation->FileEngine()->Disconnected())
-        {
-        // Do the rename
-        HBufC* srcKidPath =
-            iOperation->FileEngine()->FullNameLC(*iOperation->iSrcKidFep);
-        if ((*iOperation->iSrcKidFep).Type() == KNodeTypeDir)
-            { // if source is a directory, make sure the name ends with a slash
-            if ((*srcKidPath)[(srcKidPath->Length() - 1)] != '/')
-                {
-                TPtr srcKidAppend = srcKidPath->Des();         
-                srcKidAppend.Append('/');   
-                }   
-            }
-        
-        HBufC* dstKidPath =
-            iOperation->FileEngine()->FullNameLC(*iOperation->iDstKidFep);
-        if ((*iOperation->iDstKidFep).Type() == KNodeTypeDir)
-            { // if source is a directory, make sure the name ends with a slash
-            if ((*dstKidPath)[(dstKidPath->Length() -1)] != '/')
-                {
-                TPtr dstKidAppend = dstKidPath->Des();         
-                dstKidAppend.Append('/');   
-                }   
-            }
-        iOperation->
-            FileEngine()->
-            RemoteAccessL()->RenameL(*srcKidPath,
-                                     *dstKidPath,
-                                     iOperation->iOverWrite,
-                                     iOperation);         
-        CleanupStack::PopAndDestroy(2, srcKidPath); // dstKidPath, srcKidPath
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TRenameFileState::CompleteL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::TState*
-CRsfwRenameFileStateMachine::TRenameFileState::CompleteL()
-    {
-    if (!iOperation->iSrcKidCreated)
-        {
-        // If we didn't create the srcKidFep,
-        // we must remove it from parent's list
-        iOperation->Node()->RemoveKidL(iOperation->iSrcKidFep);
-        }
-    else
-        {
-        // Enter source into the file table
-        iOperation->Node()->iFileTable->AddL(iOperation->iSrcKidFep);
-        }
-
-    if (!iOperation->iDstKidCreated)
-        {
-        // If we didn't create the dstKidFep, we must remove and destroy it
-        // unless the node has a removed marking set
-        // (should not happen, except for removed nodes)
-        iOperation->FileEngine()->iFileTable->RemoveL(iOperation->iDstKidFep);
-        delete iOperation->iDstKidFep;
-        iOperation->iDstKidFep = NULL;
-        }
-
-    // Change srcKidFep's name,
-    // and insert the fep into the dstParentFep directory
-    iOperation->iSrcKidFep->RenameL(iOperation->iDstKidName);
-    iOperation->iDstParentFep->AddKid(*iOperation->iSrcKidFep);
-
-    // Refresh both parent directories
-    iOperation->Node()->SetLocallyDirty();
-    if (iOperation->Node() != iOperation->iDstParentFep)
-        {
-        iOperation->Node()->SetLocallyDirty();
-        }
-
-    return new CRsfwRenameFileStateMachine::TAcquireLockState(iOperation);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TRenameFileState::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::TState*
-CRsfwRenameFileStateMachine::TRenameFileState::ErrorL(TInt aCode)
-    { 
-    DEBUGSTRING(("remote rename failed"));
-    return iOperation->CompleteRequestL(aCode);         
-    }
-   
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TAcquireLockState::TAcquireLockState
-// ----------------------------------------------------------------------------
-//  
-CRsfwRenameFileStateMachine::
-TAcquireLockState::TAcquireLockState(CRsfwRenameFileStateMachine* aParent)
-    {
-    iOperation = aParent;  
-    iRequestedLock = EFalse;  
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TAcquireLockState::EnterL
-// ----------------------------------------------------------------------------
-// 
-void CRsfwRenameFileStateMachine::TAcquireLockState::EnterL() 
-    {
-    if (!iOperation->FileEngine()->WriteDisconnected())
-        {
-        // Now we have updated everything necessary in iSrcKidFep
-        // possibly lock timer is ticking with etc.
-        // However, at least WebDAV does not lock the new file in move,
-        // so if the old file was locked we need to tell
-        // the access protocol plug-in that it must lock the new file.
-        if (iOperation->iSrcKidFep->IsLocked())
-            {
-            iOperation->iSrcKidFep->iLockTimer->Cancel();
-            iOperation->FileEngine()->LockManager()->
-                ObtainLockL(iOperation->iSrcKidFep,
-                            EFileWrite,
-                            iOperation->iLockToken,
-                            iOperation);
-            iRequestedLock = ETrue;
-            }
-        else 
-            {
-            iOperation->HandleRemoteAccessResponse(0, KErrNone);
-            }
-        }
-    else 
-        {
-        iOperation->HandleRemoteAccessResponse(0, KErrNone);       
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TAcquireLockState::CompleteL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::TState*
-CRsfwRenameFileStateMachine::TAcquireLockState::CompleteL()
-    {
-    if (iRequestedLock) 
-        {
-        iOperation->
-            iSrcKidFep->SetLockedL(iOperation->FileEngine()->LockManager(),
-                                   iOperation->iLockToken);
-        iOperation->iLockToken = NULL;
-        }
-    return iOperation->CompleteRequestL(KErrNone); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRenameFileStateMachine::TAcquireLockState::ErrorL
-// ----------------------------------------------------------------------------
-// 
-CRsfwRenameFileStateMachine::TState*
-CRsfwRenameFileStateMachine::TAcquireLockState::ErrorL(TInt aCode)
-    {       
-    return iOperation->CompleteRequestL(aCode);   
-    }
-    
--- a/remotestoragefw/remotefileengine/src/rsfwrequestallocator.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Operation and request allocation and deletion
-*
-*/
-
-
-#include "rsfwrequestallocator.h"
-#include "rsfwrfesyncoperation.h"
-#include "rsfwrfeasyncoperation.h"
-#include "rsfwrfemessagerequest.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// RsfwRequestAllocator::GetSyncOperation
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeSyncOperation* RsfwRequestAllocator::GetSyncOperation(CRsfwRfeRequest* aRequest,
-                                                      TInt aCaller) 
-    {
-    CRsfwRfeSyncOperation* pO = NULL;
-    pO = new CRsfwRfeSyncOperation();
-    if (pO)
-        {
-        pO->Set(aRequest, aCaller);
-        }
-    return pO;
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwRequestAllocator::GetAsyncOperation
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeAsyncOperation* RsfwRequestAllocator::GetAsyncOperation(CRsfwRfeRequest* aRequest,
-                                                        TInt aCaller) 
-    {
-    CRsfwRfeAsyncOperation* pO = NULL;
-    pO = new CRsfwRfeAsyncOperation();
-    if (pO) 
-        {
-        TRAPD(err, pO->SetL(aRequest, aCaller));
-        if (err) 
-            {
-        	DEBUGSTRING(("Setting the operation failed with error %d!!!",err));
-            delete pO;
-            pO = NULL;
-            }
-        }
-    return pO;
-    }
-
-// ----------------------------------------------------------------------------
-// RsfwRequestAllocator::GetMessageRequest
-// allocate requests
-// Return a pointer to a message request of type specificied by aCaller and initialised
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeMessageRequest* RsfwRequestAllocator::GetMessageRequest(
-    const RMessage2& aMessage,
-    CRsfwRfeSession* aSession)
-    {
-    CRsfwRfeMessageRequest* pM = NULL;
-    
-    pM = new CRsfwRfeMessageRequest();
-        
-    if (pM)
-        {
-        TRAPD(err, pM->SetL(aMessage,aSession));
-        if (err)
-        {
-        	delete pM;
-        	pM = NULL;
-        }
-        return pM;
-        }
-    else 
-        {
-        return NULL;
-        }
-    }
-   
-// ----------------------------------------------------------------------------
-// RsfwRequestAllocator::FreeRequest
-// ----------------------------------------------------------------------------
-//     
-void RsfwRequestAllocator::FreeRequest(CRsfwRfeRequest* aRequest)
-    {
-    delete aRequest;
-    }
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwrfeasyncoperation.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Encapsulates an asynchronous operation
-*
-*/
-
-
-#include "rsfwrfeasyncoperation.h"
-#include "rsfwrfemessagerequest.h"
-#include "rsfwrfestatemachine.h"
-#include "rsfwmountstatemachine.h"
-#include "rsfwmountconnectionstatemachine.h"
-#include "rsfwopenbypathstatemachine.h"
-#include "rsfwgetattributesstatemachine.h"
-#include "rsfwattributerefreshingstatemachine.h"
-#include "rsfwfetchandcachestatemachine.h"
-#include "rsfwfetchdatastatemachine.h"
-#include "rsfwlookupstatemachine.h"
-#include "rsfwclosestatemachine.h"
-#include "rsfwflushstatemachine.h"
-#include "rsfwmkdirstatemachine.h"
-#include "rsfwdeletestatemachine.h"
-#include "rsfwcreatefilestatemachine.h"
-#include "rsfwrenamefilestatemachine.h"
-#include "rsfwvolumetable.h"
-#include "mdebug.h"
-#include "rsfwcommon.h"
-#include "rsfwrfeserver.h"
-#include "rsfwinterface.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeAsyncOperation::~CRsfwRfeAsyncOperation
-// ----------------------------------------------------------------------------
-//   
-CRsfwRfeAsyncOperation::~CRsfwRfeAsyncOperation() 
-    {
-    delete iImplementation;
-    iImplementation = NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeAsyncOperation::Implementation
-// ----------------------------------------------------------------------------
-//  
-CRsfwRfeStateMachine* CRsfwRfeAsyncOperation::Implementation()
-    {
-    return iImplementation;
-    } 
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeAsyncOperation::SetImplementation
-// ----------------------------------------------------------------------------
-//  
-void CRsfwRfeAsyncOperation::SetImplementation(CRsfwRfeStateMachine* aImpl)
-    {
-    iImplementation = aImpl;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeAsyncOperation::SetL
-// Set asynchronous operation and its parameters
-// Leave if OOM etc.
-// ----------------------------------------------------------------------------
-//  
-void CRsfwRfeAsyncOperation::SetL(CRsfwRfeRequest* aRequest, TInt aOpCode) 
-    {                 
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*)aRequest;
-    CRsfwRfeStateMachine::TState* initialState = NULL;
-    CRsfwRfeStateMachine* operation = NULL;
-
-    if (aRequest->iVolume) 
-        {
-        DEBUGSTRING(("<<< Dispatch enter (operation=%d, volume=%d)",
-                     aOpCode,
-                     aRequest->iVolume->iMountInfo.iMountStatus.iVolumeId));
-        }
-    else 
-        {
-        DEBUGSTRING(("<<< Dispatch enter (operation=%d)", aOpCode));  
-        }
-                   
-    switch (aOpCode) 
-        {
-    case EMount:
-    case EMountByDriveLetter:
-        {   
-        DEBUGSTRING(("EMount / EMountByDriveLetter"));
-        TRsfwMountConfig* mountConfig = new (ELeave) TRsfwMountConfig;
-        CleanupStack::PushL(mountConfig);
-        TPckg<TRsfwMountConfig> mountConfigPackage(*mountConfig);
-        if (aOpCode == EMount)
-            {
-            request->Message().ReadL(0, mountConfigPackage);
-            // this is to satisfy IPC fuzz testing
-            VerifyMountConfigL(*mountConfig);
-            }
-        else
-            {
-            // EMountByDriveLetter - create a stub TRsfwMountConfig
-            TInt driveNumber = request->Message().Int0();
-            RFs fs = CRsfwRfeServer::Env()->iFs;
-            fs.DriveToChar(driveNumber, mountConfig->iDriveLetter);
-            mountConfig->iUri.SetLength(0);
-            }
-
-        // fetch mountconfig from mountStore
-        if (!mountConfig->iUri.Length() || aOpCode == EMountByDriveLetter)
-            {
-            // the drive letter must be set
-            User::LeaveIfError(aRequest->iVolumeTable->GetMountConfigL(
-                                   *mountConfig));
-            }
-        
-        // If there is an existing mount, the configurations must match.
-        // Otherwise we unmount the already existing mount.
-        CRsfwVolume* volume =
-            aRequest->
-            iVolumeTable->
-            VolumeByDriveLetter(mountConfig->iDriveLetter);         
-        if (volume)
-            {
-            if (volume->iMountInfo.iMountConfig.iUri.CompareF(
-                    mountConfig->iUri) != 0)
-                {
-                // We have a mismatch
-                DEBUGSTRING16(("Dismounting an obsolete mount %S",
-                               &volume->iMountInfo.iMountConfig.iUri));
-                aRequest->
-                    iVolumeTable->
-                    DismountByDriveLetterL(mountConfig->iDriveLetter,
-                                           ETrue);
-                }
-            }
-        TInt mountState =
-            aRequest->iVolumeTable->MountState(mountConfig->iDriveLetter);
-        operation = CRsfwMountStateMachine::NewL(*mountConfig, 
-                                                 mountState, 
-                                                 aRequest->iVolumeTable);
-        CleanupStack::PushL(operation);
-        ((CRsfwWaitNoteStateMachine *) operation)->BaseConstructL();
-        initialState =
-                new (ELeave) CRsfwMountStateMachine::TRequestConnectionState(
-                    (CRsfwMountStateMachine *)operation);
-        
-        CleanupStack::Pop(operation);
-        DEBUGSTRING16(("EMount: name '%S' with URI='%S' as '%c' (state=%d)",
-                       &mountConfig->iName,
-                       &mountConfig->iUri,
-                       TUint(mountConfig->iDriveLetter),
-                       mountState));
-        CleanupStack::PopAndDestroy(mountConfig);
-        }
-        break;
-
-    case ESetMountConnectionState:
-        {
-         DEBUGSTRING(("ESetMountConnectionState"));
-        // Set the connection state of the mount
-        TChar driveLetter = reinterpret_cast<TInt>(request->Message().Ptr0());
-        TUint state = reinterpret_cast<TUint>(request->Message().Ptr1());
-        DEBUGSTRING(("EMountConnectionState: drive '%c', state=%d",
-                     TUint(driveLetter),
-                     state));
-                     
-        operation = new(ELeave) CRsfwMountConnectionStateMachine(driveLetter,
-                                                             state);
-        CleanupStack::PushL(operation);
-        ((CRsfwWaitNoteStateMachine *) operation)->BaseConstructL();
-        initialState =
-            new (ELeave) CRsfwMountConnectionStateMachine::TChangeConnectionState(
-                (CRsfwMountConnectionStateMachine *)operation);
-        CleanupStack::Pop(operation);
-        }
-    
-        break;
-
-    case EOpenByPath:
-        {
-        DEBUGSTRING(("OPENBYPATH"));
-        operation = new (ELeave) CRsfwOpenByPathStateMachine();
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        // we need to refresh attributes first
-        initialState =
-            new (ELeave) CRsfwGetAttributesStateMachine::TRefreshAttributesState(
-                (CRsfwAttributeRefreshingStateMachine *)operation);
-        CleanupStack::Pop(operation);
-        break;
-        }
-
-    case EFetch:
-        {
-        DEBUGSTRING(("FETCH"));
-        operation = new (ELeave) CRsfwFetchAndCacheStateMachine();
-        CleanupStack::PushL(operation);
-        ((CRsfwWaitNoteStateMachine *) operation)->BaseConstructL();
-        initialState =
-            new (ELeave) CRsfwFetchAndCacheStateMachine::TFetchDataState(
-                (CRsfwFetchAndCacheStateMachine *)operation);
-        CleanupStack::Pop(operation);
-        break;
-        }
-
-    case EFetchData:
-        {
-        DEBUGSTRING(("FETCHDATA"));
-        operation = new (ELeave) CRsfwFetchDataStateMachine();
-        CleanupStack::PushL(operation);
-        ((CRsfwWaitNoteStateMachine *) operation)->BaseConstructL();
-        initialState = new (ELeave) CRsfwFetchDataStateMachine::TFetchDataState(
-            (CRsfwFetchDataStateMachine *)operation);
-        CleanupStack::Pop(operation);
-        break;
-        }
-
-    case ELookUp:
-        {   
-        DEBUGSTRING(("LOOKUP"));
-        operation = new (ELeave) CRsfwLookupStateMachine();
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState = new (ELeave)
-            CRsfwLookupStateMachine::TUpdateKidAttributesTryFirstTypeState(
-                (CRsfwLookupStateMachine *)operation);
-        CleanupStack::Pop(operation);
-        break;
-        }
-
-    case EGetAttr:
-        {
-        DEBUGSTRING(("GETATTR"));   
-        operation = new (ELeave) CRsfwGetAttributesStateMachine();
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState =
-            new (ELeave) CRsfwGetAttributesStateMachine::TRefreshAttributesState(
-                (CRsfwGetAttributesStateMachine *)operation);
-        CleanupStack::Pop(operation);
-        break;
-        }
-
-    case EClose:
-        {
-        DEBUGSTRING(("CLOSE"));   
-        operation = new (ELeave) CRsfwCloseStateMachine();
-        CleanupStack::PushL(operation);
-        ((CRsfwWaitNoteStateMachine *) operation)->BaseConstructL();
-        initialState =
-            new (ELeave) CRsfwCloseStateMachine::TReleaseLockState(
-                (CRsfwCloseStateMachine *) operation);
-        CleanupStack::Pop(operation);
-        break;  
-        }
-   case EFlush:
-        {
-        DEBUGSTRING(("FLUSH"));  
-        operation = new (ELeave) CRsfwFlushStateMachine();
-        CleanupStack::PushL(operation);
-        ((CRsfwFlushStateMachine *) operation)->BaseConstructL();
-        initialState =
-            new (ELeave) CRsfwFlushStateMachine::TFlushDataToServerState(
-                (CRsfwFlushStateMachine *) operation);
-        CleanupStack::Pop(operation);        
-        break;  
-        }
-
-    case EMkDir:
-        {
-        DEBUGSTRING(("MKDIR")); 
-        operation = new (ELeave) CRsfwMkDirStateMachine();
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState = new (ELeave) CRsfwMkDirStateMachine::TCheckIfExistsState(
-            (CRsfwMkDirStateMachine *) operation);
-        CleanupStack::Pop(operation);
-        break;  
-        }
-
-    case ERemoveDir:
-        {
-        DEBUGSTRING(("RMDIR")); 
-        operation = new (ELeave) CRsfwDeleteStateMachine(KNodeTypeDir);
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState = new (ELeave) CRsfwDeleteStateMachine::TCheckIfCanBeDeleted(
-            (CRsfwDeleteStateMachine *) operation);
-        CleanupStack::Pop(operation);
-        break;  
-        }
-
-    case ERemove:
-        DEBUGSTRING(("REMOVE")); 
-        operation = new (ELeave) CRsfwDeleteStateMachine(KNodeTypeFile);
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState = new (ELeave) CRsfwDeleteStateMachine::TCheckIfCanBeDeleted(
-            (CRsfwDeleteStateMachine *) operation);
-        CleanupStack::Pop(operation);
-        break;
-
-    case ECreateFile:
-        DEBUGSTRING(("CREATE"));
-        operation = new (ELeave) CRsfwCreateFileStateMachine();
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState =
-            new (ELeave) CRsfwCreateFileStateMachine::TCheckIfExistsState(
-                (CRsfwCreateFileStateMachine *) operation);
-        CleanupStack::Pop(operation);
-        break;
-
-    case ERenameReplace:
-        DEBUGSTRING(("RENAME"));
-        operation = new (ELeave) CRsfwRenameFileStateMachine();
-        CleanupStack::PushL(operation);
-        operation->BaseConstructL();
-        initialState = new (ELeave) CRsfwRenameFileStateMachine::TRenameFileState(
-            (CRsfwRenameFileStateMachine *) operation);
-        CleanupStack::Pop(operation);
-        break;
-
-    default:
-        // request handler function not set,
-        // would lead to accessing a NULL pointer
-        User::Panic(KRfeServer, ENullRequestHandler);
-        }
-
-    SetImplementation(operation);
-    Implementation()->SetNextState(initialState);
-    
-    // Set parameters
-    iImplementation->SetVolumes(aRequest->iVolumeTable);
-    
-    if (aRequest->iVolume) 
-        {
-        iImplementation->SetFileEngine(aRequest->iVolume->iFileEngine);
-        }
-    
-    iImplementation->SetArguments(aRequest->iInArgs, aRequest->iOutArgs);
-       
-    // Set backpointer to the request we are running,
-    // so that the state machine can easily complete it
-    iImplementation->SetRequest(aRequest);
-    
-    iIsSync = EFalse;
-    CRsfwRfeOperation::Set(aOpCode);
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwRfeAsyncOperation::VerifyMountConfigL
-// Checks whether mount config data is correct
-// ----------------------------------------------------------------------------
-//     
-void CRsfwRfeAsyncOperation::VerifyMountConfigL(TRsfwMountConfig& aMountConfig) 
-    {    
-    if (aMountConfig.iName.Length() > KMaxMountNameLength ||
-        aMountConfig.iUri.Length() > KMaxMountUriLength ||
-        aMountConfig.iUserName.Length() > KMaxMountUserNameLength ||
-        aMountConfig.iPassword.Length() > KMaxMountPasswordLength ||
-        aMountConfig.iAuxData.Length() > KMaxMountAuxDataLength)
-        {
-        DEBUGSTRING16(("CRsfwRfeAsyncOperation::VerifyMountConfigL bad aMountConfig argument"));        
-        User::Leave(KErrArgument);
-        }
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwrfemessagerequest.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,461 +0,0 @@
-/*
-* Copyright (c) 2005-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:  A request sent by a client (i.e. non-internal request)
-*
-*/
-
-
-#include "rsfwrfemessagerequest.h"
-#include "rsfwrfeoperation.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwcommon.h"
-#include "rsfwinterface.h"
-#include "mdebug.h"
-#include "rsfwrfesession.h"
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::CRsfwRfeMessageRequest
-// ----------------------------------------------------------------------------
-//     
-CRsfwRfeMessageRequest::CRsfwRfeMessageRequest() 
-    {
-    SetRequestType(EMessageRequest);
-    iMessageCompleted = EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::SetL
-// ----------------------------------------------------------------------------
-//     
-void CRsfwRfeMessageRequest::SetL(const RMessage2& aMessage,
-                             CRsfwRfeSession* aSession)
-    {    
-    DEBUGSTRING(("CRsfwRfeMessageRequest::Set"));
-    
-    // common for all operations
-    iMessage = aMessage;
-    iSession = aSession;
-    iVolumeTable = aSession->Volume(); 
-    
-    // if a file system access operation
-    if (aMessage.Function() >=  ERenameReplace) 
-        {
-        switch (aMessage.Function())
-            {
-            // read input parameters
-        case ERenameReplace:
-            {
-            TRfeRenameInArgs* inArgs = new (ELeave) TRfeRenameInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeRenameInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-        case ESetAttr:
-            {
-            TRfeSetAttrInArgs* inArgs = new (ELeave) TRfeSetAttrInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeSetAttrInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-        case EFsIoctl:
-            {
-            TRfeIoctlInArgs* inArgs = new (ELeave) TRfeIoctlInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeIoctlInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-        
-        case EGetAttr:
-            {
-            TRfeGetAttrInArgs* inArgs = new (ELeave) TRfeGetAttrInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeGetAttrOutArgs* outArgs = new (ELeave )TRfeGetAttrOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeGetAttrInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs); // inArgs, outArgs
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;
-            }
-
-        case EOpenByPath:
-            {
-            TRfeOpenByPathInArgs* inArgs = new (ELeave) TRfeOpenByPathInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeOpenByPathOutArgs* outArgs = new (ELeave) TRfeOpenByPathOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeOpenByPathInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs); // inArgs, outArgs
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;      
-            }   
-
-        case EFsRoot:
-            {
-            TRfeRootInArgs* inArgs = new (ELeave) TRfeRootInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeRootOutArgs* outArgs = new (ELeave) TRfeRootOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeRootInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs); // inArgs, outArgs
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;      
-            }   
-
-        case EMkDir:
-            {
-            TRfeMkdirInArgs* inArgs = new (ELeave) TRfeMkdirInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeMkdirInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-
-        case ERemoveDir:
-            {
-            TRfeRmdirInArgs* inArgs = new (ELeave) TRfeRmdirInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeRmdirInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-
-        case ECreateFile:
-            {
-            TRfeCreateInArgs* inArgs = new (ELeave) TRfeCreateInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeCreateOutArgs* outArgs = new (ELeave) TRfeCreateOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeCreateInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs); // inArgs, outArgs
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;      
-            }   
-
-        case ERemove:
-            {
-            TRfeRemoveInArgs* inArgs = new (ELeave) TRfeRemoveInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeRemoveInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-
-        case ELookUp:
-            {
-            TRfeLookupInArgs* inArgs = new (ELeave) TRfeLookupInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeLookupOutArgs* outArgs = new (ELeave) TRfeLookupOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeLookupInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs);
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;      
-            }   
-
-        case EClose:
-            {
-            TRfeCloseInArgs* inArgs = new (ELeave) TRfeCloseInArgs();
-            inArgs->iFid.iVolumeId = aMessage.Int0();
-            inArgs->iFid.iNodeId = aMessage.Int1();
-            inArgs->iOpCode = EClose;
-            inArgs->iFlags = aMessage.Int2();
-            iInArgs = inArgs;
-            iOutArgs = NULL;
-            break;
-            }
-
-       case EFlush:
-            {
-            TRfeFlushInArgs* inArgs = new (ELeave) TRfeFlushInArgs();
-            CleanupStack::PushL(inArgs);
-            TPckg<TRfeFlushInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(inArgs);
-            iInArgs = inArgs;
-            break;
-            }
-
-        case EFetch:
-            {
-            TRfeFetchInArgs* inArgs = new (ELeave) TRfeFetchInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeFetchOutArgs* outArgs = new (ELeave) TRfeFetchOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeFetchInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs);
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;  
-            }
-
-        case EFetchData:
-            {
-            TRfeFetchDataInArgs* inArgs = new (ELeave) TRfeFetchDataInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeFetchDataOutArgs* outArgs = new (ELeave) TRfeFetchDataOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeFetchDataInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs);
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;
-            }
-
-        case EOkToWrite:
-            {
-            TRfeWriteDataInArgs* inArgs = new (ELeave) TRfeWriteDataInArgs();
-            CleanupStack::PushL(inArgs);
-            TRfeWriteDataOutArgs* outArgs = new (ELeave) TRfeWriteDataOutArgs();
-            CleanupStack::PushL(outArgs);
-            TPckg<TRfeWriteDataInArgs> pkgInArgs(*inArgs);
-            aMessage.ReadL(0, pkgInArgs);
-            CleanupStack::Pop(2, inArgs);
-            iInArgs = inArgs;
-            iOutArgs = outArgs;
-            break;
-            }   
-            }
-    
-        DEBUGSTRING(("volume id %d", iInArgs->iFid.iVolumeId));
-        // Here volumeId may be 0 to denote "no volume id"
-        // This is OK - we assume that drive letter A is never allocated
-        iVolume = iVolumeTable->VolumeByVolumeId(iInArgs->iFid.iVolumeId);
-        
-        // As this is a file system access operation - not mount operation,
-        // if volume is null we are not ready for file operations
-        // - indicate this to the client who needs to call mount
-        TBool ready =
-            iVolume &&
-            (iVolume->iMountInfo.iMountStatus.iMountState !=
-             KMountStateDormant);
-        if (!ready && aMessage.Function() != EFsRoot && aMessage.Function() != EClose) 
-            {
-            aMessage.Complete(KErrNotReady);
-            iMessageCompleted = ETrue;
-            }
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::Message
-// ----------------------------------------------------------------------------
-//     
-const RMessage2& CRsfwRfeMessageRequest::Message()
-    {
-    return iMessage;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::Session
-// ----------------------------------------------------------------------------
-//         
-CRsfwRfeSession* CRsfwRfeMessageRequest::Session()
-    {
-    return iSession;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::Session
-// ----------------------------------------------------------------------------
-//         
-void CRsfwRfeMessageRequest::SetSession(CRsfwRfeSession* aSession)
-    {
-    iSession = aSession;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::Complete
-// ----------------------------------------------------------------------------
-//         
-void CRsfwRfeMessageRequest::Complete(TInt aError)
-    {
-   	DEBUGSTRING(("CRsfwRfeMessageRequest::Complete"));
-    if (iSession) 
-        {
-        DEBUGSTRING((">>> Dispatch exit (operation %d, error %d, return %d)",
-                     Operation()->iFunction,
-                     aError,
-                     aError));
-        DEBUGSTRING(("completing request"));  
-        if (!Message().IsNull()) 
-            {
-            Message().Complete(aError);
-            }
-        DEBUGSTRING(("request completed")); 
-        iMessageCompleted = ETrue;  
-        }
-    }   
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeMessageRequest::CompleteAndDestroy
-// ----------------------------------------------------------------------------
-//     
-void CRsfwRfeMessageRequest::CompleteAndDestroy(TInt aError)
-    {
-  	DEBUGSTRING(("CRsfwRfeMessageRequest::CompleteAndDestroy"));
-  	
-  	TInt err;
-    err = KErrNone;
-    if (iSession) 
-        {
-        DEBUGSTRING((">>> Dispatch exit (operation %d, error %d, return %d)",
-                     Operation()->iFunction, aError, aError));
-        switch (Operation()->iFunction)
-            {
-            // write output parameters
-        case EFetch:
-            {
-            DEBUGSTRING(("writing parameters: EFetch"));	
-            TRfeFetchOutArgs* outArgs = (TRfeFetchOutArgs *)(iOutArgs);
-            TPckg<TRfeFetchOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;                  
-            }   
-
-        case EFetchData:
-            {
-           DEBUGSTRING(("writing parameters: EFetchData"));	
-            TRfeFetchDataOutArgs* outArgs = (TRfeFetchDataOutArgs *)(iOutArgs);
-            TPckg<TRfeFetchDataOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;                  
-            }   
-
-        case EOkToWrite:
-            {
-           DEBUGSTRING(("writing parameters: EOkToWrite"));	 	
-            TRfeWriteDataOutArgs* outArgs = (TRfeWriteDataOutArgs *)(iOutArgs);
-            TPckg<TRfeWriteDataOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;                  
-            }           
-
-        case ELookUp:
-            {
-            DEBUGSTRING(("writing parameters: ELookup"));		
-            TRfeLookupOutArgs* outArgs = (TRfeLookupOutArgs *)(iOutArgs);
-            TPckg<TRfeLookupOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;                  
-            }   
-
-        case ECreateFile:
-            {
-           DEBUGSTRING(("writing parameters: ECreateFile"));		 	
-            TRfeCreateOutArgs* outArgs = (TRfeCreateOutArgs *)(iOutArgs);
-            TPckg<TRfeCreateOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;  
-            }           
-
-        case EOpenByPath:
-            {
-           DEBUGSTRING(("writing parameters: EOpenByPath"));		 	
-            TRfeOpenByPathOutArgs* outArgs =
-                (TRfeOpenByPathOutArgs *)(iOutArgs);
-            TPckg<TRfeOpenByPathOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;  
-            }
-            
-        case EGetAttr:
-            {
-            DEBUGSTRING(("writing parameters: EGetAttr"));		
-            TRfeGetAttrOutArgs* outArgs = (TRfeGetAttrOutArgs *)(iOutArgs);
-            TPckg<TRfeGetAttrOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;      
-            }
-
-        case EFsRoot:
-            {
-            DEBUGSTRING(("writing parameters: EFsRoot"));			
-            TRfeRootOutArgs* outArgs = (TRfeRootOutArgs *)(iOutArgs);
-            TPckg<TRfeRootOutArgs> pkgOutArgs(*outArgs);
-            err = Message().Write(1, pkgOutArgs);
-            break;      
-            }
-          }
-          
-  		if (err)
-  		    {
-  		    aError = err;
-  			}
-  
-        DEBUGSTRING(("completing request"));
-        if (!Message().IsNull()) 
-            {
-            Message().Complete(aError);
-            }
-        DEBUGSTRING(("request completed")); 
-        iMessageCompleted = ETrue;  
-        }
-  
-    Destroy();
-    }
-    
-    
- // ----------------------------------------------------------------------------
-// CRsfwRfeRequest::Destroy
-// ----------------------------------------------------------------------------
-// 
-void CRsfwRfeMessageRequest::Destroy()
-    {
-    if (iSession) 
-        {
-        iSession->RemoveFromMessageRequestArray(this);
-        }
-        
-    CRsfwRfeRequest::Destroy();
-    }
-       
-
--- a/remotestoragefw/remotefileengine/src/rsfwrfeoperation.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for operation encapsulation
-*
-*/
-
-
-#include <e32def.h>
-
-#include "rsfwrfeoperation.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeOperation::IsSync
-// ----------------------------------------------------------------------------
-//      
-TBool CRsfwRfeOperation::IsSync() const 
-    {
-    return iIsSync;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwRfeOperation::Function
-// ----------------------------------------------------------------------------
-//  
-TInt CRsfwRfeOperation::Function()
-    {
-    return iFunction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeOperation::Set
-// ----------------------------------------------------------------------------
-//      
-void CRsfwRfeOperation::Set(TInt aOpCode)
-    {
-    iFunction = aOpCode;
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwrferequest.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for request encapsulation.
-*
-*/
-
-
-#include <f32file.h>
-#include "rsfwrferequest.h"
-#include "rsfwinterface.h"
-#include "rsfwrfeoperation.h"
-#include "rsfwrfesyncoperation.h"
-#include "rsfwrfeasyncoperation.h"
-#include "rsfwrfestatemachine.h"
-#include "rsfwrequestallocator.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwfileengine.h"
-
-TParse dummyP;
-RMessage2 dummyM;
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::~CRsfwRfeRequest
-// ----------------------------------------------------------------------------
-// 
-CRsfwRfeRequest::~CRsfwRfeRequest()
-    {
-    delete iInArgs;
-    delete iOutArgs;
-    if (iOperation) 
-        {
-        if (Operation()->IsSync()) 
-            {
-            delete (CRsfwRfeSyncOperation *)iOperation;
-            iOperation = NULL;
-            }
-        else 
-            {
-            delete (CRsfwRfeAsyncOperation *)iOperation;
-            iOperation = NULL;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::Destroy
-// ----------------------------------------------------------------------------
-// 
-void CRsfwRfeRequest::Destroy()
-    {
-    CRsfwVolume* volume = iVolume;
-    CRsfwVolumeTable* volumeTable = iVolumeTable;
-
-    RsfwRequestAllocator::FreeRequest(this);
-
-    if (volume && volume->iFileEngine)
-        {
-        // Signal the engine of operation completion
-        volume->iFileEngine->OperationCompleted();
-        }
-    else
-        {
-        volumeTable->OperationCompleted(NULL);
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::Dispatch
-// ----------------------------------------------------------------------------
-//     
-void CRsfwRfeRequest::Dispatch()
-    {
-    if (Operation()->IsSync()) 
-        {
-        TRAPD(leaveValue,
-              ((CRsfwRfeSyncOperation * )Operation())->DoRequestL(this));
-        CompleteAndDestroy(leaveValue);  
-        }
-    else 
-        {
-        // run the operation state machine
-        // start from the initial state
-        ((CRsfwRfeAsyncOperation *)Operation())->Implementation()->
-            ReEnterCurrentState();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::Src
-// ----------------------------------------------------------------------------
-//     
-TParse& CRsfwRfeRequest::Src()
-    {
-    return(dummyP);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::Dest
-// ----------------------------------------------------------------------------
-// 
-TParse& CRsfwRfeRequest::Dest()
-    {
-    return(dummyP);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::Operation
-// ----------------------------------------------------------------------------
-//     
-CRsfwRfeOperation* CRsfwRfeRequest::Operation() 
-    {return(iOperation);}
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::SetOperation
-// ----------------------------------------------------------------------------
-// 
-void CRsfwRfeRequest::SetOperation(CRsfwRfeOperation* aCaller) 
-    {
-    iOperation = aCaller;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::RequestType
-// ----------------------------------------------------------------------------
-// 
-TRequestType CRsfwRfeRequest::RequestType() 
-    {
-    return iRequestType;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeRequest::SetRequestType
-// ----------------------------------------------------------------------------
-// 
-void CRsfwRfeRequest::SetRequestType(TRequestType aRequestType) 
-    {
-    iRequestType = aRequestType;
-    }
-
-
--- a/remotestoragefw/remotefileengine/src/rsfwrfeserver.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,498 +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:  Remote File Engine server
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <e32math.h>
-#include <e32cons.h>
-
-#include <bacline.h>
-
-#include "rsfwvolumetable.h"
-#include "rsfwcommon.h"
-#include "rsfwinterface.h"
-#include "rsfwrfesession.h"
-#include "rsfwrfeserver.h"
-#include "mdebug.h"
-#include "ecom.h"
-#include "rsfwmountstore.h"
-
-#include "rsfwconfig.h"
-
-
-// ----------------------------------------------------------------------------------------
-// Server's policy here
-// ----------------------------------------------------------------------------------------
-
-//Total number of ranges
-const TUint remoteFileEngineRangeCount = 3;
-
-//Definition of the ranges of IPC numbers
-const TInt remoteFileEngineRanges[remoteFileEngineRangeCount] = 
-        {
-        0, // 0 & 1 ; ERfeRequest, EAsynchRequest
-        2, // 2 ; The Control API starts from EMount
-        12 // 12 ; The Access API starts from ERenameReplace
-        }; 
-
-//Policy to implement for each of the above ranges        
-const TUint8 remoteFileEngineElementsIndex[remoteFileEngineRangeCount] = 
-        {
-        CPolicyServer::EAlwaysPass,	//applies to 0th range
-        0,  //applies to 1st range
-        1  //applies to 2nd range
-        };
-
-//Specific capability checks
-const static CPolicyServer::TPolicyElement remoteFileEngineElements[] = 
-        {
-        // action = -1 ===> failing calls happens via CustomFailureActionL
-        // File Server is always allowed based on its SID from that function
-        //policy "0" for the Control API; fail call if NetworkServices and ReadDeviceData not present
-        {_INIT_SECURITY_POLICY_C2(ECapabilityNetworkServices, ECapabilityReadDeviceData), -1},  
-        //policy "1"; for the Access API, fail call if Network Services and AllFiles not prosent
-        {_INIT_SECURITY_POLICY_C2(ECapabilityNetworkServices, ECapabilityAllFiles), -1} 
-        };
-
-//Package all the above together into a policy
-const CPolicyServer::TPolicy remoteFileEnginePolicy =
-        {
-        CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass
-        remoteFileEngineRangeCount,	//number of ranges                                   
-        remoteFileEngineRanges,	//ranges array
-        remoteFileEngineElementsIndex,	//elements<->ranges index
-        remoteFileEngineElements,		//array of elements
-        };
-
-
-// DATA STRUCTURES
-TRfeEnv* CRsfwRfeServer::iEnvp;
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::CRsfwRfeServer
-// ----------------------------------------------------------------------------
-// 
-inline CRsfwRfeServer::CRsfwRfeServer(TInt aPriority, TServerType aType)
-    :CPolicyServer(aPriority, remoteFileEnginePolicy, aType)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::NewL
-// ----------------------------------------------------------------------------
-// 
-
-CRsfwRfeServer* CRsfwRfeServer::NewL()
-    {
-    CRsfwRfeServer* self = CRsfwRfeServer::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::NewLC
-// ----------------------------------------------------------------------------
-// 
-
-CRsfwRfeServer* CRsfwRfeServer::NewLC()
-    {
-    CRsfwRfeServer* self = new (ELeave) CRsfwRfeServer(EPriorityNormal,
-                                               ESharableSessions);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::ConstructL
-// ----------------------------------------------------------------------------
-// 
-
-void CRsfwRfeServer::ConstructL()
-    {
-    StartL(KRemoteFEName);
-    DEBUGSTRING(("registered RFE name 0x%x", this));
-
-    // Prepare the environment
-    iEnvp = &iEnv;
-    iDelayedShutdownTimer = CPeriodic::NewL(CActive::EPriorityLow);
-    User::LeaveIfError(iEnvp->iFs.Connect());
-    iEnvp->iRsfwConfig = CRsfwConfig::NewL(KCRUidRsfwCtrl);  
-    
-	// Make cache root directory
-   	PrepareCacheRootL();
-   	// Load configuration
-   	// Create volume table
-   	iVolumes = CRsfwVolumeTable::NewL(this, iEnvp->iRsfwConfig);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::ThreadFunction
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwRfeServer::ThreadFunction(TAny* /*aNone*/)
-    {
-    CTrapCleanup* cleanupStack = CTrapCleanup::New();
-    if (!cleanupStack)
-        {
-        PanicServer(ECreateTrapCleanup);
-        }
-
-//  __UHEAP_MARK;
-    TRAPD(err, ThreadFunctionL());
-//  __UHEAP_MARKENDC(0);
-    if (err != KErrNone)
-        {
-        PanicServer(ESrvCreateServer);
-        }
-
-    delete cleanupStack;
-    cleanupStack = NULL;
-
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::IncrementSessions
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::IncrementSessions()
-    {
-    StopDelayedShutdownTimer();
-    iSessionCount++;
-    DEBUGSTRING(("+session count = %d", iSessionCount));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::DecrementSessions
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::DecrementSessions()
-    {
-    iSessionCount--;
-    // this debug output crashes the server for some reason
-//    DEBUGSTRING(("-session count = %d", iSessionCount));
-    // Note that the event causing server to shut down
-    // is not session count going to zero, as 
-    // there are "permanent" session(s) from the File Server plugin.
-    // (they would be closed when remote drives are unmounted, which never happens)
-    // Instead, server shutdown is triggered by last connected volume
-    // going to disconnect state, or inactivity timeout expires and
-    // there are no open files.
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::AllEnginesIdling
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::AllEnginesIdling(TInt aTimeout)
-    {
-    if (!iShuttingDown)
-        {
-        DEBUGSTRING(("starting to shut down after %d seconds", aTimeout));
-        if (aTimeout)
-            {
-            StartDelayedShutdownTimer(aTimeout);
-            }
-        else
-            {
-            ShutDown();
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::ServiceRequested
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::ServiceRequested()
-    {
-    StopDelayedShutdownTimer();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwRfeServer::RunError(TInt aError)
-    {
-    if (aError == KErrBadDescriptor)
-        {
-        // A bad descriptor error implies a badly programmed client,
-        // so panic it;
-        // otherwise report the error to the client
-        PanicClient(Message(), EBadDescriptor);
-        }
-    else
-        {
-        Message().Complete(aError);
-        }
-
-    // The leave will result in an early return from CServer::RunL(), skipping
-    // the call to request another message. So do that now in order to keep the
-    // server running.
-    ReStart();
-
-    return KErrNone;    // handled the error fully
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::CustomFailureActionL
-// ----------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CRsfwRfeServer::CustomFailureActionL(const RMessage2& aMsg, 
-                                                   TInt /* aAction */, 
-                                                   const TSecurityInfo& /*aMissing */)
-    {
-    TCustomResult result = EFail;
-    TSecureId secId = aMsg.SecureId();
-    if (secId = KFileServerSecureUid) 
-        {
-        result = EPass;
-        }
-    return result;
-    }
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::PanicClient
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::PanicClient(const RMessage2& aMessage, TRfePanic aPanic)
-    {
-    aMessage.Panic(KRfeServer, aPanic);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::PanicServer
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::PanicServer(TRfePanic aPanic)
-    {
-    User::Panic(KRfeServer, aPanic);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::ThreadFunctionL
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::ThreadFunctionL()
-    {
-
-    // Construct active scheduler
-    CActiveScheduler* activeScheduler = new (ELeave) CActiveScheduler;
-    CleanupStack::PushL(activeScheduler);
-
-    // Install active scheduler.
-    // We don't need to check whether an active scheduler is already installed
-    // as this is a new thread, so there won't be one
-    CActiveScheduler::Install(activeScheduler);
-
-    // Change the name of the thread, so it is easier to recognize
-    User::RenameThread(KRfeMain);
-    // Construct our server
-    CRsfwRfeServer::NewLC();    // anonymous
-
-    RSemaphore semaphore;
-    TInt err;
-    err = semaphore.OpenGlobal(KRfeSemaphoreName);
-    if (err == KErrNotFound)
-        {
-        err = semaphore.CreateGlobal(KRfeSemaphoreName, 0);
-        }
-    User::LeaveIfError(err);
-
-    // Semaphore opened ok
-    semaphore.Signal();
-    semaphore.Close();
-
-#ifdef _DEBUG
-    {
-    TInt8* p = (TInt8*)User::Alloc(1);
-    DEBUGSTRING(("Test alloc addr=0x%x", p));
-    delete p;
-    DEBUGSTRING(("Enter alloc count=%d", User::CountAllocCells()));
-    TInt b;
-    TInt a = User::Available(b);
-    DEBUGSTRING(("Enter alloc avail=%d, biggest=%d", a, b));
-    }
-#endif
-
-    // Start handling requests
-    CActiveScheduler::Start();
-#ifdef _DEBUG
-    {
-    DEBUGSTRING(("Exit alloc count=%d", User::CountAllocCells()));
-    TInt b;
-    TInt a = User::Available(b);
-    DEBUGSTRING(("Exit alloc avail=%d, biggest=%d", a, b));
-    }
-#endif
-    CleanupStack::PopAndDestroy(2, activeScheduler);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::NewSessionL
-// ----------------------------------------------------------------------------
-//     
-CSession2* CRsfwRfeServer::NewSessionL(const TVersion &aVersion,
-                                   const RMessage2&) const
-    {
-    // Check we're the right version
-    if (!User::QueryVersionSupported(TVersion(KRfeMajorVersionNumber,
-                                              KRfeMinorVersionNumber,
-                                              KRfeBuildVersionNumber),
-                                     aVersion))
-        {
-        User::Leave(KErrNotSupported);
-        }
-    // Make new session
-    return CRsfwRfeSession::NewL(*const_cast<CRsfwRfeServer*> (this));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::PrepareCacheRootL
-// Get the cache path and create the directory if it does not exist
-// ----------------------------------------------------------------------------
-//   
-void CRsfwRfeServer::PrepareCacheRootL()
-    {
-    TInt err;
-    err = iEnvp->iRsfwConfig->Get(RsfwConfigKeys::KCacheDirectoryPath,
-                                  iEnvp->iCacheRoot);
-    if (err == KErrNone)
-        {
-        TBuf<KMaxRsfwConfItemLength> driveString;
-        if ((iEnvp->iCacheRoot.Length() < 2) || (iEnvp->iCacheRoot[1] != ':'))
-            {
-            err = iEnvp->iRsfwConfig->Get(RsfwConfigKeys::KRsfwDefaultDrive,
-                                          driveString);
-            if (err != KErrNone)
-                {
-                driveString.Copy(KRSFWDefaultDrive);
-                }
-            }
-        if (driveString.Length() < 2)
-            {
-            driveString.Append(':');
-            }
-        iEnvp->iCacheRoot.Insert(0, driveString);
-        }
-    else
-        {
-        HBufC* defaultcacheRoot = HBufC::NewL(KMaxPath);
-        TPtr defaultCache(defaultcacheRoot->Des());
-        defaultCache.Append(KRSFWDefaultDrive);
-        defaultCache.Append(KCacheRootDefault);
-        iEnvp->iCacheRoot.Copy(defaultCache);
-        delete defaultcacheRoot;
-        }
-    RFs& fs = iEnvp->iFs;
-    TUint att;
-    TChar cacheDriveChar = iEnvp->iCacheRoot[0];
-    User::LeaveIfError(fs.CharToDrive(cacheDriveChar, iEnvp->iCacheDrive));
-    err = fs.Att(iEnvp->iCacheRoot, att);
-    if (err != KErrNone)
-        {
-        // There was no prior cache root
-        err = fs.MkDirAll(iEnvp->iCacheRoot);
-        DEBUGSTRING(("Cache root creation failed with err=%d", err));
-        User::LeaveIfError(err);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::ShutDown
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::ShutDown()
-    {
-    DEBUGSTRING(("shutting down"));
-    iShuttingDown = ETrue;
-    CActiveScheduler::Stop();
-    delete iVolumes;
-    iVolumes = NULL;
-    delete iEnvp->iRsfwConfig;
-    iEnvp->iRsfwConfig = NULL;
-    iEnvp->iFs.Close();
-    delete iDelayedShutdownTimer;
-    iDelayedShutdownTimer = NULL;
-    // REComSession::FinalClose must be called when everything else
-    // related to ECom use has been deleted
-    REComSession::FinalClose(); 
-    DEBUGSTRING(("shut down"));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::StartDelayedShutdownTimer
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::StartDelayedShutdownTimer(TInt aTimeout)
-    {
-    if (!iShuttingDown)
-        {
-        iDelayedShutdownTimer->Cancel();
-        DEBUGSTRING(("shutting down in %d seconds",
-                     aTimeout));
-        TCallBack callBack(CRsfwRfeServer::DelayedShutdownTimerExpired, this);
-        iDelayedShutdownTimer->Start(aTimeout * 1000000,
-                                     aTimeout * 1000000,
-                                     callBack);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::StopDelayedShutdownTimer
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeServer::StopDelayedShutdownTimer()
-    {
-    if (iDelayedShutdownTimer)
-        {
-        iDelayedShutdownTimer->Cancel();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeServer::DelayedShutdownTimerExpired
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwRfeServer::DelayedShutdownTimerExpired(TAny* aArg)
-    {   
-    CRsfwRfeServer* rfeServer = static_cast<CRsfwRfeServer*>(aArg);
-    rfeServer->ShutDown();
-    return 0;
-    }
-
-// ----------------------------------------------------------------------------
-// E32Main
-// ----------------------------------------------------------------------------
-//
-TInt E32Main()
-    {
-    return CRsfwRfeServer::ThreadFunction(NULL);
-    }
-
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwrfesession.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,297 +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:  Remote File Engine session manager
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32cons.h>
-#include <e32std.h>
-#include <e32svr.h>
-#include <e32std.h>
-#include <f32file.h>
-
-#include "rsfwcommon.h"
-#include "rsfwinterface.h"
-#include "rsfwrfesession.h"
-#include "rsfwremoteaccess.h"
-#include "mdebug.h"
-#include "rsfwrfeserver.h"
-#include "rsfwrfemessagerequest.h"
-#include "rsfwrequestallocator.h"
-#include "rsfwrfeoperation.h"
-#include "rsfwrfesyncoperation.h"
-#include "rsfwrfeasyncoperation.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::NewL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeSession* CRsfwRfeSession::NewL(CRsfwRfeServer& aServer)
-    {
-    CRsfwRfeSession* self = CRsfwRfeSession::NewLC(aServer);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::NewLC
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeSession* CRsfwRfeSession::NewLC(CRsfwRfeServer& aServer)
-    {
-    // the following debug print crashes easily with USER 24:
- //   DEBUGSTRING(("CRsfwRfeSession::NewLC"));
-    CRsfwRfeSession* self;
-    self = new (ELeave) CRsfwRfeSession(aServer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::CRsfwRfeSession
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeSession::CRsfwRfeSession(CRsfwRfeServer& aServer) :
-    CSession2(),
-    iRfeServer(aServer)
-    {
-    // Implementation not required
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeSession::ConstructL()
-    {
-    iVolumes = iRfeServer.iVolumes;
-    iRfeServer.IncrementSessions();
-    
-    for (int i = 0; i < KDefaultMessageSlots; i++ ) 
-        {
-        iMessageRequests[i] = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::~CRsfwRfeSession
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeSession::~CRsfwRfeSession()
-    {
-    // When the sessions are shared we don't know which
-    // volumes can be freed at session shutdown 
-    iRfeServer.DecrementSessions();
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::DisconnectL
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeSession::Disconnect(const RMessage2& aMessage)
-    {
-    // in all messages pending completion for this session
-    // mark the session as NULL so that we do not try to complete them later
-    for (int i = 0 ; i <KDefaultMessageSlots ; i++)
-        {
-        CRsfwRfeMessageRequest* mesrequest = iMessageRequests[i];
-    
-        if (mesrequest)
-            {
-            mesrequest->SetSession(NULL);
-            }
-       
-        }
-    CSession2::Disconnect(aMessage);   
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::ServiceL
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeSession::ServiceL(const RMessage2& aMessage)
-    {  
-    DEBUGSTRING16(("CRsfwRfeSession::ServiceL(), function %d", aMessage.Function()));
- 
-    iRfeServer.ServiceRequested();
-   
-    if(aMessage.Function() >= EMaxRfeOperations)
-        {
-        aMessage.Complete(KErrNotSupported);
-        return;
-        }
-        
-    CRsfwRfeMessageRequest* pR = NULL;
-    pR=RsfwRequestAllocator::GetMessageRequest(aMessage, this);
-    if (!pR)
-        {
-        aMessage.Complete(KErrNoMemory);
-        return;
-        }
-        
-    SetToMessageRequestArray(pR);
-    
-    // if volume was not found and this was a file system request
-    // (not a mounting request), we have completed now with
-    // KErrNotReady
-    if (pR->iMessageCompleted) 
-        {
-        delete pR;
-        return;
-        }
-    
-    CRsfwRfeOperation* pO = NULL;
-    pO = GetOperation(pR, aMessage.Function());
-    if(!pO)
-        { 
-        delete pR;
-        aMessage.Complete(KErrNoMemory);
-        return;
-        }
-        
-    // Request will take ownership of the operation
-    pR->SetOperation(pO);   
-        
-    pR->Dispatch();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::SetToMessageRequestArray
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeSession::SetToMessageRequestArray(CRsfwRfeMessageRequest* aMessageRequest)
-    {  
-    // set message request to the message request array
-    for (int i = 0; i < KDefaultMessageSlots; i++) 
-        {
-        if (iMessageRequests[i] == NULL) 
-            {
-            // completely unused slot
-            iMessageRequests[i] = aMessageRequest;
-            break;
-            }
-        }
-    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::RemoveFromMessageRequestArray
-// call by request prior to self-destruction
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeSession::RemoveFromMessageRequestArray(CRsfwRfeMessageRequest* aMessageRequest)
-    {  
-    // set message request to the message request array
-    for (int i = 0; i < KDefaultMessageSlots; i++) 
-        {
-        if (iMessageRequests[i] == aMessageRequest) 
-            {
-            iMessageRequests[i] = NULL;
-            }
-        }
-    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::Volume
-// ----------------------------------------------------------------------------
-//
-CRsfwVolumeTable* CRsfwRfeSession::Volume() 
-    {
-    return iVolumes;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::Server
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeServer* CRsfwRfeSession::Server() 
-    {
-    return &iRfeServer;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::GetOperation
-// Sets operations to be synchronous or asynhronous
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeOperation* CRsfwRfeSession::GetOperation(CRsfwRfeRequest* aRequest, TInt aOpCode)
-    {
-    CRsfwRfeOperation* pO = NULL;
-    switch (aOpCode)
-        {
-    case EDismountByVolumeId:
-    case EDismountByDriveLetter:
-    case EGetMountList:
-    case EGetMountInfo:
-    case EFsRoot:
-    case EOkToWrite:
-    case ESetAttr:
-    case EFsIoctl:
-    case EDirRefresh:
-    case ECancelAll:
-        pO = RsfwRequestAllocator::GetSyncOperation(aRequest, aOpCode);
-        break;
-
-    case EMount:
-    case EMountByDriveLetter:
-    case ESetMountConnectionState:
-    case ERenameReplace:        
-    case EOpenByPath:
-    case EFetch:
-    case EFetchData:
-    case ELookUp:
-    case EGetAttr:
-    case EMkDir:
-    case ERemoveDir:
-    case ERemove:
-    case ECreateFile:
-    case EClose:
-    case EFlush:
-        pO = RsfwRequestAllocator::GetAsyncOperation(aRequest, aOpCode);
-        break;
-
-    default:
-       __ASSERT_DEBUG(FALSE, User::Panic(KRfeServer, EUndefinedRequest));
-        // if this happens even in release build
-        // pO will stay NULL and the request is completed with KErrNoMemory...
-        }
-   
-    return pO; 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSession::PanicClient
-// ----------------------------------------------------------------------------
-//
-#ifdef NONSHARABLE_SESSION
-void CRsfwRfeSession::PanicClient(TInt aPanic) const
-    {
-    // Note: this panics the client thread, not server
-    Panic(KRfeServer, aPanic);
-    }
-#endif
-
-// End of File
--- a/remotestoragefw/remotefileengine/src/rsfwrfestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Base class for all operation state machines
-*
-*/
-
-
-#include "mdebug.h"
-#include "rsfwrfestatemachine.h"
-#include "rsfwinterface.h"
-#include "rsfwfiletable.h"
-#include "rsfwrferequest.h"
-#include "rsfwfileengine.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::BaseConstructL
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::BaseConstructL()
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::BaseConstructL"));
-    iCompleteAndDestroyState =
-        new (ELeave) CRsfwRfeStateMachine::TCompleteAndDestroyState(this);   
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::~CRsfwRfeStateMachine
-// Note that normally when we come here iState = iCompleteAndDestroyState,
-// only delete once
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::~CRsfwRfeStateMachine()
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::~CRsfwRfeStateMachine"));
-    if (CurrentState() == CompleteAndDestroyState()) 
-        {
-        delete iState;
-        }
-    else 
-        {
-        delete iState;
-        delete iCompleteAndDestroyState;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::ErrorOnStateEntry
-// Entering the current state failed, so loop in EnterState() will replace 
-// it by CompleteAndDestroy state as we return that state.
-// Deleting the current state happens in EnterState()
-// The state machine logic does not do that, as it allows us to eg resolve
-// the problem by fixing the current state. 
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwRfeStateMachine::ErrorOnStateEntry(TInt aError) 
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::ErrorOnStateEntry"));
-    iCompleteAndDestroyState->SetErrorCode(aError);
-    return iCompleteAndDestroyState;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::ChangeState
-// Enters aNextState, and makes it our current state.
-// Deletes the previous state
-// (assumes we never go backwards in the state machine)
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::ChangeState(CRsfwRfeStateMachine::TState* aNextState)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::ChangeState"));
-    if (iState && (iState != aNextState) )
-        {
-        delete iState;
-        iState = NULL;
-        }
-    EnterState(aNextState);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::EnterState
-// Enters aNextState, and makes it our current state.
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::EnterState(CRsfwRfeStateMachine::TState* aNextState)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::EnterState"));
-    TInt err;
-    while (aNextState) 
-        {// State change required.
-        iState = aNextState;
-        TRAP(err, iState->EnterL());
-        if (err)
-            {
-            aNextState = ErrorOnStateEntry(err);
-            delete iState;
-            iState = NULL;
-            }
-        else
-            {
-            aNextState = NULL;
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::SetNextState
-// Sets the current state, but doesn't actually enter it.
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::SetNextState(TState* aNextState)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::SetNextState"));
-    iState = aNextState;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::ReEnterCurrentState
-// Re-enters the state we're currently in.
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::ReEnterCurrentState()  
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::ReEnterCurrentState"));
-    EnterState(iState);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::SetRequest
-// Sets the backpointer to our request
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::SetRequest(CRsfwRfeRequest* aRequest)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::SetRequest"));
-    iRFeRequest = aRequest;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::Request 
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeRequest* CRsfwRfeStateMachine::Request()
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::Request"));
-    return iRFeRequest;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::SetVolumes
-// ----------------------------------------------------------------------------
-//    
-void CRsfwRfeStateMachine::SetVolumes(CRsfwVolumeTable* aImplementor)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::SetVolumes"));
-    iImplementor = aImplementor;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::SetFileEngine
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::SetFileEngine(CRsfwFileEngine* aFileEngine) 
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::SetFileEngine"));
-    iFileEngine = aFileEngine;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::SetArguments
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::SetArguments(TRfeInArgs* aInArgs, TRfeOutArgs* aOutArgs)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::SetArguments"));
-    iInArgs = aInArgs;
-    iOutArgs = aOutArgs;
-    
-    // Set the target node for this operation.
-    if (iInArgs && iFileEngine) 
-        {
-        TFid* fidp = &(iInArgs->iFid);
-        iFep = iFileEngine->iFileTable->Lookup(*fidp);  
-        }
-    else 
-        {
-        iFep = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::Volumes
-// ----------------------------------------------------------------------------
-//    
-CRsfwVolumeTable* CRsfwRfeStateMachine::Volumes()
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::Volumes"));
-    return iImplementor;
-    }
-  
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::FileEngine
-// ----------------------------------------------------------------------------
-//    
-CRsfwFileEngine* CRsfwRfeStateMachine::FileEngine()
-    {
-    return iFileEngine;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::Node
-// ----------------------------------------------------------------------------
-//
-CRsfwFileEntry* CRsfwRfeStateMachine::Node() 
-    {
-    return iFep;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::ErrorOnStateExit
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwRfeStateMachine::ErrorOnStateExit(TInt aError) 
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::ErrorOnStateExit %d", aError));
-    iCompleteAndDestroyState->SetErrorCode(aError);
-    return iCompleteAndDestroyState;
-    }
-        
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::HandleRemoteAccessResponse
-// ----------------------------------------------------------------------------
-//    
-void CRsfwRfeStateMachine::HandleRemoteAccessResponse(TUint /*aId*/, TInt aStatus)
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::HandleRemoteAccessResponse"));
-    TState* nextState = NULL;
-    TRAPD(err, nextState = aStatus ? iState->ErrorL(aStatus)
-          : iState->CompleteL());
-    if (err)
-        {
-        nextState = ErrorOnStateExit(err);
-        }
-    ChangeState(nextState);
-    }
-
-// empty defaults for CRsfwRfeStateMachine::TState functions CompleteL(), ErrorL() and Cancel()
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::TState::CompleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwRfeStateMachine::TState::CompleteL()
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::TState::CompleteL"));
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::TState::ErrorL
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwRfeStateMachine::TState::ErrorL(TInt /*aCode*/) 
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::TState::ErrorL"));
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::TState::Cancel
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::TState::Cancel() 
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::TState::Cancel"));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::TCompleteAndDestroyState::TCompleteAndDestroyState
-// Completes the remote request with error code aErrCode and
-//  destroys it (CRsfwRfeRequest) 
-// as well as the classes pointed to by it, that it the instances of 
-// CRsfwRfeAsyncOperation, CRsfwRfeStateMachine and CRsfwRfeStateMachine::TState classes.
-//
-// In RemoteFS requests error code is 0,
-// as the error is returned in iOutArgs->iResult
-// For RemoteEngine API requests aErrCode should have the error code
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::
-TCompleteAndDestroyState::TCompleteAndDestroyState(CRsfwRfeStateMachine* aParent,
-                                                   TInt aErrCode)
-    : iOperation(aParent), iErrCode(aErrCode)
-    {
-    DEBUGSTRING(("TCompleteAndDestroyState::TCompleteAndDestroyState"));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::TCompleteAndDestroyState::EnterL
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::TCompleteAndDestroyState::EnterL()
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::TCompleteAndDestroyState::EnterL"));
-    iOperation->Request()->CompleteAndDestroy(iErrCode);   
-    // nothing can be called here as we have been deallocated!!!    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeStateMachine::TCompleteAndDestroyState::SetErrorCode
-// ----------------------------------------------------------------------------
-//
-void CRsfwRfeStateMachine::TCompleteAndDestroyState::SetErrorCode(TInt aErrorCode) 
-    {
-    DEBUGSTRING(("CRsfwRfeStateMachine::TCompleteAndDestroyState::SetErrorCode"));
-    iErrCode = aErrorCode;
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwrfesyncoperation.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Encapsulates synchronous operation
-*
-*/
-
-
-#include "rsfwrfesyncoperation.h"
-#include "rsfwsyncoperations.h"
-#include "rsfwvolume.h"
-#include "rsfwcommon.h"
-#include "rsfwrfeserver.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSyncOperation::DoRequestL
-// ----------------------------------------------------------------------------
-//  
-void CRsfwRfeSyncOperation::DoRequestL(CRsfwRfeRequest* aRequest) 
-    {
-    __ASSERT_ALWAYS(iDoRequestL, User::Panic(KRfeServer, ENullRequestHandler));
-    (*iDoRequestL)(aRequest);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwRfeSyncOperation::Set
-// ----------------------------------------------------------------------------
-//  
-void CRsfwRfeSyncOperation::Set(CRsfwRfeRequest* aRequest, TInt aOpCode) 
-    {
-    if (aRequest->iVolume) 
-        {
-        DEBUGSTRING(("<<< Dispatch enter (volume=%d)",
-                     aRequest->iVolume->iMountInfo.iMountStatus.iVolumeId)); 
-        }
-    else 
-        {
-        DEBUGSTRING(("<<< Dispatch enter"));  
-        }
-          
-    switch (aOpCode)
-        {
-    case EDismountByVolumeId:
-        DEBUGSTRING(("DISMOUNTBYVOLUMEID (operation %d)", aOpCode));
-        iDoRequestL = &TRFeDismountVolumeId::DoRequestL;
-        break;
-
-    case EDismountByDriveLetter:
-        DEBUGSTRING(("DISMOUNTBYDRIVELETTER (operation %d)", aOpCode));
-        iDoRequestL = &TRFeDismountByDriveLetter::DoRequestL;
-        break;
-
-    case EGetMountList:
-        DEBUGSTRING(("GETMOUNTLIST (operation %d)", aOpCode));
-        iDoRequestL = &TRFeGetMountList::DoRequestL;
-        break;
-
-    case EGetMountInfo:
-        DEBUGSTRING(("GETMOUNTINFO (operation %d)", aOpCode));
-        iDoRequestL = &TRFeGetMountInfo::DoRequestL;
-        break;
-
-    case EFsRoot:
-    case ESetAttr:
-    case EFsIoctl:
-        DEBUGSTRING(("ROOT (operation %d)", aOpCode));
-        iDoRequestL = &TRFeSynCRsfwRfeRequest::DoRequestL;
-        break;
-
-    case EOkToWrite:
-        DEBUGSTRING(("WRITEDATA (operation %d)", aOpCode));
-        iDoRequestL = &TRFeWriteData::DoRequestL;
-        break;
-   case EDirRefresh:
-        DEBUGSTRING(("REFRESHDIR (operation %d)", aOpCode));
-        iDoRequestL = &TRFeDirectoryRefresh::DoRequestL;
-        break;
-   case ECancelAll:
-        DEBUGSTRING(("CANCEL TRANSFER (operation %d)", aOpCode));
-        iDoRequestL = &TRFeCancelAll::DoRequestL;
-        break;     
-        }   
-
-    iIsSync = ETrue;
-    CRsfwRfeOperation::Set(aOpCode); 
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwsession.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,946 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Client side of Remote Storage FW API access functions.
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwsession.h"
-#include "rsfwinterface.h"
-
-#ifdef __WINS__
-#include <e32math.h>
-#endif
-
-// CONSTANTS
-
-// Number of message slots to reserve for this client server session.
-// Since we only communicate synchronously here, we never have any
-// outstanding asynchronous requests.
-const TUint KDefaultMessageSlots = 4;
-
-#ifdef __WINS__
-const TUint KServerMinHeapSize =   0x1000;  //  4K
-const TUint KServerMaxHeapSize = 0x100000;  // 64K
-#endif
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::RRsfwSession
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C RRsfwSession::RRsfwSession() : RSessionBase()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::Connect
-// Connects to the framework by starting the server if neccessary and creating
-// a session.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::Connect()
-    {
-    const TInt KTryCount = 3;
-    
-    TInt err;
-    TBool retry;
-    TInt i = KTryCount;
-    do
-        {
-        err = StartServer(KRfeServerName);
-        if (err == KErrNone)
-            {
-            err = CreateSession(KRfeServerName,
-                                Version(),
-                                KDefaultMessageSlots);
-            }
-        retry = ((err == KErrNotFound) || (err == KErrServerTerminated));
-        } while (retry && (++i <= KTryCount));
-
-    return err;
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::Close
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RRsfwSession::Close()
-    {
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::Version
-// Returns the version of Remote File Engine
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TVersion RRsfwSession::Version() const
-    {
-    return(TVersion(KRfeMajorVersionNumber,
-                    KRfeMinorVersionNumber,
-                    KRfeBuildVersionNumber));
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::MoveFids
-// Sends the rename operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::MoveFids(
-    TFid aSourceFid,
-    const TDesC& aSourceName,
-    TFid aDestFid,
-    const TDesC& aDestName,
-    TBool aOverWrite) 
-    {
-
-    TRfeRenameInArgs* renameArgs = new TRfeRenameInArgs();
-    if (!renameArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    //  TRfeRenameInArgs* writePtr = static_cast<TRfeRenameInArgs*>(iWritePtr);
-    renameArgs->iOpCode = ERenameReplace;
-
-    renameArgs->iFid = aSourceFid;
-    renameArgs->iSrcName.Copy(aSourceName); 
-    renameArgs->iDstFid = aDestFid;
-    renameArgs->iDstName.Copy(aDestName);
-    renameArgs->iOverWrite = aOverWrite;
-       
-    TPckg<TRfeRenameInArgs> pckgInArgs(*renameArgs);
-    
-    TInt result = SendRequest(ERenameReplace, aSourceFid.iVolumeId, 
-                              TIpcArgs(&pckgInArgs));
-    delete renameArgs;
-    return result;
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::SetEntry
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C TInt RRsfwSession::SetEntry(
-    const TFid aFid,
-    const TTime& aTime,
-    TUint aSetAttMask,
-    TUint aClearAttMask)
-    {  
-    TRfeSetAttrInArgs* setEntryArgs = new TRfeSetAttrInArgs();
-    if (!setEntryArgs) 
-        {
-        return KErrNoMemory;
-        }
-        
-    setEntryArgs->iOpCode = ESetAttr;
-    setEntryArgs->iFid = aFid;
-
-    // default: no change
-    setEntryArgs->iAttr.iAtt = 0; 
-    setEntryArgs->iMask.iAtt = 0; 
-
-    if (aSetAttMask & KEntryAttReadOnly)
-        {
-        // Set read-only
-        setEntryArgs->iAttr.iAtt |= KEntryAttReadOnly;
-        setEntryArgs->iMask.iAtt |= KEntryAttReadOnly;
-        }
-    if (aClearAttMask & KEntryAttReadOnly)
-        {
-        // Reset read-only
-        setEntryArgs->iMask.iAtt |= KEntryAttReadOnly;
-        }
-         
-    // Setting time
-    setEntryArgs->iAttr.iModified = aTime;
-
-    // Let's see - we will not want to do anything unless
-    // the attributes convey something significant.
-    TInt result = KErrNone;
-    if (setEntryArgs->iMask.iAtt)
-        {
-        TPckg<TRfeSetAttrInArgs> pckgInArgs(*setEntryArgs);
-        result = SendRequest(ESetAttr, aFid.iVolumeId, TIpcArgs(&pckgInArgs));
-        }       
-    delete setEntryArgs;   
-    return result;
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::FlushCache
-// Flushes the directory cache of a file or directory by putting the parameters
-// into the shared memory chunk and sending the request.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::FlushCache(
-    TFid& aFid)
-    {
-    TRfeIoctlInArgs* ioctlArgs = new TRfeIoctlInArgs();
-    if (!ioctlArgs) 
-        {
-        return KErrNoMemory;
-        }
-
-    ioctlArgs->iOpCode = EFsIoctl;
-    ioctlArgs->iFid = aFid;
-    ioctlArgs->iCmd = ERemoteFsIoctlRefresh;
-    ioctlArgs->iLen = 0;
-
-    TPckg<TRfeIoctlInArgs> pckgInArgs(*ioctlArgs);
-    TInt result = SendRequest(EFsIoctl, aFid.iVolumeId, TIpcArgs(&pckgInArgs));
-    delete ioctlArgs;
-    return result;
-    }
- 
-// ----------------------------------------------------------------------------
-// RRsfwSession::SetHighCachePriority
-// Sets higher cache priority for a file by putting the parameters
-// into the shared memory chunk and sending the request.
-// This feature is not supported currently.
-// Perhaps will be implemented in near future.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::SetHighCachePriority(TFid& /* aFid */)
-    {
-    return KErrNotSupported;
-    } 
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::GetAttributes
-// Sends GetAttr operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result. 
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::GetAttributes(
-    TFid aFileFid, 
-    TEntry& aAttributes)
-    {
-    TRfeGetAttrInArgs* getattrArgs = new TRfeGetAttrInArgs();
-    if (!getattrArgs) 
-        {
-        return KErrNoMemory;
-        }
-    TRfeGetAttrOutArgs* getattrOutArgs = new TRfeGetAttrOutArgs();
-    if (!getattrOutArgs) 
-        {
-        return KErrNoMemory;
-        }   
-        
-    getattrArgs->iOpCode = EGetAttr;
-    getattrArgs->iFid = aFileFid;
-    
-    TPckg<TRfeGetAttrInArgs> pckgInArgs(*getattrArgs);
-    TPckg<TRfeGetAttrOutArgs> pckgOutArgs(*getattrOutArgs);
-    
-    TInt result = SendRequest(EGetAttr, aFileFid.iVolumeId, 
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-    
-    if (result == KErrNone) 
-        {
-        // Note that aAttributes.iType (the entry UID)
-        // should only be set for a file whose
-        // size is greater than or equal to sizeof(TCheckedUid).
-        aAttributes.iAtt = getattrOutArgs->iAttr.iAtt;
-        aAttributes.iSize = getattrOutArgs->iAttr.iSize;
-        aAttributes.iModified = getattrOutArgs->iAttr.iModified;
-        aAttributes.iType = KNullUid;       
-        }
-
-    delete getattrArgs;
-    delete getattrOutArgs;
-    return result;
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::OpenByPathL
-// Sends OpenByPath operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result. 
-// Remote File Engine returns the path of the cache container file for this fid
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::OpenByPath(
-    TFid aFid,
-    TDes& aContainerPath,
-    TDirEntAttr* aAttributes,
-    TBool aTrueOpen)
-    {
-    TRfeOpenByPathInArgs* openbypathArgs = new TRfeOpenByPathInArgs();
-    if (!openbypathArgs) 
-        {
-        return KErrNoMemory;
-        }
-    TRfeOpenByPathOutArgs* openbypathOutArgs = new TRfeOpenByPathOutArgs();
-    if (!openbypathOutArgs) 
-        {
-        return KErrNoMemory;
-        }
-        
-    openbypathArgs->iOpCode = EOpenByPath;
-    openbypathArgs->iFid = aFid;
-
-    // Flag field is used to pass attributes,
-    // which indicate which lock should be obtained for the file
-    if (aAttributes)
-        {
-        openbypathArgs->iFlags = aAttributes->iAtt;
-        }
-    else
-        {
-        openbypathArgs->iFlags = 0;
-        }
-
-    // tells whether the file is really opened or do we need it because 
-    // ReadSection() was called... (in the latter case Symbian File Server 
-    // does not open the file...) */
-    openbypathArgs->iTrueOpen = aTrueOpen;
-    
-    TPckg<TRfeOpenByPathInArgs> pckgInArgs(*openbypathArgs);
-    TPckg<TRfeOpenByPathOutArgs> pckgOutArgs(*openbypathOutArgs);
-    
-    TInt result = SendRequest(EOpenByPath, aFid.iVolumeId, TIpcArgs(&pckgInArgs, &pckgOutArgs));
-    
-    if (result == KErrNone) 
-        {
-        if (aAttributes)
-            {
-            *aAttributes = openbypathOutArgs->iAttr;
-            }
-        // Processing the response
-        _LIT(KPathRedundancy, "\\.\\");
-        TInt j = openbypathOutArgs->iPath.Find(KPathRedundancy);
-        if (j != KErrNotFound)
-            {
-            TInt i = openbypathOutArgs->iPath.Length();
-            TInt k;
-            for (k = j; k + 2 < i; k++)
-                {
-                openbypathOutArgs->iPath[k] =
-                    openbypathOutArgs->iPath[k + 2];
-                }
-            openbypathOutArgs->iPath.SetLength(i - 2);
-            }
-    
-        const TInt maximumLength = aContainerPath.MaxLength();
-        if (maximumLength >= openbypathOutArgs->iPath.Length())
-            {
-            aContainerPath.Copy(openbypathOutArgs->iPath);
-            }
-        else
-            {
-            aContainerPath.Copy(
-                openbypathOutArgs->iPath.Left(maximumLength));
-            }
-        }
-    delete openbypathArgs;
-    delete openbypathOutArgs;
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::RfeInit
-// Gets the fid of the root of the mount for Remote File Engine by putting the 
-// parameters into the shared memory chunk, sending the request and reading 
-// the result.  
-// This allows us to get other fids by lookup(). 
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::RfeInit(TFid& aRootFid)
-    {
-    TRfeRootInArgs* rootArgs = new TRfeRootInArgs();
-    if (!rootArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    TRfeRootOutArgs* rootOutArgs = new TRfeRootOutArgs();
-    if (!rootOutArgs) 
-        {
-        return KErrNoMemory;
-        }
-        
-    rootArgs->iOpCode = EFsRoot;
-    rootArgs->iFid.iVolumeId = 0;
-    rootArgs->iFid.iNodeId = 0;
-    
-    TPckg<TRfeRootInArgs> pckgInArgs(*rootArgs);
-    TPckg<TRfeRootOutArgs> pckgOutArgs(*rootOutArgs);
-    
-    TInt result = SendRequest(EFsRoot, aRootFid.iVolumeId, 
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-   
-    if (result == KErrNone) 
-        {
-        aRootFid  = rootOutArgs->iFid;
-        }
- 
-    delete rootArgs;
-    delete rootOutArgs;
-    return result;    
-    }
-    
-// ----------------------------------------------------------------------------
-// RRsfwSession::MakeDirectoryL
-// Sends MkDir operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result. 
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::MakeDirectory(
-    TFid aParentFid, 
-    const TDesC& aDirName)
-    {
-    TRfeMkdirInArgs* mkdirArgs = new TRfeMkdirInArgs();
-    if (!mkdirArgs) 
-        {
-        return KErrNoMemory;
-        }   
-    
-    mkdirArgs->iOpCode = EMkDir;
-    mkdirArgs->iFid = aParentFid;
-
-    mkdirArgs->iEntry.iName.Copy(aDirName);
-    mkdirArgs->iEntry.iAttr.iAtt = 0; // not read only
-    
-    TPckg<TRfeMkdirInArgs> pckgInArgs(*mkdirArgs);
-    TInt result = SendRequest(EMkDir,
-                              aParentFid.iVolumeId,
-                              TIpcArgs(&pckgInArgs));
-    delete mkdirArgs;
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::RemoveDirectoryL
-// Sends Remove Directory operation to Remote File Engine by putting the 
-// parameters into the shared memory chunk, sending the request and reading 
-// the result. 
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::RemoveDirectory(
-    TFid aParentFid, 
-    const TDesC& aDirName)
-    {
-    TRfeRmdirInArgs* rmdirArgs = new TRfeRmdirInArgs();
-    if (!rmdirArgs) 
-        {
-        return KErrNoMemory;
-        }
-       
-    rmdirArgs->iOpCode = ERemoveDir;
-    rmdirArgs->iFid = aParentFid;
-
-    rmdirArgs->iName.Copy(aDirName);
-    
-    TPckg<TRfeRmdirInArgs> pckgInArgs(*rmdirArgs);
-    TInt result = SendRequest(ERemoveDir,
-                              aParentFid.iVolumeId,
-                              TIpcArgs(&pckgInArgs));
-    
-    delete rmdirArgs;
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::CreateFileL
-// Sends Create File operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::CreateFile(
-    TFid aParentFid,
-    const TDesC& aFileName,
-    TUint aMode,
-    TUint aExcl,
-    TFid& aNewFid)
-    {
-    TRfeCreateInArgs* createArgs = new TRfeCreateInArgs();
-    if (!createArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    TRfeCreateOutArgs* createOutArgs = new TRfeCreateOutArgs();
-    if (!createOutArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    createArgs->iOpCode = ECreateFile;
-    createArgs->iFid = aParentFid;
-
-    createArgs->iEntry.iName.Copy(aFileName);
-
-    if (aMode & EFileWrite)
-        {
-        createArgs->iEntry.iAttr.iAtt = 0;
-        }
-    else
-        {
-        createArgs->iEntry.iAttr.iAtt = KEntryAttReadOnly;
-        }
-    createArgs->iEntry.iAttr.iSize = 0;
-    createArgs->iEntry.iAttr.iModified = 0;
-
-    createArgs->iExcl = aExcl;
-
-    TPckg<TRfeCreateInArgs> pckgInArgs(*createArgs);
-    TPckg<TRfeCreateOutArgs> pckgOutArgs(*createOutArgs);
-    TInt result = SendRequest(ECreateFile,
-                              aParentFid.iVolumeId,
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-    
-    if (result == KErrNone) 
-        {
-        aNewFid = createOutArgs->iFid;
-        }
-        
-    delete createArgs;
-    delete createOutArgs;   
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::RemoveFileL
-// Sends Remove File operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::RemoveFile(
-    TFid aParentFid, 
-    const TDesC& aFileName)
-    {
-    TRfeRemoveInArgs* removeArgs = new TRfeRemoveInArgs();
-    if (!removeArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    removeArgs->iOpCode = ERemove;
-    removeArgs->iFid = aParentFid;
-
-    removeArgs->iName.Copy(aFileName);
-
-    TPckg<TRfeRemoveInArgs> pckgInArgs(*removeArgs);
-    TInt result = SendRequest(ERemove,
-                              aParentFid.iVolumeId,
-                              TIpcArgs(&pckgInArgs));
-    
-    delete removeArgs;
-    return result;
-    }
- 
-// ----------------------------------------------------------------------------
-// RRsfwSession::LookupL
-// Sends Lookup operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::Lookup(
-    TFid aParentFid, 
-    const TDesC& aName, 
-    TUint aNodeType,
-    TFid& aFid)
-    {
-    TBool directory = EFalse;
-
-    TPtrC peek;
-    peek.Set(aName.Right(1)); // the last char
-    if ((peek.Length() > 0) && (peek[0] == '\\'))
-        {
-        directory = ETrue;
-        }
-        
-    TRfeLookupInArgs* lookupArgs = new TRfeLookupInArgs();
-    if (!lookupArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    TRfeLookupOutArgs* lookupOutArgs = new TRfeLookupOutArgs();
-    if (!lookupOutArgs) 
-        {
-        return KErrNoMemory;
-        }   
-        
-    lookupArgs->iOpCode = ELookUp;
-    lookupArgs->iFid = aParentFid;
-    lookupArgs->iNodeType = aNodeType;
-
-    lookupArgs->iName.Copy(aName);
-
-    if (directory) 
-        {
-        // We don't want to copy the trailing backslash
-        TInt len = lookupArgs->iName.Length();
-        lookupArgs->iName.SetLength(len - 1);
-        }
-        
-    TPckg<TRfeLookupInArgs> pckgInArgs(*lookupArgs);
-    TPckg<TRfeLookupOutArgs> pckgOutArgs(*lookupOutArgs);
-    TInt result = SendRequest(ELookUp,
-                              aParentFid.iVolumeId,
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-    
-    if (result == KErrNone) 
-        {
-        aFid = lookupOutArgs->iFid;
-        }
-
-    if (result == KErrNotFound)
-        {
-        if (directory)
-            {
-            return KErrPathNotFound;
-            }
-        else
-            {
-            return KErrNotFound;
-            }
-        }
-        
-    delete lookupArgs;
-    delete lookupOutArgs;
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::CloseFile
-// Sends Close operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RRsfwSession::CloseFile(
-    const TFid aFid, 
-    const TUint aFlags)
-    {
-    // close cannot be called asynchronously in the file server API
-    // and cannot return an error code
-    // so we make a blind request to the server 
-    SendReceive(EClose, TIpcArgs(aFid.iVolumeId, aFid.iNodeId, aFlags));
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::FlushL
-// This "abuses" close operation code.
-// The file is not really closed by the File Server,
-// and Remote File Engine only writes the (changed) file back to the 
-// remote server, but does not release a possible write lock.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::Flush(
-    const TFid aFid,
-    TInt aFirstByte,
-    TInt aDataLength,
-    TInt aTotalSize)
-    {
-    TRfeFlushInArgs* flushArgs = new TRfeFlushInArgs();
-    if (!flushArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    flushArgs->iOpCode = EFlush;
-    flushArgs->iFid = aFid;
-    flushArgs->iFirstByte = aFirstByte;
-    flushArgs->iDataLength = aDataLength;
-    flushArgs->iTotalSize = aTotalSize; 
-            
-    TPckg<TRfeFlushInArgs> pckgInArgs(*flushArgs);
-    
-    TInt result = SendRequest(EFlush, aFid.iVolumeId, 
-                    TIpcArgs(&pckgInArgs));
-
-    delete flushArgs;
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::Fetch
-// Sends Fetch operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// Remote File Engine will write data into cache file, which path it knows by
-// the fid.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::Fetch(
-    TFid aFileFid, 
-    TInt aFirstByte, 
-    TInt aLastByte,
-    TInt& aCachedBytes)
-    {
-    TRfeFetchInArgs* fetchArgs = new TRfeFetchInArgs();
-    if (!fetchArgs) 
-        {
-        return KErrNoMemory;
-        }
-    TRfeFetchOutArgs* fetchOutArgs = new TRfeFetchOutArgs();
-    if (!fetchOutArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    fetchArgs->iOpCode = EFetch;
-    fetchArgs->iFid = aFileFid;
-    fetchArgs->iFirstByte = aFirstByte;
-    fetchArgs->iLastByte = aLastByte;
-    
-    TPckg<TRfeFetchInArgs> pckgInArgs(*fetchArgs);
-    TPckg<TRfeFetchOutArgs> pckgOutArgs(*fetchOutArgs);
-    TInt result = SendRequest(EFetch, aFileFid.iVolumeId, 
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-
-    if (result == KErrNone)
-        {
-        aCachedBytes = fetchOutArgs->iLastByte;
-        }
-   
-    delete fetchArgs;
-    delete fetchOutArgs;
-    return result;
-    } 
- 
-// ----------------------------------------------------------------------------
-// RRsfwSession::FetchData
-// Sends Fetch operation to Remote File Engine by putting the parameters
-// into the shared memory chunk, sending the request and reading the result.
-// Remote File Engine will write data into a temporary cache file,
-// valid only for the duration of this request.
-// Note that in this case Remote File Engine will read exactly the requested
-// amount, so aLastByte is not reset.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::FetchData(
-    TFid aFileFid, 
-    TInt aFirstByte, 
-    TInt aLastByte,
-    TDes& aTempFileName,
-    TBool& aUseTempPath)
-    {
-    TRfeFetchDataInArgs* fetchDataArgs = new TRfeFetchDataInArgs();
-    if (!fetchDataArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    TRfeFetchDataOutArgs* fetchDataOutArgs = new TRfeFetchDataOutArgs();
-    if (!fetchDataOutArgs) 
-        {
-        return KErrNoMemory;
-        }
-
-    fetchDataArgs->iOpCode = EFetchData;
-    fetchDataArgs->iFid = aFileFid;
-    fetchDataArgs->iFirstByte = aFirstByte;
-    fetchDataArgs->iLastByte = aLastByte;
-    
-    TPckg<TRfeFetchDataInArgs> pckgInArgs(*fetchDataArgs);
-    TPckg<TRfeFetchDataOutArgs> pckgOutArgs(*fetchDataOutArgs);
-    TInt result = SendRequest(EFetchData, aFileFid.iVolumeId, 
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-    
-    if (result == KErrNone) 
-        {
-        // Processing the response
-        _LIT(KPathRedundancy, "\\.\\");
-        TInt j = fetchDataOutArgs->iTempPath.Find(KPathRedundancy);
-        if (j != KErrNotFound)
-            {
-            TInt i = fetchDataOutArgs->iTempPath.Length();
-            TInt k;
-            for (k = j; k + 2 < i; k++)
-                {
-                fetchDataOutArgs->iTempPath[k] =
-                    fetchDataOutArgs->iTempPath[k + 2];
-                }
-            fetchDataOutArgs->iTempPath.SetLength(i - 2);
-            }
-    
-        const TInt maximumLength = aTempFileName.MaxLength();
-        if (maximumLength >= fetchDataOutArgs->iTempPath.Length())
-            {
-            aTempFileName.Copy(fetchDataOutArgs->iTempPath);
-            }
-        else
-            {
-            aTempFileName.Copy(
-                fetchDataOutArgs->iTempPath.Left(maximumLength));
-            }
-        aUseTempPath = fetchDataOutArgs->iUseTempPath;
-        }
-    delete fetchDataArgs;
-    delete fetchDataOutArgs;
-    return result;
-    } 
- 
-// ----------------------------------------------------------------------------
-// RRsfwSession::OkToWriteL
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRsfwSession::OkToWrite(
-    TFid aFid, 
-    TUint aBytes,
-    TBool& aOkToWrite)
-    {
-    TRfeWriteDataInArgs* writedataArgs = new TRfeWriteDataInArgs();
-    if (!writedataArgs) 
-        {
-        return KErrNoMemory;
-        }
-    
-    TRfeWriteDataOutArgs* writedataOutArgs = new TRfeWriteDataOutArgs();
-    if (!writedataOutArgs) 
-        {
-        return KErrNoMemory;
-        }   
-        
-    writedataArgs->iOpCode = EOkToWrite;
-    writedataArgs->iFid = aFid;
-    writedataArgs->iBytes = aBytes;
-    
-    TPckg<TRfeWriteDataInArgs> pckgInArgs(*writedataArgs);
-    TPckg<TRfeWriteDataOutArgs> pckgOutArgs(*writedataOutArgs);
-    TInt result = SendRequest(EOkToWrite, aFid.iVolumeId, 
-                              TIpcArgs(&pckgInArgs, &pckgOutArgs));
-    
-    if (result == KErrNone) 
-        {
-        aOkToWrite = writedataOutArgs->iOkToWrite;
-        }
-    
-    delete writedataArgs;
-    delete writedataOutArgs;
-    return result;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::StartServer
-// Starts the Remote File Engine if it is not running, uses semaphore to 
-// synchronize startup.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-TInt RRsfwSession::StartServer(const TDesC& aServerName)
-    {
-    TFindServer findRfe(aServerName);
-    TFullName name;
-
-    TInt result = findRfe.Next(name);
-    if (result == KErrNone)
-        {
-        // Server already running
-        return KErrNone;
-        }
-
-    RSemaphore semaphore;       
-    result = semaphore.CreateGlobal(KRfeSemaphoreName, 0);
-    if (result != KErrNone)
-        {
-        return  result;
-        }
-
-    result = CreateServerProcess(aServerName);
-    if (result != KErrNone)
-        {
-        semaphore.Close();  
-        return  result;
-        }
-    semaphore.Wait();
-    semaphore.Close();       
-
-    return  KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::CreateServerProcess
-// Starts the Remote File Engine using name to find the binary
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-TInt RRsfwSession::CreateServerProcess(const TDesC& aServerName)
-    {
-    // Just load anything that matches with the name
-    const TUidType serverUid(KNullUid, KNullUid, KNullUid);
-
-    RProcess server;
-
-    _LIT(KStartCommand, "");
-    TInt result = server.Create(aServerName, KStartCommand, serverUid);
-    if (result != KErrNone)
-        {
-        return  result;
-        }
-    server.Resume();
-    server.Close();
-
-    return  KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// RRsfwSession::SendRequest
-// ----------------------------------------------------------------------------
-//    
-TInt RRsfwSession::SendRequest(TInt aOpCode, TInt aDrive, TIpcArgs aArgs) 
-    {
-    TInt result = SendReceive(aOpCode, aArgs);
-    if (result == KErrServerTerminated)
-        {
-        // try to restart the server
-        result = Connect();
-        if (result == KErrNone) 
-            {
-            result = SendReceive(aOpCode, aArgs);
-            }   
-        }
-
-    // Disable following codes will fix auto connection of rsfw
-    /*
-    if (result == KErrNotReady) 
-        {
-        // try to restore the mount
-        result = SendReceive(EMountByDriveLetter, TIpcArgs(aDrive));
-        if (result == KErrNone) 
-            {
-            result = SendReceive(aOpCode, aArgs);
-            }   
-        }
-    */
-    
-    return result;
-    }
-
-//  End of File 
--- a/remotestoragefw/remotefileengine/src/rsfwsyncoperations.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Encapsulated all sync operations
-*
-*/
-
-
-#include "rsfwsyncoperations.h"
-#include "rsfwrfemessagerequest.h"
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwfileengine.h"
-#include "rsfwfiletable.h"
-#include "rsfwfileentry.h"
-#include "rsfwrfesession.h"
-#include "rsfwinterface.h"
-#include "rsfwcontrol.h"
-#include "mdebug.h"
-
-   
-// ----------------------------------------------------------------------------
-// TRFeSynCRsfwRfeRequest::DoRequestL
-// wrapper for all sync requests
-// ----------------------------------------------------------------------------
-// 
-void TRFeSynCRsfwRfeRequest::DoRequestL(CRsfwRfeRequest* aRequest) 
-    {
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    request->Session()->Volume()->DispatchL(request->iInArgs,
-                                            request->iOutArgs);
-    }
-
-// ----------------------------------------------------------------------------
-// TRFeDismountVolumeId::DoRequestL
-// dismount a previously mounted volume by volume ID
-// ----------------------------------------------------------------------------
-//  
-void TRFeDismountVolumeId::DoRequestL(CRsfwRfeRequest* aRequest)
-    {
-    DEBUGSTRING(("TRFeDismountVolumeId::DoRequestL"));
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    TInt volumeId = reinterpret_cast<TInt>(request->Message().Ptr0());
-    DEBUGSTRING(("EDismount: volume %d", volumeId));
-    request->Session()->Volume()->DismountByVolumeIdL(volumeId, ETrue);
-    // This is called from the fileserver main thread.
-    // Therefore, we should return quickly.
-    }
-    
-// ----------------------------------------------------------------------------
-// TRFeDismountByDriveLetter::DoRequestL
-// dismount a previously mounted volume by drive letter
-// ----------------------------------------------------------------------------
-//   
-void TRFeDismountByDriveLetter::DoRequestL(CRsfwRfeRequest* aRequest)
-    {
-    DEBUGSTRING(("TRFeDismountByDriveLetter::DoRequestL"));
-    // Dismount a volume by drive letter
-    // synchronous request
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    TChar driveLetter = reinterpret_cast<TInt>(request->Message().Ptr0());
-    DEBUGSTRING(("EDismountByDriveLetter: '%c'", TUint(driveLetter)));
-    request->Session()->Volume()->DismountByDriveLetterL(driveLetter, ETrue); 
-    }
-
-
-// ----------------------------------------------------------------------------
-// TRFeGetMountList::DoRequestL
-// get a list of currently active mounts
-// ----------------------------------------------------------------------------
-//      
-void TRFeGetMountList::DoRequestL(CRsfwRfeRequest* aRequest)
-    {
-    DEBUGSTRING(("TRFeGetMountList::DoRequestL"));
-    // synchronous request
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    TDriveList mountList;
-    request->Session()->Volume()->GetMountList(mountList);
-    TPckg<TDriveList> p(mountList);
-    request->Message().WriteL(0, p);
-    DEBUGSTRING8(("EGetMountList: '%S'", &mountList));
-    }
-
-
-// ----------------------------------------------------------------------------
-// TRFeGetMountInfo::DoRequestL
-// get information about a specific mount
-// ----------------------------------------------------------------------------
-//        
-void TRFeGetMountInfo::DoRequestL(CRsfwRfeRequest* aRequest)
-    {
-    DEBUGSTRING(("TRFeGetMountInfo::DoRequestL"));
-    // synchronous request
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    TRsfwMountInfo* mountInfo = new (ELeave) TRsfwMountInfo;
-    CleanupStack::PushL(mountInfo);
-    mountInfo->iMountConfig.iDriveLetter = 
-        reinterpret_cast<TInt>(request->Message().Ptr0());
-    TInt err = request->Session()->Volume()->GetMountInfo(*mountInfo);
-    DEBUGSTRING(("EGetMountInfo for '%c' (err=%d)",
-                 TUint(mountInfo->iMountConfig.iDriveLetter),
-                 err));
-    if (err != KErrNone)
-        {
-        mountInfo->iMountConfig.iUri.Zero();
-        }
-    TPckg<TRsfwMountInfo> mountInfoPackage(*mountInfo);
-    request->Message().WriteL(1, mountInfoPackage);
-    CleanupStack::PopAndDestroy(mountInfo);
-    }  
-    
-    
-// ----------------------------------------------------------------------------
-// TRFeWriteData::DoRequestL
-// get permission to write certain amount of data
-// ----------------------------------------------------------------------------
-//    
-void TRFeWriteData::DoRequestL(CRsfwRfeRequest* aRequest) 
-    {
-    DEBUGSTRING(("TRFeWriteData::DoRequestL"));
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    TRfeWriteDataInArgs* inArgs =
-        static_cast<TRfeWriteDataInArgs*>(request->iInArgs);
-    TRfeWriteDataOutArgs* outArgs =
-        static_cast<TRfeWriteDataOutArgs*>(request->iOutArgs);
-    outArgs->iOkToWrite =
-        request->iVolumeTable->EnsureCacheCanBeAddedL(inArgs->iBytes); 
-        
-    if (outArgs->iOkToWrite)  
-        {
-        // make sure "dirty bit" is on (file has uncommited modifications)
-        CRsfwFileEntry* entry= 
-            request->iVolume->iFileEngine->iFileTable->Lookup(inArgs->iFid);
-        if (entry) 
-            {
-            entry->SetOpenedForWriting(ETrue);
-            request->iVolume->iFileEngine->iFileTable->SaveMetaDataDelta();
-            }
-        // if writing has been cancelled, we have to inform the file server plugin
-        if (entry->IsCancelled()) 
-            {
-            User::Leave(KErrCancel);
-            }
-        
-        }
-    }
-
-void TRFeDirectoryRefresh::DoRequestL(CRsfwRfeRequest* aRequest) 
-    {
-    DEBUGSTRING(("TRFeDirectoryRefresh::DoRequestL"));
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    HBufC* refreshBuf = HBufC::NewLC(KMaxPath);
-    TPtr refPtr = refreshBuf->Des();
-    request->Message().ReadL(0, refPtr);
-    User::LeaveIfError(request->Session()->Volume()->PurgeFromCache(refPtr));
-    CleanupStack::PopAndDestroy(refreshBuf);
-    }
-
-
-void TRFeCancelAll::DoRequestL(CRsfwRfeRequest* aRequest)
-    {
-    DEBUGSTRING(("TRFeCancelAll::DoRequestL"));
-    CRsfwRfeMessageRequest* request = (CRsfwRfeMessageRequest*) aRequest;
-    HBufC* fileBuf = HBufC::NewLC(KMaxPath);
-    TPtr filePtr = fileBuf->Des();
-    request->Message().ReadL(0, filePtr);
-    User::LeaveIfError(request->Session()->Volume()->CancelTransferL(filePtr));
-    CleanupStack::PopAndDestroy(fileBuf);
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwvolume.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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:  data structure for a volume
-*
-*/
-
-
-#include "rsfwvolume.h"
-#include "rsfwvolumetable.h"
-#include "rsfwfiletable.h"
-#include "rsfwfileengine.h"
-
-// ----------------------------------------------------------------------------
-// CRsfwVolume::~CRsfwVolume
-// 
-// ----------------------------------------------------------------------------
-//
-CRsfwVolume::~CRsfwVolume()
-    {
-    delete iFileEngine;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolume::MountInfo
-// 
-// ----------------------------------------------------------------------------
-//
-TRsfwMountInfo* CRsfwVolume::MountInfo()
-    {
-    return &iMountInfo;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolume::GetMountInfo
-// 
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolume::GetMountInfo(TRsfwMountInfo& aMountInfo)
-    {
-    aMountInfo = iMountInfo;
-    aMountInfo.iMountStatus.iConnectionState = iFileEngine->ConnectionState();
-    aMountInfo.iMountStatus.iCachedSize =
-    iFileEngine->iFileTable->TotalCachedSize();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolume::OperationCompleted()
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolume::OperationCompleted() 
-    {
-    iVolumeTable->OperationCompleted(this);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolume::ConnectionStateChanged
-// 
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolume::ConnectionStateChanged(TInt aConnectionState)
-    {
-    // The mount state and connection state are tightly bound together
-    switch (aConnectionState)
-        {    
-        case KMountNotConnected:
-            iMountInfo.iMountStatus.iMountState = KMountStateDormant;
-            iMountInfo.iMountStatus.iConnectionState = KMountNotConnected;
-            break;
-        case KMountStronglyConnected:
-            iMountInfo.iMountStatus.iMountState = KMountStateMounted;
-            iMountInfo.iMountStatus.iConnectionState = KMountStronglyConnected;
-            break;
-        case KMountConnecting:
-            iMountInfo.iMountStatus.iMountState = KMountStateDormant;
-            iMountInfo.iMountStatus.iConnectionState = KMountConnecting;
-            break;
-        default:
-            break;
-        }
-    iVolumeTable->VolumeStateChanged(this);
-    }
-
--- a/remotestoragefw/remotefileengine/src/rsfwvolumetable.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1471 +0,0 @@
-/*
-* Copyright (c) 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:   data struct for all volumes
-*
-*/
-
-
-#include <sysutil.h>
-#include <bautils.h>
-#include <rsfwmountman.h>
-#include <rsfwmountentry.h>
-
-#include "rsfwvolumetable.h"
-#include "rsfwvolume.h"
-#include "rsfwinterface.h"
-#include "rsfwmountstatemachine.h"
-#include "rsfwfileentry.h"
-#include "rsfwfiletable.h"
-#include "rsfwconfig.h"
-#include "rsfwfileengine.h"
-#include "rsfwrfeserver.h"
-
-#include "rsfwmountstore.h"
-#include "rsfwwaitnotemanager.h"
-#include "rsfwdormantmountloader.h"
-#include "mdebug.h"
-
-//CONSTANTS
-_LIT(KRsfwLruFileName, "lru.dat");
-_LIT(KRsfwRestorePendingMark, "rsfwmetadatarestorepending.dat");
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::NewL
-//
-// ----------------------------------------------------------------------------
-//
-CRsfwVolumeTable* CRsfwVolumeTable::NewL(CRsfwRfeServer* aRfeServer,
-                                 CRsfwConfig* aRsfwConfig)
-    {
-    CRsfwVolumeTable* self = new (ELeave) CRsfwVolumeTable;
-    DEBUGSTRING(("CRsfwVolumeTable: in NewL 0x%x", self));
-    CleanupStack::PushL(self);
-    self->ConstructL(aRfeServer, aRsfwConfig);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::RestoreDormantMountsL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::RestoreDormantMountsL() 
-    {
-    DEBUGSTRING(("CRsfwVolumeTable::RestoreDormantMountsL enter"));
-    // Currently, we always enable persistence (used to be configurrable)
-    iPermanence = ETrue;
-    if (iPermanence)
-        {
-        // if restoring permanent state causes RFE panic, we must delete 
-        // the old permanent metadata and skip restoring it
-        // otherwise RFE will just crash every time
-        // Strategy is to add a file that tells that the process is ongoing.
-        // If it is not able to finish successfully, we can conclude that there was a crash
-        // marker is deleted from CRsfwDormantMountLoader, when we have succesfully also checked for dirty files
-        TBool internalize = CheckAndAddProcessStartMarker();
-        if (internalize) 
-            {
-            WillLRUPriorityListBeInternalized();
-            RestoreVolumesL();
-            InternalizeLRUPriorityListL();
-            }
-        else 
-            {
-            CleanupCorruptedCacheL();
-            }
-        }
-    iDormantMountRestorePending = EFalse;   
-    DEBUGSTRING(("CRsfwVolumeTable::RestoreDormantMountsL exit"));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::ConstructL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::ConstructL(CRsfwRfeServer* aRfeServer, CRsfwConfig* aRsfwConfig)
-    {
-    iRfeServer = aRfeServer;
-    iRsfwConfig = aRsfwConfig;
-
-    iAllEnginesIdle = ETrue;
-    
-    // set some local pointers for commonly used variable from CRsfwRfeServer::Env()
-    iFs = CRsfwRfeServer::Env()->iFs;
-    iCacheRoot = &(CRsfwRfeServer::Env()->iCacheRoot);
-    
-    TInt err = iRsfwConfig->Get(RsfwConfigKeys::KMaxCacheSize,
-                                iMaxCacheSize);
-    if (err != KErrNone)
-        {
-        iMaxCacheSize = KDefaultMaxCacheSize;
-        }
-
-    err = iRsfwConfig->Get(RsfwConfigKeys::KMaxEntryCount,
-                           iMaxEntryCount);
-    if (err != KErrNone)
-        {
-        iMaxEntryCount = KDefaultMaxEntryCount;
-        }
-
-    HBufC* confItem = HBufC::NewLC(KMaxRsfwConfItemLength);
-    TPtr confItemPtr = confItem->Des();
-
-    // global wait notes manager class
-    // must be created before restoring  the volumes
-    iWaitNoteManager = CRsfwWaitNoteManager::NewL();
-    
-    RestoreDormantMountsL();
-    
-    err = iRsfwConfig->Get(RsfwConfigKeys::KFileCacheValidity,
-                           iFileCacheTimeout);
-    if (err)
-        {
-        iFileCacheTimeout = KDefaultCacheValidity;
-        }
-    err = iRsfwConfig->Get(RsfwConfigKeys::KDirCacheValidity,
-                           iDirCacheTimeout);
-    if (err)
-        {
-        iDirCacheTimeout = KDefaultDirCacheValidity;
-        }
-
-    err = iRsfwConfig->Get(RsfwConfigKeys::KRecognizerLimit,
-                           iRecognizerLimit);
-    if (err)
-        {
-        iRecognizerLimit = KDefaultRecognizerLimit;
-        }
-
-    err = iRsfwConfig->Get(RsfwConfigKeys::KCachingMode, confItemPtr);
-    if (err == KErrNone)
-        {
-        TLex lex(confItemPtr);
-        TChar firstChar = lex.Get();
-        firstChar.UpperCase();
-        switch (firstChar)
-            {
-        case 'W':
-            iCachingMode = EWholeFileCaching;
-            break;
-
-        case 'F':
-            iCachingMode = EFullIfa;
-            break;
-
-        case 'M':
-        default:
-            iCachingMode = EMetadataIfa;
-            break;
-            }
-        }
-    else
-        {
-        // caching mode configuration entry not found
-        iCachingMode = EMetadataIfa;
-        }
-    if (iCachingMode != EWholeFileCaching)
-        {
-        GetMimeTypeSpecificLimits();
-        }
-
-    err = iRsfwConfig->Get(RsfwConfigKeys::KInactivityTimeout,
-                           iInactivityTimeout);
-    if (err)
-        {
-        iInactivityTimeout = KDefaultInactivityTimeout;
-        }
-
-    CleanupStack::PopAndDestroy(confItem);
-
-    iMountStore = CRsfwMountStore::NewL(NULL);
-
-    RProperty::Define(KRfeServerSecureUid,
-                      ERsfwPSKeyConnect,
-                      RProperty::EByteArray,
-                      KMaxDrives);
-
-    iMountStateProperty.Attach(KRfeServerSecureUid,
-                               ERsfwPSKeyConnect);
-
-
-   // this restores the dormant mounts asynchrously shortly after the server has started
-    iDormantMountLoader = CRsfwDormantMountLoader::NewL(this);
-    iDormantMountRestorePending = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::~CRsfwVolumeTable
-//
-// ----------------------------------------------------------------------------
-//
-CRsfwVolumeTable::~CRsfwVolumeTable()
-    {
-    // save LRU list to the file
-    ExternalizeLRUPriorityList();
-    
-    TInt i;
-    DEBUGSTRING(("Deleting all volumes"));
-    for (i = 0; i < KMaxVolumes; i++)
-        {
-        if (iVolumes[i])
-            {
-            delete iVolumes[i];
-            }
-        }
-    delete iMountStore;
-    iMountStateProperty.Close();
-    if (iWaitNoteManager)
-    	{
-    	delete iWaitNoteManager;
-    	}
-    if (iDormantMountLoader)
-    	{
-    	delete iDormantMountLoader;
-    	}    	
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::DispatchL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::DispatchL(TAny* aIp, TAny* aOp)
-    {
-    TRfeInArgs* ip = reinterpret_cast<TRfeInArgs*>(aIp);
-    TRfeOutArgs* op = reinterpret_cast<TRfeOutArgs*>(aOp);
-    CRsfwFileEngine* fileEngine = NULL;
-    TInt volumeId;
-
-    if(ip->iOpCode == EFsRoot)
-        {
-        volumeId = iLastVolumeId;
-        // boot  - assume that ROOT
-        // immediately follows after MountL()
-        if (volumeId)
-            {
-            DEBUGSTRING(("Volume: acquired engine %d", volumeId));
-            CRsfwVolume* volume = iVolumes[volumeId];
-            if (volume)
-                {
-                fileEngine = volume->iFileEngine;
-                }
-            }
-        }
-    else
-        {
-        // iFid is always in the same position in the messages
-        volumeId = static_cast<TRfeLookupInArgs*>(ip)->iFid.iVolumeId;
-        CRsfwVolume* volume = VolumeByVolumeId(volumeId);
-        if (volume)
-            {
-            fileEngine = volume->iFileEngine;
-            }
-        }
-    if (fileEngine)
-        {
-        fileEngine->DispatchL(*ip, *op);
-        }
-    else
-        {
-        DEBUGSTRING(("Volume: no engine for %d", volumeId));
-        User::Leave(KErrNotReady);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::VolumeIdByDriveLetter
-//
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwVolumeTable::VolumeIdByDriveLetter(TChar aDriveLetter)
-    {
-    TInt driveNumber;
-    iFs.CharToDrive(aDriveLetter, driveNumber);
-    if (driveNumber < 0) // note that 0 = EDriveA is allowed
-        {
-        driveNumber = KErrNotFound;
-        }
-    return driveNumber;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::VolumeByVolumeId
-//
-// ----------------------------------------------------------------------------
-//
-CRsfwVolume* CRsfwVolumeTable::VolumeByVolumeId(TInt aVolumeId)
-    {
-    if ((aVolumeId >= 0) && (aVolumeId < KMaxVolumes))
-        {
-        return iVolumes[aVolumeId];
-        }
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::VolumeByDriveLetter
-//
-// ----------------------------------------------------------------------------
-//
-CRsfwVolume* CRsfwVolumeTable::VolumeByDriveLetter(TChar aDriveLetter)
-    {
-    return VolumeByVolumeId(VolumeIdByDriveLetter(aDriveLetter));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::RecoverVolumeL
-//
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwVolumeTable::RecoverVolumeL(const TRsfwMountConfig& aMountConfig,
-                                   CRsfwMountStateMachine* aCaller)
-    {
-    DEBUGSTRING(("Recovering volume"));
-    TUint transactionId = 0;
-    CRsfwVolume* volume = VolumeByVolumeId(aCaller->iVolumeId);
-    if (volume)
-        {
-        aCaller->iVolume = volume;
-        // set also fileengine pointer in the state machine,
-        // so that the operation can be cancelled
-        aCaller->SetFileEngine(volume->iFileEngine);
-        if (User::UpperCase(
-                aCaller->iVolume->iMountInfo.iMountConfig.iDriveLetter) ==
-            User::UpperCase(aMountConfig.iDriveLetter))
-            {
-            if (aCaller->iVolume->iMountInfo.iMountConfig.iFlags &
-                KMountFlagOffLine)
-                {
-                // We are working offline
-                aCaller->iVolume->iMountInfo.iMountStatus.iConnectionState =
-                    KMountNotConnected;
-                }
-            else
-                {
-                aCaller->iVolume->iMountInfo.iMountStatus.iConnectionState =
-                    KMountStronglyConnected;
-                }
-
-            transactionId =
-                aCaller->iVolume->iFileEngine->RequestConnectionStateL(
-                    aCaller->iVolume->iMountInfo.iMountStatus.iConnectionState,
-                    aCaller);
-            }
-        else
-            {
-            User::Leave(KErrArgument);
-            }
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    return transactionId;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::MountState
-//
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwVolumeTable::MountState(TChar aDriveLetter)
-    {
-    DEBUGSTRING(("Getting mount state"));
-    TInt state;
-    // Find the volume
-    CRsfwVolume* volume = VolumeByDriveLetter(aDriveLetter);
-    if (volume)
-        {
-        TRsfwMountInfo& mountInfo = volume->iMountInfo;
-        DEBUGSTRING16(("mount '%S'in state %d",
-                       &mountInfo.iMountConfig.iName,
-                       mountInfo.iMountStatus.iMountState));
-        state = mountInfo.iMountStatus.iMountState;
-        }
-    else
-        {
-        DEBUGSTRING(("mount not found"));
-        state = 0; // define KMountStateNone=0 in RsfwControl.h
-        }
-    return state;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::GetMountConfigL
-//
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwVolumeTable::GetMountConfigL(TRsfwMountConfig& aMountConfig)
-    {
-    DEBUGSTRING16(("Getting mount config for name '%S', drive %c",
-                   &aMountConfig.iName,
-                   TUint(aMountConfig.iDriveLetter)));
-    TInt err = KErrNone;
-    const CRsfwMountEntry* entry =
-        iMountStore->LookupEntryByDriveL(aMountConfig.iDriveLetter);
-    if (!entry)
-        {
-        // Could not find by drive letter - retry with name
-        entry = iMountStore->LookupEntryByNameL(aMountConfig.iName);
-        }
-    if (entry &&
-        entry->Item(EMountEntryItemDrive) &&
-        entry->Item(EMountEntryItemUri))
-        {
-        if (entry->Item(EMountEntryItemDrive)->Length())
-            {
-            TLex parse(*entry->Item(EMountEntryItemDrive));
-            aMountConfig.iDriveLetter = parse.Get();
-            if (entry->Item(EMountEntryItemName))
-                {
-                aMountConfig.iName.Copy(*entry->Item(EMountEntryItemName));
-                }
-            else
-                {
-                aMountConfig.iName.SetLength(0);
-                }
-            aMountConfig.iUri.Copy(*entry->Item(EMountEntryItemUri));
-            if (entry->Item(EMountEntryItemUserName))
-                {
-                aMountConfig.iUserName.Copy(
-                    *entry->Item(EMountEntryItemUserName));
-                }
-            else
-                {
-                aMountConfig.iUserName.SetLength(0);
-                }
-
-            if (entry->Item(EMountEntryItemPassword))
-                {
-                aMountConfig.iPassword.Copy(
-                    *entry->Item(EMountEntryItemPassword));
-                }
-            else
-                {
-                aMountConfig.iPassword.SetLength(0);
-                }
-
-            if (entry->Item(EMountEntryItemIap))
-                {
-                aMountConfig.iAuxData.Copy(
-                    *entry->Item(EMountEntryItemIap));
-                }
-            else
-                {
-                aMountConfig.iAuxData.SetLength(0);
-                }
-
-            TInt inactivityTimeout = iInactivityTimeout;
-            if (entry->Item(EMountEntryItemInactivityTimeout))
-                {
-                TLex timeout(*entry->Item(EMountEntryItemInactivityTimeout));
-                timeout.Val(inactivityTimeout);
-                DEBUGSTRING(("Set inactivity timeout = %d",
-                             inactivityTimeout));
-                }
-            aMountConfig.iInactivityTimeout = inactivityTimeout;
-
-            aMountConfig.iFlags = 0;
-            }
-        else
-            {
-            err = KErrArgument;
-            }
-        }
-    else
-        {
-        DEBUGSTRING(("mount configuration not found"));
-        err = KErrNotFound;
-        }
-
-    return err;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::RestoreVolumesL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::RestoreVolumesL()
-    {
-    DEBUGSTRING(("CRsfwVolumeTable::RestoreVolumesL"));
-    // Load persistently stored volumes
-    CDir* dirList;
-    TInt err = iFs.GetDir(*iCacheRoot,
-                         KEntryAttMaskSupported,
-                         ESortByName,
-                         dirList);
-    CleanupStack::PushL(dirList);
-    DEBUGSTRING(("GetDir for cacheRoot returned %d", err));
-    if (err == KErrNone)
-        {
-        TInt i;
-        for (i = 0; i < dirList->Count(); i++)
-            {
-            const TEntry& entry = (*dirList)[i];
-            if (entry.iAtt & KEntryAttDir)
-                {
-                // The name of cache directories are C<volume_id>
-                _LIT(KCacheMatch, "C*");
-                if (entry.iName.Match(KCacheMatch) == 0)
-                    {
-                    TLex volumeAlpha(entry.iName.Mid(1));
-                    TInt volumeId;
-                    err = volumeAlpha.Val(volumeId);
-                    if ((err == KErrNone) &&
-                        (volumeId >= 0) &&
-                        (volumeId < KMaxVolumes))
-                        {
-                        TRsfwMountConfig* mountConfig = new (ELeave) TRsfwMountConfig;
-                        CleanupStack::PushL(mountConfig);
-                        HBufC* metaDataPath = HBufC::NewLC(KMaxPath);
-                        TPtr metaDataPathPtr = metaDataPath->Des();
-                        metaDataPathPtr.Copy(*iCacheRoot);
-                        metaDataPathPtr.Append(entry.iName);
-                        metaDataPathPtr.Append('\\');
-                        metaDataPathPtr.Append(KMetaDataFileName);
-                        CRsfwMetaDataStore* metaDataStore =
-                            CRsfwMetaDataStore::NewLC(metaDataPathPtr);
-                        // Get the mount configuration info from the
-                        // persistent store
-                        TRAP(err,
-                             metaDataStore->GetMountConfigL(*mountConfig));
-                        // metaDataStore, metaDataPath
-                        CleanupStack::PopAndDestroy(2);
-                        if (err == KErrNone)
-                            {
-                            DEBUGSTRING16(("Restoring '%S' as volume %d'",
-                                           &mountConfig->iUri,
-                                           volumeId));
-                            TRAP_IGNORE(MountDormantL(*mountConfig,
-                                                      volumeId));
-                            // In case of error, we should clear the cache
-                            }
-                        CleanupStack::PopAndDestroy(mountConfig);
-                        }
-                    }
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy(dirList); // dirList
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::DismountByVolumeId
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::DismountByVolumeIdL(TInt aVolumeId,
-                                       TBool aDiscardPermanentData)
-    {
-    DEBUGSTRING(("Dismounting volume %d", aVolumeId));
-    CRsfwVolume* volume = VolumeByVolumeId(aVolumeId);
-    if (volume)
-        {
-        if (aDiscardPermanentData)
-            {
-            // Delete also the meta data
-            CRsfwFileEngine* fileEngine = volume->iFileEngine;
-            if (fileEngine)
-                {
-                // Clear cache of files and meta data
-                fileEngine->SetPermanenceL(EFalse);
-                if (!volume->iMountInfo.iMountStatus.iPermanence)
-                    {
-                    // There was no change in the above -
-                    // so, we have to clear the cache explicitly
-                    fileEngine->iFileTable->SetupCacheL();
-                    }
-                }
-            }
-        delete volume;
-        iVolumes[aVolumeId] = NULL;
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::DismountByDriveLetter
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::DismountByDriveLetterL(TChar aDriveLetter,
-                                          TBool aDiscardPermanentData)
-    {
-    DEBUGSTRING(("Dismounting drive %c", TUint(aDriveLetter)));
-    CRsfwVolume* volume = VolumeByDriveLetter(aDriveLetter);
-    if (volume)
-        {
-        DismountByVolumeIdL(volume->iMountInfo.iMountStatus.iVolumeId,
-                            aDiscardPermanentData);
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::GetMountList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::GetMountList(TDriveList& aMountList)
-    {
-    aMountList.Zero();
-    TInt i;
-    for (i = 0; i < KMaxVolumes; i++)
-        {
-        if (iVolumes[i])
-            {
-            aMountList.Append(iVolumes[i]->
-                              iMountInfo.iMountConfig.iDriveLetter);
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::GetMountInfo
-//
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwVolumeTable::GetMountInfo(TRsfwMountInfo& aMountInfo)
-    {
-    CRsfwVolume* volume =
-        VolumeByDriveLetter(aMountInfo.iMountConfig.iDriveLetter);
-    if (volume)
-        {
-        volume->GetMountInfo(aMountInfo);
-        return KErrNone;
-        }
-    return KErrNotFound;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::GetMimeTypeSpecificLimits
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::GetMimeTypeSpecificLimits()
-    {
-    TInt err;
-    err = iRsfwConfig->Get(RsfwConfigKeys::KImgJpegLimit, iImageJpegLimit);
-    if (err != KErrNone)
-        {
-        iImageJpegLimit = KDefaultJpegLimit;
-        }
-
-    err = iRsfwConfig->Get(RsfwConfigKeys::KAudMpegLimit, iAudioMpegLimit);
-    if (err)
-        {
-        iAudioMpegLimit = KDefaultMpegLimit;
-        }
-    }
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::EnsureCacheCanBeAddedL
-//
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::EnsureCacheCanBeAddedL(TInt aBytes)
-    {
-    DEBUGSTRING(("CACHE MANAGER: ensure that %d bytes can be added to cache",
-                 aBytes));
-    DEBUGSTRING(("CACHE MANAGER: total cached size is currently %d",
-                 TotalCachedSize()));
-    DEBUGSTRING(("CACHE MANAGER: max cache size is %d", iMaxCacheSize));
- 
-
-    // FIRST: Is there enough space on the cache drive to store the new data
-    TInt cacheDrive = CRsfwRfeServer::Env()->iCacheDrive;
-    TBool isDiskFull = SysUtil::DiskSpaceBelowCriticalLevelL(&iFs,
-                                                             aBytes,
-                                                             cacheDrive);
-    if ( isDiskFull )
-        {
-        // check whether clearing cache may help at all
-        if ( aBytes > TotalCachedSize() )
-            {
-            isDiskFull = SysUtil::DiskSpaceBelowCriticalLevelL(&iFs,
-                                                               aBytes - TotalCachedSize(),
-                                                               cacheDrive);
-            if ( isDiskFull )
-                {
-                DEBUGSTRING(("CACHE MANAGER: no space on disk"));
-                return EFalse;
-                }
-            }
-        // seems that clearing cache may help
-        else
-            {
-            DEBUGSTRING(("CACHE MANAGER: running out of disk space, attempting to purge some bytes from cache"));
-            do
-                {
-                CRsfwFileEntry* victim = iLRUPriorityList.GetAndRemoveFirstEntry();
-
-                if (!victim)
-                    {
-                    DEBUGSTRING(("CACHE MANAGER: nothing to delete!!!"));
-                    return EFalse; // cannot clear enough cache space
-                    }
-
-                DEBUGSTRING(("CACHE MANAGER: removing fid %d from the cache ",
-                             victim->Fid().iNodeId));
-
-                TDesC* cacheNamep = victim->CacheFileName();
-                User::LeaveIfError(iFs.Delete(*cacheNamep));
-
-                victim->SetCached(EFalse);
-                victim->iCachedSize = 0;
-                victim->Parent()->SetLocallyDirty();
-
-
-                isDiskFull = SysUtil::DiskSpaceBelowCriticalLevelL(&iFs,
-                                                                   aBytes,
-                                                                   cacheDrive);
-                }
-            while ( isDiskFull );
-            }
-        }
-
-    // SECOND: is there enough space in the cache
-    if (TotalCachedSize() + aBytes > iMaxCacheSize)
-        {
-        TInt bytesDeleted = 0;
-        TInt bytesToBeDeleted = TotalCachedSize() + aBytes - iMaxCacheSize;
-        DEBUGSTRING(("CACHE MANAGER: attempting to purge %d bytes from cache",
-                     bytesToBeDeleted));
-
-        while (bytesDeleted < bytesToBeDeleted)
-            {
-            CRsfwFileEntry* victim = iLRUPriorityList.GetAndRemoveFirstEntry();
-
-            if (!victim)
-                {
-                DEBUGSTRING(("CACHE MANAGER: XXXX: nothing to delete!!!"));
-                return EFalse; // cannot clear enough cache space
-                }
-
-            DEBUGSTRING(("CACHE MANAGER: removing fid %d from the cache ",
-                         victim->Fid().iNodeId));
-
-            TDesC* cacheNamep = victim->CacheFileName();
-            TInt victimSize = victim->iCachedSize;
-            User::LeaveIfError(iFs.Delete(*cacheNamep));
-
-            victim->SetCached(EFalse);
-            victim->iCachedSize = 0;
-            victim->Parent()->SetLocallyDirty();
-
-            bytesDeleted = bytesDeleted + victimSize;
-            }
-        }
-
-    return ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::EnsureMetadataCanBeAddedL
-// This function is called at any time a new CRsfwFileEntry object is about to 
-// be created in memory.
-// However we want to prevent the scenario in which parent entry is deleted 
-// just before its kid creation.
-// That's why function takes as a parameter a parent entry for the entry 
-// that is about to be created.
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::EnsureMetadataCanBeAddedL(CRsfwFileEntry* aParent)
-    {
-    DEBUGSTRING(("memory cap: number of entries %d, entry limit: %d",
-                 TotalEntryCount(), iMaxEntryCount));
-
-    TBool parentFound = EFalse;
-
-    while ( TotalEntryCount() >= iMaxEntryCount )
-    {
-        CRsfwFileEntry* victim = iMetadataLRUPriorityList.GetAndRemoveFirstEntry();
-
-        // if no entries to delete on metadata LRU list try to remove item from file cache LRU list
-        if (!victim)
-            {
-            victim = iLRUPriorityList.GetAndRemoveFirstEntry();
-
-            if (!victim)
-                {
-                DEBUGSTRING(("memory cap: nothing to delete!!!"));
-                return EFalse; // no posibility to add new entry
-                }
-            }
-
-        // don't touch the root items
-        if ( IsRoot(victim) )
-            {
-            continue;
-            }
-        
-        // if we've found the parent don't touch it, just find the other victim ...
-        if (victim && aParent && victim == aParent)
-            {
-            DEBUGSTRING(("<<<<< SAVED THE PARENT!!!! >>>>"));
-            parentFound = ETrue;
-            continue;
-            }
-
-
-        // destroy the item
-        DEBUGSTRING(("memory cap: removing fid %d from memory",
-                         victim->Fid().iNodeId));
-        // victim's parent metadata will become out-of-date if we remove victim from memory
-        if ( victim->Parent() )
-            {
-            victim->Parent()->iUseCachedData = EFalse;    
-            }
-
-        victim->DropLD();
-    }
-    
-    // put the parent back to the list if it was removed from the list.
-    // the reason is that at this point we are not sure whether child will be in fact created.
-    // for now we were only interested in preventing the parent from being deleted, nothing more
-    // as soon as the child is created, the parent will be removed from the list anyway
-    if (parentFound)
-        {
-        iMetadataLRUPriorityList.AddNodeL(aParent, ECachePriorityNormal);
-        }
-    
-    return ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::IsRoot
-// Checks whether given entry is a root of some file table
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::IsRoot(const CRsfwFileEntry* aEntry)
-    {
-    if (!aEntry)
-        {
-        return EFalse;
-        }
-        
-    TInt i;
-    for ( i = 0; i < KMaxVolumes; i++ )
-        {
-        CRsfwVolume* volume;
-        volume = iVolumes[i];
-        if ( volume && aEntry == volume->iFileEngine->iFileTable->Root())
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::TotalCachedSize
-//
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwVolumeTable::TotalCachedSize()
-    {
-    TInt totalSize = 0;
-    CRsfwVolume* volume;
-    TInt i = 0;
-    while (i < KMaxVolumes)
-        {
-        volume = iVolumes[i];
-        if (volume)
-            {
-            TInt newSize = volume->iFileEngine->iFileTable->TotalCachedSize();
-            totalSize += newSize;
-            }
-        i++;
-        }
-    return totalSize;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::TotalEntryCount
-//
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwVolumeTable::TotalEntryCount()
-    {
-    TInt totalCount = 0;
-    CRsfwVolume* volume;
-    for ( TInt i = 0; i < KMaxVolumes; i++ )
-        {
-        volume = iVolumes[i];
-        if (volume)
-            {
-            TInt volumeCount = volume->iFileEngine->iFileTable->TotalEntryCount();
-            totalCount += volumeCount;
-            }
-        }
-    return totalCount;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::AddToLRUPriorityListL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::AddToLRUPriorityListL(CRsfwFileEntry *aFe, TInt aPriority)
-    {
-    DEBUGSTRING(("CACHE MANAGER: adding fid '%d' to the LRU cache",
-                 aFe->Fid().iNodeId));
-    iLRUPriorityList.AddNodeL(aFe, aPriority);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::RemoveFromLRUPriorityList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::RemoveFromLRUPriorityList(CRsfwFileEntry *aFe)
-    {
-    DEBUGSTRING(("CACHE MANAGER: removing fid '%d' from the LRU cache",
-                  aFe->Fid().iNodeId));
-    iLRUPriorityList.RemoveNode(aFe);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::AddToMetadataLRUPriorityListL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::AddToMetadataLRUPriorityListL(CRsfwFileEntry *aFe, TInt aPriority)
-    {
-    DEBUGSTRING(("memory cap: adding fid '%d' to the metadata LRU list",
-                 aFe->Fid().iNodeId));
-    iMetadataLRUPriorityList.AddNodeL(aFe, aPriority);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::RemoveFromMetadataLRUPriorityList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::RemoveFromMetadataLRUPriorityList(CRsfwFileEntry *aFe)
-    {
-    DEBUGSTRING(("CRsfwVolumeTable::RemoveFromMetadataLRUPriorityList"));
-    iMetadataLRUPriorityList.RemoveNode(aFe);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::MoveToTheBackOfMetadataLRUPriorityList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::MoveToTheBackOfMetadataLRUPriorityListL(CRsfwFileEntry *aFe)
-    {
-    // just try to remove the entry from the list and if it was on the list then append it again
-    if ( iMetadataLRUPriorityList.RemoveNode(aFe) == KErrNone )
-        {
-        DEBUGSTRING(("memory cap: moving fid '%d' to the back of metadata LRU list",
-                     aFe->Fid().iNodeId));
-        iMetadataLRUPriorityList.AddNodeL(aFe, ECachePriorityNormal);
-        }
-    }
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::CheckAndAddProcessStartMarker
-//
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::CheckAndAddProcessStartMarker()
-    {
-    DEBUGSTRING(("CRsfwVolumeTable::CheckAndAddProcessStartMarker"));
-    TFileName path;
-    path.Copy(*iCacheRoot);
-    path.Append(KRsfwRestorePendingMark);
-    
-    if (BaflUtils::FileExists(iFs, path))
-        {
-        // file already exists, the previous attempt to restore metadata must have failed
-        DEBUGSTRING(("returning EFalse; file already exists"));
-        return EFalse;
-        }
-    else 
-        {
-        // create an empty file
-        TInt err;
-        RFile markerFile;
-        err = markerFile.Create(iFs, path, EFileWrite);
-        if (err) 
-            {
-            return EFalse;
-            }
-        else 
-            {
-            DEBUGSTRING(("returning ETrue; file created"));
-            markerFile.Close();
-            return ETrue;
-            }
- 
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::DeleteTheMarker
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::DeleteTheMarker()
-    {    
-    TFileName path;
-    path.Copy(*iCacheRoot);
-    path.Append(KRsfwRestorePendingMark);
-    
-    // ignore the error
-    // if this fails for some reason, lets allow the file to be there
-    // as "something" must be wrong
-    iFs.Delete(path);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::CleanupCorrutedCacheL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::CleanupCorruptedCacheL()
-    {    
-    // delete everything from the cache
-    TFileName cachepath;
-    cachepath.Copy(*iCacheRoot);
-    CFileMan* fileMan = CFileMan::NewL(iFs);
-    fileMan->Delete(cachepath, CFileMan::ERecurse);
-    delete fileMan;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::WillExternalizedLRUPriorityListBeUsed
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::WillLRUPriorityListBeInternalized()
-    {
-    DEBUGSTRING(("CRsfwVolumeTable::WillLRUPriorityListBeInternalized"));
-    iUseExternalizedLRUList = EFalse;
-    // check whether the file with externalized data exists
-    TFileName path;
-    path.Copy(*iCacheRoot);
-    path.Append(KRsfwLruFileName);
-
-    if (BaflUtils::FileExists(iFs, path))
-        {
-        iUseExternalizedLRUList = ETrue;
-        }
-    DEBUGSTRING(("...set to %d", iUseExternalizedLRUList)); 
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::ExternalizeLRUPriorityList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::ExternalizeLRUPriorityList()
-    {
-    TRAPD(err, ExternalizeLRUPriorityListL());
-    if (err)
-        {
-        DEBUGSTRING(("Externalizing LRU priority list failed!"));
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::ExternalizeLRUPriorityList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::ExternalizeLRUPriorityListL()
-    {        
-    // prepare temp path
-    _LIT(KRsfwLruTempFileName, "lru.temp");
-    TFileName tempPath;
-    tempPath.Copy(*iCacheRoot);
-    tempPath.Append(KRsfwLruTempFileName);
-    
-    // create temp file
-    RFile file;
-    CleanupClosePushL(file);
-    User::LeaveIfError(file.Replace(iFs, tempPath, EFileShareAny | EFileWrite));
-
-    // associate stream
-    RFileWriteStream stream(file);
-    CleanupClosePushL(stream);
-
-    // externalize
-    iLRUPriorityList.ExternalizeL(stream);
-    stream.CommitL();
-
-    // cleanup
-    CleanupStack::PopAndDestroy(2); // stream, file        
-
-    // everything went ok -> rename lru.temp into lru.dat
-    TFileName path;
-    path.Copy(*iCacheRoot);
-    path.Append(KRsfwLruFileName);
-    CFileMan* fm = CFileMan::NewL(iFs);
-    CleanupStack::PushL(fm);
-    TInt err = fm->Rename(tempPath, path, CFileMan::EOverWrite);
-    if (err)
-        {
-        fm->Delete(tempPath);
-        fm->Delete(path);
-        User::Leave(err);
-        }
-    CleanupStack::PopAndDestroy(fm);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::InternalizeLRUPriorityList
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::InternalizeLRUPriorityListL()
-    {
-    if (!iUseExternalizedLRUList)
-        {
-        // it means LRU has been already populated when loading metadata
-        // so nothing to do here
-        return;
-        }
-    // prepare path
-    TFileName path;
-    path.Copy(*iCacheRoot);
-    path.Append(KRsfwLruFileName);
-    
-    // open file
-    RFile file;
-    TInt err = file.Open(iFs, path, EFileShareAny | EFileRead);
-    if ( err == KErrNone )
-        {
-        CleanupClosePushL(file);
-
-        // associate stream
-        RFileReadStream stream(file);
-        CleanupClosePushL(stream);
-
-        // internalize
-        TRAP(err, iLRUPriorityList.InternalizeL(stream, this));
-
-        // cleanup
-        CleanupStack::PopAndDestroy(2); // stream, file        
-        }
-
-    DEBUGSTRING(("InternalizeLRUPriorityListL: status %d", err));
-        
-    // once internalizing is done, the file is not needed anymore 
-    // ignore the result
-    iFs.Delete(path);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::OperationCompleted()
-// This function may shut down RFE.
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::OperationCompleted(CRsfwVolume* /* aVolume */)
-    {
-    DEBUGSTRING(("Volume operation completed"));
-    // Shut down the whole server if all remaining mounts are dormant
-    // and we are not still restoring dormant mounts
-    if ((iAllEnginesIdle) && (!iDormantMountRestorePending))
-        {
-        iRfeServer->AllEnginesIdling(KRsfwDormantShutdownTimeout);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::VolumeStateChanged()
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::VolumeStateChanged(CRsfwVolume* aVolume)
-    {
-    DEBUGSTRING(("Volume state changed"));
-
-    TBool allEnginesIdle = ETrue;
-    TInt i = 0;
-    do
-        {
-        if (iVolumes[i])
-            {
-            if (!IsMountIdle(iVolumes[i]->iMountInfo.iMountStatus))
-                {
-                // Do not shut down if there are connected mounts
-                allEnginesIdle = EFalse;
-                }
-            }
-        } while ((++i < KMaxVolumes) && allEnginesIdle);
-
-    // one more thing is to check the current volume since 
-    // if the drive was newly mounted, it will not be found from the volume table 
-    if (allEnginesIdle)
-        {
-        TInt driveNumber = VolumeIdByDriveLetter(aVolume->MountInfo()->iMountConfig.iDriveLetter);     
-        if ((driveNumber != KErrNotFound) && 
-            (!IsMountIdle(aVolume->MountInfo()->iMountStatus)))
-            {
-            allEnginesIdle = EFalse;
-            }         
-        }
-
-    DEBUGSTRING(("All engines idle = %d", allEnginesIdle));
-    iAllEnginesIdle = allEnginesIdle;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::PublishConnectionStatus()
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::PublishConnectionStatus(CRsfwVolume* aVolume)
-    {
-    DEBUGSTRING(("Publishing connection status:"));
-    TDriveList driveList;
-    driveList.FillZ(driveList.MaxLength());
-    TInt i;
-    // (at least) record the state of the volume received as a parameter
-    // (if the drive was newly mounted, it will not be found from the volume table 
-    TInt driveNumber = VolumeIdByDriveLetter(aVolume->MountInfo()->iMountConfig.iDriveLetter);     
-    if ((driveNumber != KErrNotFound) && 
-       (aVolume->MountInfo()->iMountStatus.iMountState != KMountStateDormant))
-        {
-        DEBUGSTRING(("- connected: %c", TUint(aVolume->MountInfo()->iMountConfig.iDriveLetter)));
-        driveList[driveNumber] = 1;
-        }    
-    
-    // for convenience, record the states of other volumes too from the volume table
-    for (i = 0; i < KMaxVolumes; i++)
-        {
-        if (iVolumes[i])
-            {
-            TRsfwMountInfo& mountInfo = iVolumes[i]->iMountInfo;
-            if (mountInfo.iMountStatus.iMountState != KMountStateDormant)
-                {
-                driveNumber =
-                    VolumeIdByDriveLetter(mountInfo.iMountConfig.iDriveLetter);
-                if (driveNumber != KErrNotFound)
-                    {
-                    DEBUGSTRING(("- connected: %c",
-                                 TUint(mountInfo.iMountConfig.iDriveLetter)));
-                    driveList[driveNumber] = 1;
-                    }
-                }
-            }
-        }
-          
-    iMountStateProperty.Set(driveList);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::WaitNoteManager()
-//
-// ----------------------------------------------------------------------------
-//
-CRsfwWaitNoteManager* CRsfwVolumeTable::WaitNoteManager()
-	{
-	return iWaitNoteManager;
-	}
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::IsCachedDataStillValid()
-//
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::IsCachedDataStillValid(TTime aCachedTime)
-	{
-	return IsCacheStillValid(aCachedTime,
-						TTimeIntervalSeconds(iFileCacheTimeout));
-	}
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::IsCachedAttrStillValid()
-//
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::IsCachedAttrStillValid(TTime aCachedTime)
-	{
-	return IsCacheStillValid(aCachedTime,
-						TTimeIntervalSeconds(iDirCacheTimeout));
-	}
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::MountDormantL
-//
-// ----------------------------------------------------------------------------
-//
-void CRsfwVolumeTable::MountDormantL(const TRsfwMountConfig& aMountConfig,
-                                 TInt aVolumeId)
-    {
-    // Bind a volume id to a file engine
-    DEBUGSTRING16(("Restoring drive '%c' with uri '%S' and flags 0x%x",
-                   TUint(aMountConfig.iDriveLetter),
-                   &aMountConfig.iUri,
-                   aMountConfig.iFlags));
-
-    // Create a file engine for the volume
-    CRsfwVolume* volume = new (ELeave) CRsfwVolume();
-    CleanupStack::PushL(volume);
-    volume->iMountInfo.iMountConfig = aMountConfig;
-    volume->iMountInfo.iMountStatus.iVolumeId = aVolumeId;
-    volume->iVolumeTable = this;
-    volume->iMountInfo.iMountStatus.iPermanence = iPermanence;
-    // We are working offline
-    volume->iMountInfo.iMountStatus.iMountState = KMountStateDormant;
-    volume->iMountInfo.iMountStatus.iConnectionState = KMountNotConnected;
-    CRsfwFileEngine* fileEngine = CRsfwFileEngine::NewL(volume);
-    volume->iFileEngine = fileEngine;
-    delete iVolumes[aVolumeId];
-    iVolumes[aVolumeId] = volume;
-    CleanupStack::Pop(volume);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::IsCachedAttrStillValid()
-//
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwVolumeTable::IsCacheStillValid(TTime aCachedTime,
-									  TTimeIntervalSeconds aValidity)
-	{
-	TTime now;
-	TTime comp;
-
-	now.UniversalTime();
-	comp = now - aValidity;
-
-    if (comp >= aCachedTime)
-        {
-        return EFalse;
-        }
-    else
-        {
-        return ETrue;
-        }
-	}
-	
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::PurgeFromCache()
-//
-// ----------------------------------------------------------------------------
-//	
-TInt CRsfwVolumeTable::PurgeFromCache(TDesC& aCachePath) 
-    {
-    // get the volume id for this path
-    TParse parser;
-    parser.Set(aCachePath, NULL, NULL);
-    if (!(parser.DrivePresent())) 
-        {
-        return KErrArgument;
-        }
-    TPtrC drive = parser.Drive();
-    CRsfwVolume* volume = VolumeByDriveLetter(drive[0]);
-    if (!volume) 
-        {
-        return KErrNotFound;
-        }
-    
-    if (!(parser.PathPresent())) 
-        {
-        return KErrArgument;
-        }
-            
-    if (parser.NamePresent()) 
-        {
-        // this is a file
-        return KErrArgument;
-        }
-    return volume->iFileEngine->PurgeFromCache(parser.Path());
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::CancelTransfer()
-//
-// ----------------------------------------------------------------------------
-//	
-TInt CRsfwVolumeTable::CancelTransferL(TDesC& aFilePath) 
-    {
-    DEBUGSTRING16(("CRsfwVolumeTable::CancelTransferL for %S", &aFilePath));
-      // get the volume id for this path
-    TParse parser;
-    parser.Set(aFilePath, NULL, NULL);
-    if (!(parser.DrivePresent())) 
-        {
-        return KErrArgument;
-        }
-    TPtrC drive = parser.Drive();
-    CRsfwVolume* volume = VolumeByDriveLetter(drive[0]);
-    if (!volume) 
-        {
-        return KErrNotFound;
-        }
-              
-    if (!(parser.NamePresent())) 
-        {
-        // this is not a file
-        return KErrArgument;
-        }
-       
-    
-    // mark the file entry as "cancelled"
-    TPtrC pathPtr  = aFilePath.Right(aFilePath.Length() - 2); //drop the drive letter
-    CRsfwFileEntry* targetFid = volume->iFileEngine->FetchFep(pathPtr);
-    if (targetFid)
-        {
-        DEBUGSTRING(("setting KNodeWritingCancelled for fid %d", targetFid->Fid().iNodeId));
-        targetFid->SetFlags(KNodeWritingCancelled);
-        }
-        
-    volume->iFileEngine->CancelTransactionL(aFilePath);
-
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwVolumeTable::IsMountIdle()
-//
-// ----------------------------------------------------------------------------
-//	
-TBool CRsfwVolumeTable::IsMountIdle(TRsfwMountStatus& aMountStatus) 
-    {
-    if (aMountStatus.iMountState != KMountStateDormant
-        || aMountStatus.iConnectionState == KMountConnecting)
-        {
-        return EFalse;
-        }
-    else
-        {
-        return ETrue;
-        }
-    }
--- a/remotestoragefw/remotefileengine/src/rsfwwaitnotemanager.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,564 +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:  Global wait notes used in Remote File Engine
-*
-*/
-
-
-// INCLUDE FILES
-#include <pathinfo.h>
-#include <CAknMemorySelectionDialog.h>
-#include <RemoteFileEngine.rsg>
-#include <aknnotpi.rsg>
-#include <AknGlobalConfirmationQuery.h>
-#include <StringLoader.h>
-#include <CDirectoryLocalizer.h>
-#include <AknGlobalNote.h>
-#include <bautils.h>
-
-#include "rsfwwaitnotemanager.h"
-#include "rsfwrfeserver.h"
-#include "sysutil.h"
-#include "mdebug.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::CRsfwWaitNoteManager
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwWaitNoteManager::CRsfwWaitNoteManager() :
-    CActive( CActive::EPriorityUserInput )
-    {
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ConstructL()
-    {
-    DEBUGSTRING(("CRsfwWaitNoteManager::ConstructL"));
-    CActiveScheduler::Add( this );
-    iOpState = ERemoteWaitNoteStateOk;
-    
-    // read wait note txt:s from the localization file
-    TFileName resourceFile;
-    resourceFile.Copy(KResourceFile);
-    BaflUtils::NearestLanguageFile(CRsfwRfeServer::Env()->iFs,resourceFile);
-    
-    DEBUGSTRING16(("opening resource file '%S'", &resourceFile));   
-    iResourceFile.OpenL(CRsfwRfeServer::Env()->iFs, resourceFile);   
-    iResourceFile.ConfirmSignatureL();
-    DEBUGSTRING(("resource file ok")); 
-    
-    // pre-read the most common strings  	
-   	HBufC8* warningNoteLabel = iResourceFile.AllocReadL(R_WAIT_NOTE_DISC_WARNING);
-    CleanupStack::PushL(warningNoteLabel);
-    iResourceReader.SetBuffer(warningNoteLabel);
-    iNoteTxt = iResourceReader.ReadHBufCL();
-    CleanupStack::PopAndDestroy(warningNoteLabel);
-
-	iAvkonNoteId = 0;
-   
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwWaitNoteManager* CRsfwWaitNoteManager::NewL()
-    {
-    CRsfwWaitNoteManager* self = new ( ELeave ) CRsfwWaitNoteManager();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CRsfwWaitNoteManager::~CRsfwWaitNoteManager()
-    {
-    Deque();
-    iResourceFile.Close();
-    
-    
-    if (iNoteTxt) 
-    	{
-    	delete iNoteTxt;
-    	}
-    if (iAuthRequest) 
-        {
-        delete iAuthRequest;
-        }
-    
-    if (iGlobalNoteRequest) 
-        {
-        delete iGlobalNoteRequest;
-        }
-
-     if (iSaveToRequest) 
-        {
-        delete iSaveToRequest;
-        iSaveToRequest = NULL;
-        }
-
-    iNotifier.Close();		
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::StartWaitNoteL
-// Start to display a wait note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CRsfwWaitNoteManager::StartWaitNoteL( 
-	TRemoteOperationType aOpType,
-	CRsfwWaitNoteStateMachine*  aOperation)
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::StartWaitNoteL"));
-   
-    // It is possible that when this function is called there already is 
-    // a wait note. In this case we allow the new operation and its wait note
-    // to override the ongoing concurrent operation's wait note. 
-    // However, we want to protect some dialogs. 
-    // These are 
-    // 1) Wait note when uploading a file 
-    // The reason for this is that the wait note is in fact the only indication
-    // the user gets about the status of writing a file to the server.
-    // 2) User query when uploading failed and we need to give time to read 
-    // the dialogs about selecting a new location from a local media
-    if (!((iOpState == ERemoteWaitNoteStateInProgress) && (iOpType == ERemoteSaveToLocal)))
-    	{ 	    
- 		iOperation = aOperation;
-    
-    	// cancel whatever is there currently
-    	CancelWaitNoteL(iNoteId);
-    	
-    	DEBUGSTRING16(("CRsfwWaitNoteManager::CancelWaitNoteL returned"));
-    	
-    	// don't make asynchronous request when there has been already any!
-    	if(!IsActive())
-            {
-        	if (aOpType <= ERemoteSaveToLocal) 
-        	    {
-        	    DEBUGSTRING16(("calling iNotifier.Connect()"));
-        	    User::LeaveIfError(iNotifier.Connect());
-        	    DEBUGSTRING16(("called iNotifier.Connect()"));
-        	    }
-      	    
-        	switch( aOpType )
-        		{  
-        		// these "basic request" pass the method and drive friendly name
-        		// drive friendly name is not needed for wait notes, only for retryrequest
-        		// so there could be even more simple IPC struct without it
-        		// (on the other hand, current param struct would easily allow showing the friendly name
-        		// with the wait notes)
-        		case ERemoteOpConnecting:
-        	    case ERemoteOpDirDownloading:
-        	    case ERemoteUnavailableRetry: 
-        		    {
-        		    iNotifier.StartNotifierAndGetResponse(iStatus, KRsfwNotifierPluginUID,
-                        *iGlobalNoteRequest, *iGlobalNoteRequest);
-        		    }
-        		    break;
-        	    case ERemoteWarnDisconnect:
-        	        {
-        	        CAknGlobalConfirmationQuery* iQuery = CAknGlobalConfirmationQuery::NewL();
-                    iQuery->ShowConfirmationQueryL(iStatus, *iNoteTxt);
-         	        break;							
-        	        }
-        	    case ERemoteOpAuthDialog:
-        	        {
-        	        DEBUGSTRING16(("calling ERemoteOpAuthDialog/ERemoteUnavailableRetry"));
-        	        // same struct used for input and output params.
-        	        iNotifier.StartNotifierAndGetResponse(iStatus, KRsfwNotifierPluginUID,
-                        *iAuthRequest, *iAuthRequest);
-        	        break;
-        	        }
-
-        		case ERemoteSaveToLocal:
-        	    	DEBUGSTRING16(("calling ERemoteOpAuthDialog/ERemoteSaveToLocal"));
-        		    iNotifier.StartNotifierAndGetResponse(iStatus, KRsfwNotifierPluginUID,
-                        *iSaveToRequest, *iSaveToRequest);
-        		    break;
-        		}
-    
-    	    DEBUGSTRING16(("CRsfwWaitNoteManager calling SetActive()"));
-    	    SetActive();
-    	    
-    	
-            DEBUGSTRING16(("CRsfwWaitNoteManager::StartWaitNoteL function returns"));
-       	    iOpType = aOpType;
-            iOpState = ERemoteWaitNoteStateInProgress;
-            return ++iNoteId;
-    	    }
-        else
-            {
-            DEBUGSTRING16(("CRsfwWaitNoteManager::StartWaitNoteL attempt to make request when object is active"));
-            DEBUGSTRING16(("CRsfwWaitNoteManager::StartWaitNoteL function returns 0"));
-    	    return 0;  // caller didn't "get" the note
-            }
-        }
-    else
-        {
-        DEBUGSTRING16(("CRsfwWaitNoteManager::StartWaitNoteL function returns 0"));
-        return 0;   // caller didn't "get" the note
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::CancelWaitNote
-// Cancel a wait note.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::CancelWaitNoteL(TInt aNoteId)
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::CancelWaitNoteL, iOpState = %d, iOpType = %d", iOpState, iOpType));		
-    // Cancel a wait note if there is one and it is the same one that
-    // the caller thinks it is removing...
-    if ( (iOpState == ERemoteWaitNoteStateInProgress ) && (aNoteId == iNoteId))
-        {
-           
-        if (iOpType <= ERemoteSaveToLocal) 
-            { 
-            // notifier plugin dialogs
-            User::LeaveIfError(iNotifier.CancelNotifier(KRsfwNotifierPluginUID));
-            iNotifier.Close();
-            }
-       
-            
-        // Dismiss qlobal query 
-        if ( iQuery )
-            {
-            iQuery->CancelConfirmationQuery();
-            delete iQuery;
-            iQuery = NULL;
-            }    
-            
-
-        
-        iOpState = ERemoteWaitNoteStateOk;
-        }
-    
-    }         
-    
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::RunL
-// Handles an active object’s request completion event.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::RunL()
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::RunL, status=%d, optype=%d", iStatus.Int(), iOpType));
-    CancelWaitNoteL(iNoteId);
-    
-    TInt errorCode = iStatus.Int();
-    
-    switch (iOpType) 
-        {
-        case ERemoteWarnDisconnect:
-            if (iStatus == EAknSoftkeyYes)
-                {
-                errorCode = KErrNone;
-                }
-            else 
-                {
-                errorCode = KErrCancel;
-                }
-            break;
-       case ERemoteOpAuthDialog:
-            iAuthCredentials->iUserName = (*iAuthRequest)().iUserName;
-            iAuthCredentials->iPassword = (*iAuthRequest)().iPassword;  
-            delete iAuthRequest;
-            iAuthRequest = NULL;
-            break;
-       case ERemoteUnavailableRetry:
-       case ERemoteOpConnecting:
-       case ERemoteOpDirDownloading:
-            delete iGlobalNoteRequest;
-            iGlobalNoteRequest = NULL; 
-            break;
-       case ERemoteSaveToLocal:
-            iSaveParams->iFileName = (*iSaveToRequest)().iFileName;
-            delete iSaveToRequest;
-            iSaveToRequest = NULL;
-            break;
-        }
-        
-    if (iOperation) // is some operation waiting for info about this wait note?
-        {
-       if (((iOpType == ERemoteOpDirDownloading) || (iOpType == ERemoteOpConnecting))
-            && (errorCode == KErrCancel))
-                {
-                 DEBUGSTRING16(("calling iOperation->CancelTransaction()"));
-                // we received from the dialog information that user wants to cancel
-                // call CancelTransaction on the access protocol module
-                // this then must cancel our pending transaction
-                // so we finally get to the ErrorL() state of the state machine
-                iOperation->CancelTransaction();
-                }
- 
-       else 
-            {
-            DEBUGSTRING16(("calling iOperation->HandleRemoteAccessResponse()"));
-            iOperation->HandleRemoteAccessResponse(0, errorCode);
-            }
-        }
-               
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwWaitNoteManager::RunError(TInt /*aError*/)
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::RunError"));		
-    return KErrNone;
-	}    
-    
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::DoCancel
-// -----------------------------------------------------------------------------
-//  
-void CRsfwWaitNoteManager::DoCancel() 
-	{	
-	}  
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowAddressNotFoundErrorL
-// -----------------------------------------------------------------------------
-// 	
-void CRsfwWaitNoteManager::ShowAddressNotFoundErrorL(
-    const TDesC& aFriendlyName) 
-    {	
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ShowAddressNotFoundErrorL (drive '%S')", &aFriendlyName));	
-	RResourceFile resourceFile;
-	TResourceReader resourceReader; 
-	
-	// get the name of the localized resource file
-	TFileName resourceFileName;
-    resourceFileName.Copy(KResourceFile);
-	BaflUtils::NearestLanguageFile(CRsfwRfeServer::Env()->iFs,resourceFileName);
-	
-	DEBUGSTRING16(("opening resource file '%S'", &resourceFileName)); 
-	// read localized string from resource file
-    resourceFile.OpenL(CRsfwRfeServer::Env()->iFs, resourceFileName);
-    CleanupClosePushL(resourceFile);
-    resourceFile.ConfirmSignatureL();
-    DEBUGSTRING(("resource file ok")); 
-    HBufC8* noteBuffer = resourceFile.AllocReadLC(R_NOTE_ADDRESS_NOT_AVAILABLE);
-    resourceReader.SetBuffer(noteBuffer);
-    HBufC* noteText = resourceReader.ReadHBufCL();
-    CleanupStack::PushL(noteText);
-    
-    // S60 .loc formatting
-    HBufC* formattedText = HBufC::NewLC(noteText->Length() + aFriendlyName.Length());  
-    TPtr fprt = formattedText->Des();  
-    StringLoader::Format(fprt, *noteText , -1, aFriendlyName);
-    
-    // error dialog
-    CAknGlobalNote* errorDialog = CAknGlobalNote::NewLC();
-    errorDialog->ShowNoteL(EAknGlobalErrorNote, *formattedText);
-    CleanupStack::PopAndDestroy(5); // resourceFile, noteBuffer, noteText, formattedText, errordialog
-	}
-
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::SetAuthenticationDialogL
-// -----------------------------------------------------------------------------
-// 
-void CRsfwWaitNoteManager::SetAuthenticationDialogL(TRsfwAuthenticationDlgRequest& aAuthRequest) 
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::SetAuthenticationDialogL"));
-    if (iAuthRequest) 
-        {
-        delete iAuthRequest;
-        iAuthRequest = NULL;
-        }
-    iAuthRequest = new (ELeave) TRsfwAuthParamsPckg(); 
-    
-    (*iAuthRequest)() = aAuthRequest;
-    iAuthCredentials = &aAuthRequest;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::SetGlobalNoteRequestL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::SetGlobalNoteRequestL(TRsfwNotPluginRequest& aRequestStruct)
-    {
-  	DEBUGSTRING16(("CRsfwWaitNoteManager::SetGlobalNoteRequestL"));
-    if (iGlobalNoteRequest) 
-        {
-        delete iGlobalNoteRequest;
-        iGlobalNoteRequest = NULL;
-        }
-    
-    iGlobalNoteRequest = new (ELeave) TRsfwRetryParamsPckg();
-    (*iGlobalNoteRequest)() = aRequestStruct;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::SetSaveToDialogRequestL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::SetSaveToDialogRequestL(TRsfwSaveToDlgRequest& aSaveToRequest) 
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::SetSaveToDialogRequestL"));	
-    if (iSaveToRequest) 
-        {
-        delete iSaveToRequest;
-        iSaveToRequest = NULL;
-        }
-    
-    iSaveToRequest = new (ELeave) TRsfwSaveToParamsPckg();
-    
-    (*iSaveToRequest)() = aSaveToRequest;
-    iSaveParams = &aSaveToRequest;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowFileSavedToDialogL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ShowFileSavedToDialogL(const TDesC& aPath )
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ShowFileSavedToDialogL"));	
-    HBufC8* textbuffer = iResourceFile.AllocReadL(R_CONFIRM_FILE_SAVED_TO);
-    CleanupStack::PushL(textbuffer);
-    iResourceReader.SetBuffer(textbuffer);
-    HBufC* text = iResourceReader.ReadHBufCL();
-    CleanupStack::PushL(text);
-    HBufC* formattedText = NULL;
-    
-    // extract the path
-    TParse parser;
-    parser.Set(aPath, NULL, NULL);
-    // try to get localized path
-    CDirectoryLocalizer* localizer = CDirectoryLocalizer::NewL();
-    CleanupStack::PushL(localizer);
-    // S60 localizer requires also drive letter,
-    // i.e. matches are like C:\\Data\\Images
-    localizer->SetFullPath(parser.DriveAndPath());
-    TPtrC localizedName = localizer->LocalizedName();
-    
-    if (localizedName != KNullDesC) 
-        {
-        formattedText = HBufC::NewMaxLC(text->Length() +
-    								localizedName.Length());
-    	
-        TPtr formatPtr(formattedText->Des());
-        StringLoader::Format(formatPtr, *text, -1, localizedName); 
-        }
-    else 
-        {
-        formattedText = HBufC::NewMaxLC(text->Length() +
-    								aPath.Length());
-    	
-        TPtr formatPtr(formattedText->Des());
-        StringLoader::Format(formatPtr, *text, -1, parser.Path());       
-        }
-    
-   																				
-    CAknGlobalNote* dlg = CAknGlobalNote::NewLC();
-    dlg->ShowNoteL(EAknGlobalInformationNote, *formattedText );
-    CleanupStack::PopAndDestroy(5); // textbuffer, text, localizer, formattedtext, dlg
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowFailedSaveNoteL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ShowFailedSaveNoteL() 
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ShowFailedSaveNoteL"));
-    ShowGlobalInformationNoteL(R_SAVING_FAILED);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowFailedSaveNoteL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ShowNoNetworkCoverageNoteL() 
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ShowNoNetworkCoverageNoteL"));
-    ShowGlobalInformationNoteL(R_NO_NETWORK_COVERAGE);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowOfflineNotPossibleNoteL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ShowOfflineNotPossibleNoteL() 
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ShowOfflineNotPossibleNoteL")); 	
-    ShowGlobalInformationNoteL(R_OFFLINE_NOT_POSSIBLE);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowOutOfMemoryNoteL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ShowOutOfMemoryNoteL() 
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ShowOutOfMemoryNoteL")); 	
-    ShowGlobalInformationNoteL(R_RAM_OUT_OF_MEMORY);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ShowGlobalInformationNoteL
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ShowGlobalInformationNoteL(TInt aResourceId) 
-    {
-    HBufC8* textbuffer = iResourceFile.AllocReadL(aResourceId);
-    CleanupStack::PushL(textbuffer);
-    iResourceReader.SetBuffer(textbuffer);
-    HBufC* text = iResourceReader.ReadHBufCL();
-    CleanupStack::PushL(text);
-    CAknGlobalNote* dlg = CAknGlobalNote::NewLC();
-    dlg->ShowNoteL(EAknGlobalInformationNote, *text );
-    CleanupStack::PopAndDestroy(3); // textBuffer, text, dlg
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwWaitNoteManager::ResetOperation
-// -----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteManager::ResetOperation()
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteManager::ResetOperation")); 	 	
-    iOperation = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-
-//  End of File 
--- a/remotestoragefw/remotefileengine/src/rsfwwaitnotestatemachine.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 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:  States that use a global wait dialog
-*
-*/
-
-  
-#include "rsfwwaitnotestatemachine.h"
-#include "rsfwvolumetable.h"
-#include "rsfwwaitnotemanager.h"
-#include "rsfwfileengine.h"
-#include "rsfwvolume.h"
-#include "mdebug.h"
-
-
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::CancelTransaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteStateMachine::CancelTransaction() 
-	{	
-	//if ((iTransactionId > 0) && FileEngine()) 
-	if (FileEngine()) 
-		{
-		if ((iTransactionId > 0))
-		    {
-	        // with cancelled global wait notes the operation is
-            // completed via access protocol Cancel
-            // that is transaction is cancelled and the operation state machine
-            // receives KErrCancel callback
-		    FileEngine()->CancelTransaction(iTransactionId);
-		    }
-		else
-		    {
-		    HandleRemoteAccessResponse(0, KErrCancel);
-		    }
-    	}
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::ShowWaitNoteL
-// ----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteStateMachine::ShowWaitNoteL(TRemoteOperationType aOperationType)
-    {
-    if (FileEngine() && FileEngine()->Volume())
-        {
-        switch (aOperationType) 
-            {
-             case ERemoteOpConnecting:
-                iGlobalWaitNoteRequest.iMethod = TRsfwNotPluginRequest::EConnectingDlg;
-                break;    
-             case ERemoteOpDirDownloading:  
-                iGlobalWaitNoteRequest.iMethod = TRsfwNotPluginRequest::EFetchingDlg;
-                break; 
-             case ERemoteUnavailableRetry:
-                iGlobalWaitNoteRequest.iMethod = TRsfwNotPluginRequest::EUnavailableRetryDlg;
-                break;
-             }
-            Volumes()->WaitNoteManager()->SetGlobalNoteRequestL(iGlobalWaitNoteRequest);
-            iNoteId = Volumes()->WaitNoteManager()
-                        ->StartWaitNoteL(aOperationType, this);       
-        }
-   else
-        {// show note if Uri info not available
-        iNoteId = Volumes()->WaitNoteManager()->StartWaitNoteL(aOperationType, this);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::DeleteWaitNoteL
-// ----------------------------------------------------------------------------
-//
-void CRsfwWaitNoteStateMachine::DeleteWaitNoteL(TBool aCancelOpWait)
-    {
-    DEBUGSTRING16(("CRsfwWaitNoteStateMachine::DeleteWaitNoteL"));	
-    if (aCancelOpWait) 
-        {
-         // let the wait note manager know that we are not expecting any event anymore
-        Volumes()->WaitNoteManager()->ResetOperation(); 
-        }
-    if (iNoteId > 0) 
-    	{
-    	Volumes()->WaitNoteManager()->CancelWaitNoteL(iNoteId);
-    	iNoteId = 0;	
-    	}
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::ErrorOnStateEntry
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwWaitNoteStateMachine::ErrorOnStateEntry(TInt aError)
-    {
-    TRAP_IGNORE(DeleteWaitNoteL(ETrue));
-    return CRsfwRfeStateMachine::ErrorOnStateEntry(aError);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::ErrorOnStateExit
-// ----------------------------------------------------------------------------
-//
-CRsfwRfeStateMachine::TState* CRsfwWaitNoteStateMachine::ErrorOnStateExit(TInt aError)
-    {
-    TRAP_IGNORE(DeleteWaitNoteL(ETrue));
-    return CRsfwRfeStateMachine::ErrorOnStateExit(aError);
-    }    
-    
-// ----------------------------------------------------------------------------
-// CRsfwWaitNoteStateMachine::CompleteRequestL
-// ----------------------------------------------------------------------------
-//     
-CRsfwRfeStateMachine::TState* CRsfwWaitNoteStateMachine::CompleteRequestL(
-    TInt aError) 
-    {   
-    CompleteAndDestroyState()->SetErrorCode(aError);
-    DeleteWaitNoteL(ETrue);
-    return CompleteAndDestroyState(); 
-    }
- 
-
-
--- a/remotestoragefw/remotefilesystemplugin/bwins/eremotefsu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	CreateFileSystem @ 1 NONAME
-
--- a/remotestoragefw/remotefilesystemplugin/eabi/eremotefsu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	CreateFileSystem @ 1 NONAME
-	_ZTI12CRsfwFsDirCB @ 2 NONAME DATA 12 ; #<TI>#
-	_ZTI13CRsfwFsFileCB @ 3 NONAME DATA 12 ; #<TI>#
-	_ZTI14CRsfwFsMountCB @ 4 NONAME DATA 12 ; #<TI>#
-	_ZTI15CRsfwFileSystem @ 5 NONAME DATA 12 ; #<TI>#
-	_ZTI15CRsfwFsFormatCB @ 6 NONAME DATA 12 ; #<TI>#
-	_ZTV12CRsfwFsDirCB @ 7 NONAME DATA 44 ; #<VT>#
-	_ZTV13CRsfwFsFileCB @ 8 NONAME DATA 68 ; #<VT>#
-	_ZTV14CRsfwFsMountCB @ 9 NONAME DATA 152 ; #<VT>#
-	_ZTV15CRsfwFileSystem @ 10 NONAME DATA 76 ; #<VT>#
-	_ZTV15CRsfwFsFormatCB @ 11 NONAME DATA 40 ; #<VT>#
-
--- a/remotestoragefw/remotefilesystemplugin/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Controls building of Remote file System plug-in.
-*
-*/
-
-PRJ_MMPFILES
-eremotefs.mmp
-
-// End of File
--- a/remotestoragefw/remotefilesystemplugin/group/eremotefs.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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:  Project definition file for project Remote File System plug-in
-*
-*/
-
-
-#include <platform_paths.hrh>
-// Capabilities of File Server process
-CAPABILITY TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD 
-
-TARGET		eremotefs.fsy
-TARGETTYPE	fsy
-UID		0x100039df 0x101F9768
-TARGETPATH	/system/libs
-
-SOURCEPATH	../src
-SOURCE		rsfwfs.cpp 
-SOURCE		rsfwfsdircb.cpp 
-SOURCE		rsfwfsfilecb.cpp 
-SOURCE		rsfwfilesystem.cpp 
-SOURCE		rsfwfsformatcb.cpp 
-SOURCE		rsfwfsmountcb.cpp 
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE	/epoc32/include/libc
-USERINCLUDE     ../inc
-
-LIBRARY		euser.lib 
-LIBRARY		efile.lib 
-LIBRARY		efsrv.lib 
-LIBRARY		estor.lib
-LIBRARY		rsfwsession.lib
-
-START WINS
-BASEADDRESS	0x63000000
-END
-
-unpagedcode
-
-DEFFILE   eremotefs.def
-
-// End of File
-
--- a/remotestoragefw/remotefilesystemplugin/inc/rsfwfilesystem.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  Remote File System Plug-in implementation
-*
-*/
-
-
-#ifndef CRSFWFILESYSTEM_H
-#define CRSFWFILESYSTEM_H
-
-#include <f32fsys.h>
-
-
-/**
- *  Classes that a plug-in file system must implement.
- *
- *  A plug-in filesystem must implement CFileSystem, which is a factory 
- *  class for a file system. That class must create objects derived from 
- *  CMountCB, CFileCB, CDirCB and CFormatCB. These are defined in f32fsys.h
- *
- *  @lib eremotefs.fsy
- *  @since Series 60 3.2
- */
-class CRsfwFileSystem : public CFileSystem
-    {
-public: // Constructors and destructor
-    /**
-     * Static constructor.
-     */
-    static CRsfwFileSystem* New();
-        
-    /**
-     * Constructor.
-     */    
-    CRsfwFileSystem();
-        
-    /**
-     * Destructor.
-     */      
-    ~CRsfwFileSystem();
-        
-public: // Functions from base class
-    /**
-     * From CFileSystem Installs the file system.
-     * @since Series 60 3.2
-     * @return
-     */
-    TInt Install();   
-        
-    /**
-     * From CFileSystem Creates a new mount control block.
-     * @since Series 60 3.2
-     * @return A pointer to the new mount object.
-     */    
-    CMountCB* NewMountL() const;
-        
-    /**
-     * From CFileSystem Creates a new file control block.
-     * @since Series 60 3.2
-     * @return A pointer to the new file object.
-     */          
-    CFileCB* NewFileL() const;
-        
-    /**
-     * From CFileSystem Creates a new directory control block.
-     * @since Series 60 3.2
-     * @return A pointer to the new directory object.
-     */            
-    CDirCB* NewDirL() const;
-        
-    /**
-     * From CFileSystem Creates a new volume format control block.
-     * @since Series 60 3.2
-     * @return  A pointer to the new volume format object.
-     */        
-    CFormatCB* NewFormatL() const;
-        
-    /**
-     * From CFileSystem Retrieves drive information.
-     * @since Series 60 3.2
-     * @param anInfo       On return, contains the drive information.
-     * @param aDriveNumber The drive number.
-     * @return  
-     */        
-    void DriveInfo(TDriveInfo& anInfo,TInt aDriveNumber) const;
-          
-    /**
-     * From CFileSystem Returns the default path for the file system. 
-     * @since Series 60 3.2
-     * @param aPath  On return, contains the default path.
-     * @return KErrNone or an appropriate error code when the default path
-     *         cannot be supplied.
-     */              
-    TInt DefaultPath(TDes& aPath) const;
-
-
-    /**
-     * From CFileSystem Does clean up before the filesystem is destroyed.
-     * @since Series 60 3.2
-     * @return  An error code.
-     */        
-    TInt Remove();
-        
-private:
-    /**
-     * Creates a new mount control block.
-     * @since Series 60 3.2
-     * @return A pointer to the new mount object.
-     */  
-    CMountCB* NewRemoteFsMountL();
-
-public:   // Data       
-    // unique id of the file system 
-    TUint iUniqueID; 
-
-    };
-
-#endif // CRSFWFILESYSTEM_H
-
-
--- a/remotestoragefw/remotefilesystemplugin/inc/rsfwfsdircb.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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:  Remote File System Plug-in implementation
-*
-*/
-
-
-#ifndef CRSFWFSDIRCB_H
-#define CRSFWFSDIRCB_H
-
-//  INCLUDES
-#include <f32fsys.h>
-#include <s32file.h>
-//#include "rsfwsession.h"
-#include "rsfwinterface.h"
-
-// CONSTANTS
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATIONS
-
-/**
- *  Classes that a plug-in file system must implement. A plug-in 
- *  filesystem must implement CFileSystem, which is a factory class for 
- *  a file system. That class must create objects derived from CMountCB, 
- *  CFileCB, CDirCB and CFormatCB. These are defined in f32fsys.h
- *
- *  @lib eremotefs.fsy
- *  @since Series 60 3.2
- */
-class CRsfwFsDirCB : public CDirCB
-    {
-public:   // Constructors and destructor
-    
-    /**
-     * Static constructor.
-     */      
-    static CRsfwFsDirCB* NewL();
-        
-    /**
-     * Destructor.
-     */
-    ~CRsfwFsDirCB();
-    
-public:   // New functions
-    
-    /**
-     * Prepares the class to read directory entries from a local cache container file
-     * @since Series 60 3.2
-     * @param aPath path of the directory container in the local cache
-     * @param aName the entries to be read from the directory, for example, "*"
-     * @return 
-     */
-    void SetDirL( const TDesC& aPath, 
-                  const TDesC& aName );
-    
-public:   // Functions from base classes
-    
-    /**
-     * From CDirCB Gets information from the first suitable entry in the directory,
-     *             starting from the current read position.
-     * @since Series 60 3.2
-     * @param anEntry Entry information object.
-     * @return 
-     */
-    void ReadL( TEntry& anEntry );
-        
-private:
-    
-    /**
-     * C++ default constructor.
-     */
-    CRsfwFsDirCB();
-        
-public:     // Data
-
-    // the Fid of this dir 
-    TFid iThisFid; 
-
-private:    // Data
-    
-    // stream attached to the local cache container file
-    RFileReadStream iDirContReadStream;
-        
-    // the entries to be read from the directory, for example, "*"
-    HBufC* iMatch;
-        
-    // whether the cache container includes the contents the directory
-    TBool iHasBeenFetched;
-        
-    // which entry position to read next
-    TInt iEntryPos;   
-          
-    // at which stream position to read next
-    TStreamPos iStreamPos;   
-        
-    // where to read if we must re-read the last entry to be read
-    TStreamPos iPendingPos;
-        
-    }; 
-
-#endif // CRSFWFSDIRCB_H
-
-// End of File
-
--- a/remotestoragefw/remotefilesystemplugin/inc/rsfwfsfilecb.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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:  Remote File System Plug-in implementation
-*
-*/
-
-
-#ifndef CRSFWFSFILECB_H
-#define CRSFWFSFILECB_H
-
-//  INCLUDES
-#include <f32fsys.h>
-#include "rsfwinterface.h"
-
-/**
- *  Classes that a plug-in file system must implement. A plug-in 
- *  filesystem must implement CFileSystem, which is a factory class for 
- *  a file system. That class must create objects derived from CMountCB, 
- *  CFileCB, CDirCB and CFormatCB. These are defined in f32fsys.h
- *
- *  @lib eremotefs.fsy
- *  @since Series 60 3.2
- */
-class CRsfwFsFileCB : public CFileCB
-    {
-public:  // Constructors and destructor
-    
-    /**
-     * Constructor.
-     */
-    CRsfwFsFileCB();
-        
-    /**
-     * Destructor.
-     */
-    ~CRsfwFsFileCB();
-        
-public:  // New functions
-    
-    /**
-     * Prepares the class to read file from a local cache file
-     * @since Series 60 3.2
-     * @param aPath path of the cache file
-     * @return 
-     */
-    void SetContainerFileL( const TDesC& aPath);
-        
-public:  // Functions from base class
-    
-    /**
-     * From CFileCB Renames the file with the full file name provided.
-     * @since Series 60 3.2
-     * @param aNewName The new full name of the file.
-     * @return 
-     */
-    void RenameL( const TDesC& aNewName );
-
-    /**
-     * From CFileCB Reads from an open file
-     * @since Series 60 3.2
-     * @param aPos     Represents a position relative to the start of the file
-     *                 where ReadL() starts to read.
-     * @param aLength  On entry, specifies the number of bytes to be read
-     *                 from the file. On return, contains the number of bytes
-     *                 read, but this is not valid if the function leaves.
-     * @param aDes     Pointer to a descriptor into which the data is written.
-     * @param aMessage The client request. 
-     * @return 
-     */
-    void ReadL( TInt aPos,
-                TInt& aLength,
-                const TAny* aDes, 
-                const RMessagePtr2& aMessage );
-                    
-    /**
-     * From CFileCB Writes to an open file
-     * @since Series 60 3.2
-     * @param aPos     Represents a position relative to the start of the file
-     *                 where WriteL() starts to write.
-     * @param aLength  Specifies the number of bytes to be written to the file.
-     *                 On return, the number of bytes written, but this is not
-     *                 valid if the function leaves.
-     * @param aDes     Pointer to a descriptor containing the data to be written
-     *                 to the file.
-     * @param aMessage The client request.
-     * @return 
-     */                  
-    void WriteL( TInt aPos,
-                 TInt& aLength,
-                 const TAny* aDes,
-                 const RMessagePtr2& aMessage );
-                     
-    /**
-     * From CFileCB Extends or truncates the file by re-setting the file size.
-     * @since Series 60 3.2
-     * @param aSize The new file size in number of bytes.
-     * @return 
-     */
-    void SetSizeL( TInt aSize );
-        
-    /**
-     * From CFileCB Sets the attribute mask and the modified time of the file.
-     * @since Series 60 3.2
-     * @param aTime The new modified time, if the modified flag is set in aMask.
-     * @param aMask Bit mask containing bits set (to 1) that are to be set (to 1)
-     *              in iAtt.
-     * @param aVal  Bitmask containing bits set (to 1) that are to be unset (to 0)
-     *              in iAtt.
-     * @return
-     */    
-    void SetEntryL(const TTime& aTime,TUint aMask,TUint aVal);
-        
-        
-    /**
-     * From CFileCB Flushes, to disk, the cached information necessary for
-     * the integrity of recently written data, such as the file size.
-     * @since Series 60 3.2
-     * @return
-     */      
-    void FlushDataL();
-        
-    /**
-     * From CFileCB Flushes, to disk, all cached file data (e.g. attributes, 
-     * modification time, file size). 
-     * @since Series 60 3.2
-     * @return
-     */      
-    void FlushAllL();
-    
-  
-public:  // Data
-    // the fid of this file   
-    TFid iThisFid; 
-    
-    // the fid of the parent, needed for rename
-    TFid iParentFid;
-        
-    // If flush returned an error, we do not attempt to write the file to server in close()
-    // either, unless new data is written to the cache file. We assume that the application
-    // has handled the flush error, also this is required for example to make File Manager UI
-    // to work correctly (if user presses cancel when flushing), writing should be cancelled.
-    TBool iLastFlushFailed;
-
-      
-private:   // Data
-    // open file handle on the cache file
-    RFile iContFile;
-    
-    // the path of the local cache
-    TBuf<KMaxPath> iCachePath;
-                 
-    // cached size bookkeeping
-    TInt iCachedSize;
-
-    // indicates whether a file was fetched to the local cache before writing
-    TBool iFetchedBeforeWriting;
-    
-    // some varibles needed when flushing a big file
-    // in continuous parts (currently used in File
-    // Manager copy).
-    
-    // how much already has been flushed
-    TInt iFlushedSize;
-
-    // how much has been written to since the file was opened
-    TInt iWrittenSize;
-    
-    // the total size of the file, reported by client
-    // via RFile::SetSize()
-    TInt iReportedSize;
-    
-    // does the server support writing the file partially
-    // assumed to be true unless we get KErrNotSupported
-    TBool iPartialWriteSupported;
-    };  
-
-#endif // CRSFWFSFILECB_H
-
-
--- a/remotestoragefw/remotefilesystemplugin/inc/rsfwfsformatcb.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:  Remote File System Plug-in implementation
-*
-*/
-
-
-#ifndef CRSFWFSFORMATCB_H
-#define CRSFWFSFORMATCB_H
-
-//  INCLUDES
-#include <f32fsys.h>
-
-/**
- *  Classes that a plug-in file system must implement. A plug-in 
- *  filesystem must implement CFileSystem, which is a factory class for 
- *  a file system. That class must create objects derived from CMountCB, 
- *  CFileCB, CDirCB and CFormatCB. These are defined in f32fsys.h
- *
- *  @lib eremotefs.fsy
- *  @since Series 60 3.2
- */
-
-// ---------------------------------------------------------------------
-// CRsfwFsFormatCB
-// ---------------------------------------------------------------------
-class CRsfwFsFormatCB : public CFormatCB
-    {
-public:  // Constructors and destructor 
-
-    /**
-     * Constructor.
-     */
-    CRsfwFsFormatCB();
-        
-    /**
-     * Destructor.
-     */
-    ~CRsfwFsFormatCB();
-        
-public:  // Functions from base classes¨
-    /**
-     * From CFormatCB Performs a formatting step on the drive.
-     * @since Series 60 3.2
-     * @return 
-     */
-    void DoFormatStepL();
-    };
-
-#endif // CRSFWFSFORMATCB_H
-
-
--- a/remotestoragefw/remotefilesystemplugin/inc/rsfwfsmountcb.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,386 +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:  Remote File System Plug-in implementation
-*
-*/
-
-
-#ifndef CRSFWFSMOUNTCB_H
-#define CRSFWFSMOUNTCB_H
-
-//  INCLUDES
-#include <f32fsys.h>
-#include "rsfwsession.h"
-#include "rsfwinterface.h"
-
-class CRsfwFileSystem;
-
-// CLASS DECLARATIONS
-
-/**
- *  Classes that a plug-in file system must implement. A plug-in 
- *  filesystem must implement CFileSystem, which is a factory class for 
- *  a file system. That class must create objects derived from CMountCB, 
- *  CFileCB, CDirCB and CFormatCB. These are defined in f32fsys.h
- *
- *  @lib eremotefs.fsy
- *  @since Series 60 3.2
- */        
-class CRsfwFsMountCB : public CMountCB
-    {
-public:   // Constructors and destructor
-    
-    /**
-     * Static constructor.
-     */      
-    static CRsfwFsMountCB* NewL();
-            
-    /**
-     * Destructor.
-     */  
-    ~CRsfwFsMountCB();
-    
-public:   // New functions
-    
-                          
-    /**
-     * Renames a file.
-     * @since Series 60 3.2
-     * @param aDirFid fid of the parent directory of the file to be renamed
-     * @param aSourceName A reference to a descriptor containing the name
-     *                    of the file to be renamed.
-     * @param aNewName A reference to a descriptor containing the new full entry
-     *                 name for the entry to be renamed.
-     * @return 
-     */                          
-    void RenameFidL( TFid aDirFid,
-                     const TDesC& aSourceName, 
-                     const TDesC& aNewName );
-                     
-        
-    /**
-     * Returnes a handle to the Remote File Engine session
-     * @since Series 60 3.1
-     * @return a session handle.
-     */        
-    RRsfwSession* RSessionL();
-             
-        
-public:   // Functions from base classes
-        
-    /**
-     * From CMountCB Sets the mount control block properties.
-     * @since Series 60 3.2
-     * @param aForceMount Indicates whether the properties of a corrupt
-     *                    volume should be stored.
-     * @return
-     */        
-    void MountL( TBool aForceMount );
-        
-    /**
-     * From CMountCB Checks whether the mount control block represents the current mount on
-     * the associated drive.
-     * @since Series 60 3.2
-     * @return KErrNone if the mount represented by this object is found to be
-     the current mount;
-     KErrGeneral if this object is found not to represent
-     the current mount;
-     otherwise one of the other sytem wide error codes.
-    */                
-    TInt ReMount( );
-        
-    /**
-     * From CMountCB Carries out any clean-up necessary for a volume dismount. 
-     * @since Series 60 3.2
-     * @return 
-     */                        
-    void Dismounted( );
-        
-    /**
-     * From CMountCB Gets volume information.
-     * @since Series 60 3.2
-     * @param aVolume On return, a reference to the filled volume
-     *                information object.
-     * @return 
-     */                                
-    void VolumeL( TVolumeInfo& aVolume ) const;
-        
-        
-    /**
-     * From CMountCB Sets the volume name for the mount.
-     * @since Series 60 3.2
-     * @param aName A reference to a descriptor containing the new volume name.
-     * @return 
-     */                                        
-    void SetVolumeL( TDes& aName );
-    
-    /**
-     * From CMountCB Creates a new directory on the mount.
-     * @since Series60 3.2
-     * @param aName A reference to a descriptor containing the full name of
-     the directory to be created.
-     * @return
-     */
-    void MkDirL( const TDesC& aName );
-        
-    /**
-     * From CMountCB Removes the directory specified by aName from the volume.
-     * @since Series60 3.2
-     * @param aName A reference to a descriptor containing the full name of
-     the directory to be removed.
-     * @return
-     */      
-    void RmDirL( const TDesC& aName );
-        
-    /**
-     * From CMountCB Deletes the specified file from the mount.
-     * @since Series60 3.2
-     * @param aName A reference to a descriptor containing the full path name
-     of the file that will be removed.
-     * @return
-     */            
-    void DeleteL( const TDesC& aName );
-        
-    /**
-     * From CMountCB Renames or moves a single file or directory on the mount.
-     * @since Series60 3.2
-     * @param anOldName A reference to a descriptor containing the full entry
-     *                  name of the entry to be renamed.
-     * @param anNewName A reference to a descriptor containing the new full entry
-     *                 name for the entry to be renamed.
-     * @return
-     */              
-    void RenameL( const TDesC& anOldName,
-                  const TDesC& aNewName );
-          
-    /**
-     * From CMountCB Replaces one file on the mount with another.
-     * @since Series60 3.2
-     * @param anOldName A reference to a descriptor containing the full file name
-     *                  of the file to replace the file specified by anNewName
-     * @param anNewName A reference to a descriptor containing the new full file
-     *                  name for the entry to be replaced.
-     * @return
-     */          
-    void ReplaceL( const TDesC& anOldName,
-                   const TDesC& aNewName );
-        
-        
-    /**
-     * From CMountCB Gets the entry details for the specified file or directory.
-     * @since Series60 3.2
-     * @param aName   A reference to a descriptor containing the full name of
-     *                the entry whose details are required.
-     * @param anEntry On return, a reference to the filled entry object.
-     * @return
-     */                
-    void EntryL( const TDesC& aName,
-                 TEntry& anEntry ) const;
-        
-    /**
-     * From CMountCB Sets entry details for a specified file or directory.
-     * @since Series60 3.2
-     * @param aName  A reference to a descriptor containing the full name of
-     *               the entry to be updated.
-     * @param aTime  A reference to the time object holding the new universal
-     *               modified time for aName.
-     * @param aSetAttMask   Attribute mask for setting the entry's attributes.
-     * @param aClearAttMask Attribute mask for clearing the entry's attributes.
-     * @return
-     */
-    void SetEntryL( const TDesC& aName,
-                    const TTime& aTime,
-                    TUint aMask,
-                    TUint aVal );
-        
-    /**
-     * From CMountCB Opens a new or existing file on the mount.
-     * @since Series 60 3.2
-     * @param aName  The full name of the file that will be opened.
-     * @param aMode  The file share mode. The following share modes are available:
-     *               EFileShareExclusive;
-     *               EFileShareReadersOnly;
-     *               EFileShareAny;
-     *               EFileStream;
-     *               EFileStreamText;
-     *               EFileRead;
-     *               EFileWrite.
-     * @param anOpen Indicates how the file will be opened. It can be one of
-     *               the following:
-     *               EFileOpen;
-     *               EFileCreate;
-     *               EFileReplace.
-     * @param aFile  Pointer to the file control block which will, on success,
-     *               represent the open file.
-     * @return
-     */
-    void FileOpenL( const TDesC& aName,
-                    TUint aMode,
-                    TFileOpen anOpen,
-                    CFileCB* aFile );
-        
-    /**
-     * From CMountCB Opens a directory on the mount.
-     * @since Series 60 3.2
-     * @param aName A reference to a descriptor containing the full name of
-     the directory that will be opened.
-     * @param aDir  Points to a directory control block which will, on success,
-     represent the open directory.
-     * @return 
-     */        
-    void DirOpenL(  const TDesC& aName,
-                    CDirCB* aDir  );
-  
-    /**
-     * From CMountCB Gets the short name of the file or directory with 
-     *               the given full name.
-     * @since Series 60 3.2
-     * @param aLongName  A reference to a descriptor containing the full name
-     *                   of the entry.
-     * @param aShortName On return, a reference to a descriptor containing
-     *                   the short name of the entry.
-     * @return
-     */    
-    void GetShortNameL( const TDesC& aLongName,
-                        TDes& aShortName );
-        
-    /**
-     * From CMountCB Gets the long name of the file or directory associated with
-     *               the given short name.
-     * @since Series 60 3.2
-     * @param aShorName  A reference to a descriptor containing the short name
-     *                   of the entry.
-     * @param aLongName  On return, a reference to a descriptor containing
-     *                   the long name of the entry.
-     * @return
-     */      
-    void GetLongNameL( const TDesC& aShortName,
-                       TDes& aLongName );
-    
-    /**
-     * From CMountCB Reads a specified section of the file, regardless of the file's lock state.
-     * @since Series 60 3.2
-     * @param aName    A reference to a descriptor containing the full name of
-     *                 the file to be read from
-     * @param aPos     The byte position to start reading from.
-     * @param aTrg     A pointer to the buffer into which data is to be read.
-     * @param aLength  The length of data to be read, in bytes.
-     * @param aMessage Client message.
-     * @return 
-     */
-    void ReadSectionL( const TDesC& aName,
-                       TInt aPos,TAny* aTrg,
-                       TInt aLength,
-                       const RMessagePtr2& aMessage );
-                          
-    /**
-     * From CMountCB Reads the specified length of data from the specified position on
-     *               the volume directly into the client thread.
-     * @since Series 60 3.2
-     * @param aPos     Start position in the volume for the read operation,
-     *                 in bytes.
-     * @param aLength  The number of bytes to be read.
-     * @param aTrg     A pointer to the buffer into which data is to be read.
-     * @param anOffset The offset at which to start adding data to the read buffer.
-     * @param aMessage Client message.
-     * @return 
-     */    
-    void RawReadL( TInt64 aPos,
-                   TInt aLength,
-                   const TAny* aTrg,
-                   TInt anOffset,
-                   const RMessagePtr2& aMessage ) const;
-                      
-    /**
-     * From CMountCB  Writes a specified length of data from the client thread to the volume
-     *                at the specified position.
-     * @since Series 60 3.2
-     * @param aPos     Start position in the volume for the write operation,
-     *                 in bytes.
-     * @param aLength  The number of bytes to be written.
-     * @param aSrc     Pointer to the buffer from which data will be written.
-     * @param anOffset The offset in the buffer at which to start writing data.
-     * @param aMessage Client message.
-     * @return 
-     */                    
-    void RawWriteL( TInt64 aPos,
-                    TInt aLength,
-                    const TAny* aSrc,
-                    TInt anOffset,
-                    const RMessagePtr2& aMessage );
-                       
-    /**
-    Checks the integrity of the file system on the volume and returns an
-    appropriate error value. 
-    
-    @return KErrNone if the file system is stable; otherwise one of
-            the other system wide error codes.
-    */
-	TInt CheckDisk();
-	
-private:
-    
-    /**
-     * C++ default constructor.
-     */
-    CRsfwFsMountCB();
-
-                                                                                         
-    /**
-     * Gets entry details for a file or directory
-     * @since Series 60 3.2
-     * @param aName        Name of the file or directory.
-     * @param anEntry      On success, contains the entry details.
-     * @return
-     */
-    void RemoteFsEntryL( const TDesC& aName,
-                         TEntry& anEntry );
-                             
-    /**
-     * Fetches fid for a file or directory.
-     * @since Series 60 3.2
-     * @param aPath        The full path of the file or directory.
-     * @param aNodeType    Type of the node (i.e. file or directory).
-     * @return
-     */  
-    TFid FetchFidL( const TDesC& aPath, 
-                    TUint aNodeType );
-                        
-                        
-
-  
-public:     // Data
-    // Server to which this mount is connected.
-    // The pointer is stored as volumename to CMountCB, 
-    // which takes of the desc. ownership and deletes it.
-    HBufC* iServerName;
-            
-    // File Server session used to access the local cache.
-    RFs iFsSession;
-        
-private:    // Data
-    // Pointer to filesystem object.    
-    CRsfwFileSystem* iRemoteFs;
-
-    // Session to Remote File Engine
-    RRsfwSession* iSession;
-             
-    // Root Fid, can be different for different mounts
-    TFid iRootFid; 
-    };
-
-#endif // CRSFWFSMOUNTCB_H
-
-// End of File
-
--- a/remotestoragefw/remotefilesystemplugin/src/rsfwfilesystem.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +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:  Factory class for a file system. Allows creating
-*               objects derived from CMountCB, CFileCB, CDirCB and CFormatCB.
-*
-*/
-
-
-#include "rsfwfilesystem.h"
-#include <f32ver.h>
-#include "rsfwfsfilecb.h"
-#include "rsfwfsdircb.h"
-#include "rsfwfsmountcb.h"
-#include "rsfwfsformatcb.h"
-#include "rsfwinterface.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// static constructor
-CRsfwFileSystem* CRsfwFileSystem::New()
-    {
-    // non-leaving new, NULL returned for failed creation
-    CRsfwFileSystem *self = new CRsfwFileSystem;
-    return self;      
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::CRsfwFileSystem
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwFileSystem::CRsfwFileSystem()
-    {
-    }
-
-// Destructor
-CRsfwFileSystem::~CRsfwFileSystem()
-    {
-    }
-  
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::Install
-// Installs the file system.
-
-// The function sets the name of the file system object through a call
-// to CObject::SetName(), thus making it accessible, internally, 
-// using FileSystems->FindByFullName(). This enables the file server
-// to find and handle installed file systems. The function also sets 
-// unique identifier for the file system and the file system version.
-// The version is determined by the file system implementation.
-// It is used in calls to CFileSystem::QueryVersionSupported().
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CRsfwFileSystem::Install()
-    {
-    
-    iVersion = TVersion(KF32MajorVersionNumber,
-                            KF32MinorVersionNumber,
-                            KF32BuildVersionNumber);
-
-    TTime timeID;
-    timeID.HomeTime();
-    iUniqueID = I64LOW(timeID.Int64());
-
-    return (SetName(&KRemoteFSName));
-  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::Remove
-// This is called just before the file system object is destroyed, and allows
-// any clean up to be carried out.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CRsfwFileSystem::Remove()
-    {
-    
-    return KErrNone;  
-  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::NewMountL
-// Creates a new remote mount control block, a CMountCB derived object. 
-// On success, a pointer to the new mount object is returned,
-// otherwise the function leaves.
-//
-// This function is defined as a const function in the base class CFileSystem.
-// However, we need to pass to the mount class modifiable pointers to 
-// the shared memory chunks used in the parameter passing. That's why we need 
-// to cast away const.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CMountCB* CRsfwFileSystem::NewMountL() const
-    {
-    
-    return const_cast<CRsfwFileSystem*>(this)->NewRemoteFsMountL();
-  
-    }
-
- 
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::NewFileL
-// Creates a new remote file control block, i.e. a CFileCB derived object.
-// On success, a pointer to the new file object is returned,
-// otherwise the function leaves.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CFileCB* CRsfwFileSystem::NewFileL() const
-    {
-    return new(ELeave) CRsfwFsFileCB();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::NewDirL
-// Creates a new remote directory control block, i.e. a CDirCB derived object.
-// On success, a pointer to the new directory control block is returned,
-// otherwise the function leaves.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CDirCB* CRsfwFileSystem::NewDirL() const
-    {
-    return(CRsfwFsDirCB::NewL());
-    }
-   
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::NewFormatL
-// Creates a new remote volume format control block, i.e. a CFormatCB derived object.
-// On success, a pointer to the new volume format control block is returned,
-// otherwise the function leaves.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CFormatCB* CRsfwFileSystem::NewFormatL() const
-    {
-    return new(ELeave) CRsfwFsFormatCB();
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::DriveInfo
-// Retrieves drive information.
-// The function assumes that we are not handling different local drives, and 
-// sets anInfo.iMediaAtt, anInfo.iDriveAtt and anInfo.iType to values "sensible"
-// for remote drives discarding the specified drive number. For local drives 
-// the function would obtain the necessary information by calling the appropriate 
-// TBusLocalDrive::Caps() function using the argument aDriveNumber.
-
-// Note that and anInfo.iBatteryState will already have been
-// set by the calling function.
-    
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFileSystem::DriveInfo(
-    TDriveInfo& anInfo,
-    TInt /* aDriveNumber */) const
-    {
-    
-    anInfo.iType = EMediaRemote;
-    anInfo.iMediaAtt = KMediaAttVariableSize; 
-    anInfo.iDriveAtt = KDriveAttRemote;
-
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::NewRemoteFsMountL
-// Creates a new remote mount control block, a CMountCB derived object. 
-// On success, a pointer to the new mount object is returned,
-// otherwise the function leaves.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CMountCB* CRsfwFileSystem::NewRemoteFsMountL()
-    {
-    
-    return CRsfwFsMountCB::NewL();
-  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFileSystem::DefaultPath
-// Returns the default path for the file system. 
-// Always returns "C:\\".
-//
-// Each session with the file server has a current session path.
-// When a new session is opened, its session path is set to the default path
-// of the file server. At file server start-up, this default path is set to the 
-// default path returned by the local file system. 
-// The default implementation in the base class raises an "Fserv fault" 31 panic.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CRsfwFileSystem::DefaultPath(
-    TDes& aPath) const
-    {
-
-    _LIT(KDefaultPath, "C:\\");
-    aPath = KDefaultPath;
-    return (KErrNone);
-  
-    }
- 
--- a/remotestoragefw/remotefilesystemplugin/src/rsfwfs.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Allows creating a Remote Storage FW file system plug-in from
-*              : a factory function.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "rsfwfilesystem.h"
-#include "rsfwsession.h"
-#include "rsfwinterface.h"
-
-
-// -----------------------------------------------------------------------------
-// CreateFileSystem 
-// Implements factory function for creating new file systems.
-// Allows creating a Remote Storage FW file system plug-in from this DLL.
-// Returns: CRemoteFsFileSystem*: pointer to the Remote Storage FW file system 
-//                                plug-in main class
-// -----------------------------------------------------------------------------
-//
-extern "C"
-    {
-    EXPORT_C CFileSystem* CreateFileSystem()
-        {
-        
-        return(CRsfwFileSystem::New());
-        
-        }
-    }
-
--- a/remotestoragefw/remotefilesystemplugin/src/rsfwfsdircb.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +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: 	File server interface class representing an open directory.
-*                The code in this class allows to access a specific 
-*                remote directory.
-*
-*/
-
-
-// INCLUDE FILES
-#include "rsfwfsdircb.h"
-#include "rsfwfsmountcb.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// static constructor
-CRsfwFsDirCB* CRsfwFsDirCB::NewL()
-    {
-    CRsfwFsDirCB* remoteFsDirCB = new (ELeave) CRsfwFsDirCB;
-    return remoteFsDirCB;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsDirCB::CRsfwFsDirCB
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwFsDirCB::CRsfwFsDirCB()
-    {
-    iHasBeenFetched = EFalse;
-    iEntryPos = 0;
-    iStreamPos = 0;
-    }
-
-// destructor
-CRsfwFsDirCB::~CRsfwFsDirCB()
-    { 
-    delete iMatch;
-    iDirContReadStream.Close();   
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwFsDirCB::ReadL
-// File Server calls this function to retrieve one entry from open directory 
-// (next unread). When the last entry has been read, the function leaves with 
-// User::Leave(KErrEof). All of the properties of a TEntry, other than the  UID 
-// types, are always read.  The time stored in the iModified member of  anEntry 
-// should be converted from UTC time to local time. When storing the iName 
-// member of anEntry, the current (.), or parent marker (..) in the directory 
-// should not be returned.
-//
-// If the KEntryAttAllowUid flag is set in the iAtt member of anEntry, then
-// the entry UID type of an entry will be read. If, on reading the UID from
-// a file, KErrCorrupt is generated, because the file is corrupt,
-// ReadL() should not leave with this error message, but should return
-// as normal.
-//
-// FILTERING:
-// The function should read successive entries until a suitable entry is found.
-// An entry is suitable if the entry attributes match the criteria set by this
-// object's attributes, which are set on initialisation.  The File Server has 
-// set CDirCB::iAtt (which we inherit) with the bitmask.
-//
-// The File Server opened the directory with a name mask (e.g. "*"). 
-// This mask has been to stored to iMask of this class. We must only return entries, 
-// whose name match this mask.
-//
-// If, on return, the entry's full file name, TEntry::iName, is longer than
-// the maximum buffer size, then the entry cannot be returned to the client.
-// In this case the file server will set iPending to true and will call
-// StoreLongEntryName() before calling this function again.
-// In this case (when iPending is true), the function should re-read
-// the last entry to be read; it should also set iPending to false and
-//  should not advance the current read position.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-void CRsfwFsDirCB::ReadL
-(TEntry& anEntry)
-    {       
-      
-    if (!iHasBeenFetched)
-        {
-        //   First read, the directory hasn't been fetched from the server
-        //   yet (can't be done from open as that is always synchronous
-        //   operation from UI's point of view)
-        TInt totalBytes;
-        User::LeaveIfError(static_cast<CRsfwFsMountCB&>
-                (Mount()).RSessionL()->Fetch(iThisFid, 0, 0, totalBytes));
-        iHasBeenFetched = ETrue;
-        }
-
-    TEntry entry;
-    
-    if (iPending) 
-        {
-        iStreamPos = iPendingPos;
-        iPending = EFalse; 
-        }
-        
-    MStreamBuf* contFileStreamBuf = iDirContReadStream.Source();
-    // Skip over entries already read
-    contFileStreamBuf->SeekL(MStreamBuf::ERead, iStreamPos);
-
-    TDirEnt d;
-       
-    do
-        {
-        TInt strippedBits = 0;
-        TBool matchName = EFalse;
-   		TBool matchAttr = EFalse;
-        
-        iPendingPos = iStreamPos;
-        // Each round must fill one TEntry (or leave with KErrEof)
-        d.InternalizeL(iDirContReadStream); // leaves with KErrEof
-        iEntryPos++;
-          
-        entry.iName.Des().Copy(d.iName);
-        entry.iAtt = d.iAttr.iAtt;
-        entry.iSize = d.iAttr.iSize;
-        entry.iModified = d.iAttr.iModified;
-        entry.iType = (KNullUid, KNullUid, d.iAttr.iUid3);
-        // do not set KEntryAttRemote for directories
-        // it is defined by Symbian to be a file attribute only
-        // remote file engine uses it internally for dirs also
-        if (entry.iAtt & KEntryAttDir) 
-            {
-            entry.iAtt &= ~KEntryAttRemote;
-            }
-             
-        // Filtering:
-            
-        // compare name against the match pattern
-        matchName = (entry.iName.Match(*iMatch) != KErrNotFound);
-        
-        // compare against iAtt attribute mask
-        // The mask works as follows: 
-        // To match files only, specify KEntryAttNormal. 
-        // To match both files and directories, specify KEntryAttDir. 
-        // To match directories only, specify KEntryAttDir|KEntryAttMatchExclusive. 
-        // To match files with a specific attribute, then OR the attribute involved with KEntryAttMatchExclusive. 
-        // For example, to match read-only files, specify KEntryAttReadOnly|KEntryAttMatchExclusive. 
-        if (iAtt & KEntryAttMatchExclusive)
-        	{ // files with a specific attribute only
-        	matchAttr = iAtt & entry.iAtt; 
-        	}
-        else 
-        	{
-        	if (iAtt & KEntryAttDir)
-       			{
-       			// both files and directories
-       			matchAttr = ETrue;
-       			}
-       		else 
-       			{
-       			// files only
-       			if (!(entry.iAtt & KEntryAttDir)) 
-       				{
-       				matchAttr = ETrue;
-       				}
-       			}
-        	}     	
-        if (matchName && matchAttr)
-            {
-            // "reverse" bits modified to make comparison easier
-            entry.iAtt |= strippedBits;
-            entry.iAtt &= ~KEntryAttMatchExclusive; 
-            anEntry = entry;
-            break;
-            }
-        }
-    while (1);
-
-    iStreamPos = contFileStreamBuf->TellL(MStreamBuf::ERead);
-        
-    }
-    
-    
-// -----------------------------------------------------------------------------
-// CRsfwFsDirCB::SetDirL
-// Opens read stream in the container file. Called in CRsfwFsMountCB when the 
-// directory is opened.
-// Implementation notice: As this class only reads the container file, it would
-// seem sensible to open  EFileRead|EFileShareAny here, but when Remote 
-// File Engine then tries to open EFileWrite|EFileShareAny it fails unless
-// EFileWrite is specified here also...
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsDirCB::SetDirL(
-    const TDesC& aPath, 
-    const TDesC& aName)
-    {
-      
-    User::LeaveIfError(iDirContReadStream.Open(*(RFs* )Dll::Tls(),
-                                               aPath, EFileWrite | EFileShareAny));
-    iMatch = aName.AllocL();
-    
-    }
-
-// End of File
--- a/remotestoragefw/remotefilesystemplugin/src/rsfwfsfilecb.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +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:  File server interface class representing an open file.
-*                Allows to access a specific remote file.
-*
-*/
-
-
-// INCLUDE FILES
-#include "rsfwfsfilecb.h"
-#include "rsfwfsmountcb.h"
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::CRsfwFsFileCB
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwFsFileCB::CRsfwFsFileCB()
-    {
-    iLastFlushFailed = ETrue;
-    iPartialWriteSupported = ETrue;
-    }
- 
-// Destructor
-CRsfwFsFileCB::~CRsfwFsFileCB()
-    {   
-    // close the cache file first so that RFE can move/delete it if upload fails
-    iContFile.Close(); 
-    TUint flags = 0;
-    if (iFileName)
-        {
-        if (!iLastFlushFailed) 
-            {
-            // Now the container file has been changed,
-            // tell Remote File Engine to update it on the servers
-            // RSessionL() should not leave here as the remote session surely is created by now...
-            if (iAtt & KEntryAttModified) 
-                {
-                flags |= ECloseModified;
-         
-                // File was modified use, flush to write data to the server
-                // We write the whole file always, if flush was never called we cannot
-                // know whether partial write is supported.
-                TRAP_IGNORE(static_cast<CRsfwFsMountCB&>
-                    (Mount()).RSessionL()->Flush(iThisFid, 0, iCachedSize, iCachedSize));
-                }
-            else 
-                {
-                flags |= ECloseNotModified;
-                }
-                
-            }
-        else 
-            {
-            // flush was called and failed
-            // do not try to flush again if the application closes the file
-            // instead indicate this to the close state machine
-            flags |= ECloseLastFlushFailed;
-            }
-        }
-        
-     // close will release the write lock if possible
-     // and also allows user to save the file locally if flush failed
-     TRAP_IGNORE(static_cast<CRsfwFsMountCB&>
-              (Mount()).RSessionL()->CloseFile(iThisFid, flags));
-    
-    }
-    
-          
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::RenameL
-// Renames the file with the full file name provided. Because the full name of 
-// the file includes the path, the function can also be used to move the file.
-//
-// It can be assumed that no other sub-session has access to the file:
-// i.e. the file has not been opened in EFileShareAny share mode.
-// It can also be assumed that the file has been opened for writing. 
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::RenameL(
-    const TDesC& aNewName)
-    {
-   	static_cast<CRsfwFsMountCB&>(Mount()).RenameFidL(iParentFid, *iFileName, aNewName);
-   	delete iFileName;
-   	iFileName = NULL;
-   	iFileName = aNewName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::ReadL
-// Reads a specified number of bytes from the open file starting at
-// the specified position, and writes the result into a descriptor.
-//    
-// It can be assumed that aPos is inside the file and aLength > 0.
-// The file should only be read up to its end regardless of
-// the value of aPos + aLength. The number of bytes read should be stored
-// in aLength on return.
-//
-// Implemented by sending FETCH request to Remote File Engine for the
-// specified data and subsequently reading the data from the local cache file.
-// Reading the local cache file sets aLength.
-// Note that we want to keept the cache file continuos. If the requested data
-// starts behind the end of the current cache file, the function sends FETCHDATA
-// and Remote File Engine puts this data into a temp cache file valid only 
-// for the duration of this operation if the caching mode is something else than 
-// Whole File Caching
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::ReadL(
-    TInt aPos,
-    TInt& aLength,
-    const TAny* /*aDes*/,
-    const RMessagePtr2& aMessage)
-
-    { 
-          
-    if (iCachedSize == 0) 
-        {
-        // iCachedSize possibly not up-to-date...
-        iContFile.Size(iCachedSize);
-        }
-    
-    HBufC8* data = HBufC8::NewMaxLC(aLength);
-    TPtr8 buf(data->Des());
-
-    if (aPos > iCachedSize) 
-        {
-        // Depending on the caching mode this type of request may bypass the 
-        // normal cache file.
-        TBool useTempCache = EFalse;
-        HBufC* tmpCacheFile = HBufC::NewLC(KMaxPath);
-        TPtr tmpCache(tmpCacheFile->Des());
-        User::LeaveIfError(static_cast<CRsfwFsMountCB&>
-            (Mount()).RSessionL()->FetchData(iThisFid, 
-            								aPos, 
-            								aPos + aLength - 1, 
-            								tmpCache, 
-            								useTempCache));
-        if (useTempCache) 
-        	{
-        	// use "temp" in the same directory instead of the cache file
-        	RFile tempFile;
-        	TParse parser;
-        	parser.Set(tmpCache, NULL, NULL);
-        	HBufC* tempPath = HBufC::NewLC(KMaxPath);
-            TPtr tempptr = tempPath->Des();
-            tempptr.Append(parser.DriveAndPath());
-            tempptr.Append(KTempFileName);
-        	User::LeaveIfError(tempFile.Open(*(RFs* )Dll::Tls(),
-                                         tempptr, EFileRead));
-            CleanupStack::PopAndDestroy(tempPath);                       
-        	CleanupClosePushL(tempFile);
-       		User::LeaveIfError(tempFile.Read(buf, aLength));
-       		CleanupStack::PopAndDestroy(&tempFile);
-        	}
-        else 
-        	{
-        	// read from the normal container file (Whole File Caching mode).
-        	iContFile.Size(iCachedSize);
-        	User::LeaveIfError(iContFile.Read(aPos, buf, aLength));
-        	}
-        CleanupStack::PopAndDestroy(tmpCacheFile); // tempcacheFile
-        }
-    else if ((aPos + aLength) > iCachedSize)
-        {
-        User::LeaveIfError(static_cast<CRsfwFsMountCB&>
-       		(Mount()).RSessionL()->Fetch(iThisFid, 
-       									 aPos, 
-       									 aPos + aLength - 1, 
-       									 iCachedSize)); 
-       									  									 
-        User::LeaveIfError(iContFile.Read(aPos, buf, aLength));
-        }
-    else 
-        {
-        User::LeaveIfError(iContFile.Read(aPos, buf, aLength));
-        }
-        
-    aMessage.WriteL(0, buf, 0);     
-    CleanupStack::PopAndDestroy(data);
-    if (iCachedSize == iSize) 
-    	{
-    	// clear the remote attribute if the whole file has now been fetched
-    	iAtt &= ~KEntryAttRemote;
-    	}
-    }
-    
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::WriteL
-// Writes data to the open file. iModified and iSize are set by the file server 
-// after this function has completed successfully.
-//
-// It can be assumed that aPos is within the file range and aLength > 0.
-// When aPos + aLength is greater than the file size then the file should
-// be enlarged using SetSizeL(). The number of bytes written should be
-// returned through the argument aLength.
-//
-// Implemented by writing to the local cache file. First requests Remote File
-// Engine whether there is enough space in the cache to write the file (this
-// also calls SysUtil::DiskSpaceBelowCritical()). FE attempts to free space 
-// from the cache if necessary Implementation notice: writes a large file in 
-// chunks of 64K.
-//  
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::WriteL(
-    TInt aPos,
-    TInt& aLength,
-    const TAny* /*aDes*/,
-    const RMessagePtr2& aMessage)
-    {
-    
-    if (iCachedSize == 0) 
-        {
-        // iCachedSize possibly not up-to-date...
-        iContFile.Size(iCachedSize);
-        }
-    
-   // if flush was cancelled, but we come again to write, again set iLastFlushFailed to EFalse
-    iLastFlushFailed = EFalse;
-    
- 	// We must first fetch the file to the local cache
- 	// unless aPos = 0 and aLength => iSize 
- 	// Note that if files are written to they cannot be partially cached
- 	// as the whole file will be sent to the server and overwrites the old file.
- 	// That is why we must ensure that the whole file is cached as soon as we
- 	// get the first write.
- 	// in subsequent writes iCachedSize will equal iSize
- 	// This may eventually change if we start to use some kind of "delta-PUT".
- 	if (!((aPos == 0) && (aLength >= iSize)) && iCachedSize < iSize && !iFetchedBeforeWriting)
- 		{
- 		User::LeaveIfError(static_cast<CRsfwFsMountCB&>
- 				(Mount()).RSessionL()->Fetch(iThisFid, iCachedSize, iSize-1, iCachedSize));
- 		iFetchedBeforeWriting = ETrue;
-        }
-
-    // make sure that a potential cache addition still fits into the cache
-    TInt sizeToBeWritten = 0;
-    
- 	if (iSize > iCachedSize)
- 	    {
- 	    // when current Write is executed as a part of Copy operation
- 	    // then iSize has been set to final size, even before any writing started
- 	    sizeToBeWritten = iSize - iCachedSize;
- 	    }
-    else if (aPos + aLength > iCachedSize)
-        {
-        sizeToBeWritten = aPos + aLength - iCachedSize + iWrittenSize;
-        }
-             	 
- 	TBool okToWrite;
- 	User::LeaveIfError(static_cast<CRsfwFsMountCB&> 
- 			(Mount()).RSessionL()->OkToWrite(iThisFid, 
- 											sizeToBeWritten,
- 											okToWrite));
- 											 											
-    if (!okToWrite) 
-        {
-        User::Leave(KErrDiskFull);
-        }
-    
-    TInt anOffset = 0;
-    HBufC8* data = HBufC8::NewMaxLC(aLength);
-    TPtr8 buf(data->Des());
-   
-    aMessage.ReadL(0, buf, anOffset);
-  
-    User::LeaveIfError(iContFile.Write(aPos, *data, aLength));
-    User::LeaveIfError(iContFile.Flush());
-    CleanupStack::PopAndDestroy(data);
-
-    // update iCachedSize and iWrittenSize if the container file size has grown
-    if (aPos + aLength > iCachedSize)
-        {
-        iCachedSize = aPos + aLength;
-        iWrittenSize = sizeToBeWritten;
-        }
-    
-    // for flush() calls after this call:
-    // set iFlushedSize to aPos, so that changes will be flushed
-    if (iFlushedSize > aPos) 
-        {
-        iFlushedSize = aPos;
-        }
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::SetSizeL
-// Emply implementation, upper class already set iSize
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::SetSizeL(
-    TInt aSize)
-    {
-    iReportedSize = aSize;
-    // we cannot set the actual size of the remote file, but also we do not
-    // return KErrNotSupported as that would cause problems with CFileMan
-    // and File Manager, which use SetSize() as an optimization to set the 
-    // target file size in copy.
-    // Propably calling setsize() on remote files when for example just writing
-    // to an existing file would cause weird results. 
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::SetEntryL
-// Sets the attribute mask, iAtt, and the modified time of the file, iModified.
-// If aMask|aVal does not equal zero, then aMask should be OR'ed with iAtt,
-// whilst the inverse of aVal should be AND'ed with iAtt.
-// If the modified flag is set in aMask then iModified should be set to aTime.
-//
-// Implemented by calling CRsfwFsMountCB::SetEntryL().
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::SetEntryL(
-    const TTime& aTime,
-    TUint aMask,
-    TUint aVal)
-    {
-    static_cast<CRsfwFsMountCB&>(Mount()).SetEntryL(*iFileName,
-                                                      aTime,
-                                                      aMask,
-                                                      aVal);                                             
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::FlushAllL
-// Flushes, to disk, all cached file data (e.g. attributes, modification time,
-// file size). The modified bit in the file attributes mask should be cleared if
-// the flush was successful.
-//
-// File Server calls this before reading directory entries, getting an entry
-// details for a directory entry etc. The idea is to make sure that all the
-// information to be retrieved is up to date. We don't need to implement this,
-// as our framework does not have buffers that could cause this problem. 
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::FlushAllL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::FlushDataL
-// Flushes, to disk, the cached information necessary for the integrity
-// of recently written data, such as the file size.
-//
-// Called by File Server as a result of RFile::Flush() (if the file has been 
-// modified). In our framework the file should be written to the server.
-// We should also clear KEntryAttModified here.
-//
-// (other items were commented in a header).
-//
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::FlushDataL()
-    {
-    TInt err = KErrNone;
-    
-    // close the container file to make sure all the local changes are cached
-    iContFile.Close();
-        
-    // if flush was cancelled, but we come again to write, 
-    // again set lastflushfailed to EFale	
-    iLastFlushFailed = EFalse;
-    
-    // may attempt to write part of the file or whole file
-    // also we may or may not know for sure whether the 
-    // server supports partial write
-starttoflush:
-    if (!iPartialWriteSupported) 
-        {
-        // If we know that partial write is not supported
-        // AND the client has reported the full size of 
-        // the file, do not really flush until all the data
-        // has been written to the cache file.
-        // *
-        // If we do not know the total size flush whatever is cached
-        if ((iCachedSize == iReportedSize)  || iReportedSize == 0)
-            {
-            err = static_cast<CRsfwFsMountCB&>
-    			(Mount()).RSessionL()->Flush(iThisFid,
-    			                            0,
-    			                            iCachedSize, 
-    			                            iCachedSize);  			                            
-            }
-         // else do not do anything yet, only when the whole file is in cache
-        }
-     else 
-        {
-        // we "still" assume that partial write is supported
-        err = static_cast<CRsfwFsMountCB&>
-    		(Mount()).RSessionL()->Flush(iThisFid,
-    			                         iFlushedSize,
-    			                         iCachedSize, 
-    			                         iReportedSize);
-        if (err == KErrNotSupported) 
-            {
-            err = KErrNone; // reset the error
-            // flushing the file not supported
-            // probably because the access protol plugin does not support partial write
-            iPartialWriteSupported = EFalse;
-            // apply the flush logic again
-            // this time with the knowledge that the server does not support partial
-            // write
-            goto starttoflush;
-            }
-         else 
-            {
-            iAtt &= ~KEntryAttModified; // clear KEntryAttModified if flush worked
-            }
-    			                         
-        }
-        
-    // re-open the container file    
-     User::LeaveIfError(iContFile.Open(*(RFs* )Dll::Tls(),
-                                      iCachePath,
-                                      EFileWrite | EFileShareAny)); 
-    
-        
-    // handling the results    
-    if (err == KErrNone) 
-        {
-        // the operation was successful
-        iFlushedSize = iCachedSize;			                            
-        }
-    else if (err != KErrNone)
-        {
-        iLastFlushFailed = ETrue;
-        User::Leave(err);
-        }
-   
-    }
-  
-// -----------------------------------------------------------------------------
-// CRsfwFsFileCB::SetContainerFileL
-// Opens the container file.
-// Called in CRsfwFsMountCB when the file is opened.
-// Implementation notice: If this file is only opened for reading, it would
-// seem sensible to open  EFileRead|EFileShareAny here, but when Remote 
-// File Engine then tries to open EFileWrite|EFileShareAny it fails unless
-// EFileWrite is specified here also...
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFileCB::SetContainerFileL(
-    const TDesC& aPath)
-    {
-    iCachePath = aPath;
-    User::LeaveIfError(iContFile.Open(*(RFs* )Dll::Tls(),
-                                      aPath,
-                                      EFileWrite | EFileShareAny)); 
-    }
-
-// End of File
--- a/remotestoragefw/remotefilesystemplugin/src/rsfwfsformatcb.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  File server interface class representing a format 
-*                operation on a disk. Not supported for remote drives.
-*
-*/
-
-
-// INCLUDE FILES
-#include "rsfwfsformatcb.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFormatCB::CRsfwFsFormatCB
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwFsFormatCB::CRsfwFsFormatCB()
-    {
-    }
-
-// Destructor
-CRsfwFsFormatCB::~CRsfwFsFormatCB()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsFormatCB::DoFormatStepL
-// Performs a formatting step on the drive. The step performed should depend on 
-// the values of iMode and iCurrentStep. It can be assumed that there are no 
-// resources open on the mount, that the media is formattable, and that the media 
-// is not write protected.
-//
-// If iMode == EQuickFormat, then only meta data is to be written.
-// This should be carried out in a single step, with iCurrentStep set
-// to zero on completion.
-//
-// If iMode != EQuickFormat, then the format step performed by
-// this function should depend on iCurrentStep. When the function
-//  returns with iCurrentStep set to zero, the formatting of the drive is complete.
-//
-// implementation: not supported for remote drives
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsFormatCB::DoFormatStepL()
-    {
-    iCurrentStep = 0;
-    User::Leave(KErrNotSupported);
-    }
-
-// End of File
--- a/remotestoragefw/remotefilesystemplugin/src/rsfwfsmountcb.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,857 +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:  File server interface class representing a mount.
-*                An instance of this object is referred to as
-*                a mount control block.
-*
-*/
-
-
-
-
-#include "rsfwfsmountcb.h"
-#include "rsfwfsfilecb.h"
-#include "rsfwfsdircb.h"
-
-
-// there is no good way to give remote storage size so just put some big numbers here
-const TInt KMountReportedSize         = 999999999;
-const TInt KMountReportedFreeSize     = 999999999;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::NewL
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwFsMountCB* CRsfwFsMountCB::NewL()
-    {
-    CRsfwFsMountCB* remoteFsMntCB = new(ELeave) CRsfwFsMountCB();
-    return remoteFsMntCB;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::CRsfwFsMountCB
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwFsMountCB::CRsfwFsMountCB()
-    {
-   
-    }
-
-// Destructor
-CRsfwFsMountCB::~CRsfwFsMountCB()
-    {   
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::MountL
-// The function should set the volume name (iVolumeName), the unique ID 
-// (iUniqueID) and the volume size (iSize) by reading and processing the current 
-// mount. The function should leave, on error detection, with an appropriate error 
-// code. When aForceMount is set to ETrue, the properties of a corrupt volume 
-// should be forcibly stored. The classic case of when this is desirable is when a 
-// corrupt volume needs to be formatted.
-//
-// We set the values (iSize to a fixed size). We also create a
-// File Server session (needed to access the local cache) and put the handle into 
-// the TLS for future access. aForceMount is ignored.
-// Note that this operation does not attempt to connect to remote server.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::MountL(
-    TBool /* aForceMount */)
-    {
-    
-    iServerName = HBufC::NewL( KMaxVolumeNameLength);
-    TPtr serverName (iServerName->Des());
-    serverName.Append(KRemoteVolumeName);
-    SetVolumeName(iServerName); 
-       
-    TTime timeID;
-    timeID.HomeTime();
-    iUniqueID = I64LOW(timeID.Int64());
-    iSize = KMountReportedSize;
-    
-    User::LeaveIfError(iFsSession.Connect());
-    User::LeaveIfError(Dll::SetTls(&iFsSession));
-    
-    iRootFid.iVolumeId = Drive().DriveNumber();
-    iRootFid.iNodeId = 1;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::ReMount
-// The function should check whether the mount control block represents the 
-// current mount on the associated drive. The function should read mount 
-// information from the current volume, and check it against the mount 
-// information from this mount - typically iVolumeName and iUniqueID. If the mount 
-// information matches, the function should return KErrNone, otherwise it should 
-// return KErrGeneral.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-int CRsfwFsMountCB::ReMount()
-    {
-    // we assume that this operation - if called on remote drive
-    // - can be succesfull
-    return KErrNone;
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::Dismounted
-// Carries out clean-up necessary for a volume dismount:
-// Closing the session to the File Server used for local cache.
-// Closing the session to Remote File Engine.
-// Dismounting a volume will always succeed, so the function does not need to 
-// return an error value. 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::Dismounted()
-    {
-      
-    iSession->Close();  
-    iFsSession.Close();
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::VolumeL
-// Gets volume information. The only information that the function has to supply 
-// is the free space, TVolumeInfo::iFree, since the remaining members have already 
-// been set by the calling function. The function should leave, on error detection, 
-// with an appropriate error code.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::VolumeL(
-    TVolumeInfo& aVolume) const
-    {
-      
-    // : we should return info about free storage
-    // at the remote server, if possible...
-    aVolume.iFree = KMountReportedFreeSize;
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::SetVolumeL
-// Sets the volume name for the mount, thus writing the new volume name to the 
-// corresponding volume.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::SetVolumeL(
-    TDes& aName)
-    {   
-      
-    if (aName.Length() >  KMaxVolumeNameLength) 
-        {
-        User::Leave(KErrBadName);
-        }
-    if (iServerName) 
-        {
-        delete iServerName;
-        iServerName = NULL;
-        }
-    iServerName = HBufC::NewL( KMaxVolumeNameLength);
-    TPtr serverName (iServerName->Des());
-    serverName.Append(aName);
-    SetVolumeName(iServerName);
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::MkDirL
-// Creates a new directory on the mount by figuring out the FID of the parent
-// directory and the name of the child to be created.
-//
-// The full name in aName is in the form:
-//    \\dirA\\dirB\\dirC\\dirD  
-// where dirD is the new directory to be created in \\dirA\\dirB\\dirC\\.
-// This means that dirC is the leaf directory in which dirD will be created.
-//    
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::MkDirL(
-    const TDesC& aName)
-    {
-      
-    TInt delimiterPos;
-    TPtrC directory, path;
-    TFid theFid;
-  
-    delimiterPos = aName.LocateReverse(KPathDelimiter);
-    directory.Set(aName.Right(aName.Length() - (delimiterPos + 1)));
-    path.Set(aName.Left(delimiterPos + 1)); 
-    theFid = FetchFidL(path, KNodeTypeDir);
-    User::LeaveIfError(RSessionL()->MakeDirectory(theFid, directory));
-       
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RmDirL
-// Removes the directory specified by aName by figuring out the FID of the parent
-// directory and the name of the child to be created. The function can assume 
-// that the directory exists and is not read-only. 
-//
-// The directory specified by aName is in the form:
-//    \\dirA\\dirB\\dirC\\dirD  
-// where dirD is the directory to be removed from \\dirA\\dirB\\dirC\\.
-// This means that dirC is the leaf directory from which dirD should be removed.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::RmDirL(
-    const TDesC& aName)
-    {
-     
-    TInt delimiterPos;
-    TPtrC directory, path;
-    TFid parentFid;
-        
-    delimiterPos = aName.LocateReverse(KPathDelimiter);
-    directory.Set(aName.Right(aName.Length() - (delimiterPos + 1)));
-    path.Set(aName.Left(delimiterPos + 1)); 
-    parentFid = FetchFidL(path, KNodeTypeDir);
-    User::LeaveIfError(RSessionL()->RemoveDirectory(parentFid, directory));
-        
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::DeleteL
-// Deletes the specified file from the mount by figuring out the FID of the parent
-// directory and the name of the child to be created. The function can assume that 
-// the file is closed.
-//
-//  The file name specified by aName is of the form:
-//    \\dirA\\dirB\\dirC\\file.ext    
-//  The extension is optional.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-void CRsfwFsMountCB::DeleteL(
-    const TDesC& aName)
-    {  
- 
-    TInt delimiterPos;
-    TPtrC file, path;
-    TFid parentFid;
-    
-    delimiterPos = aName.LocateReverse(KPathDelimiter);
-    file.Set(aName.Right(aName.Length() - (delimiterPos + 1)));
-    path.Set(aName.Left(delimiterPos + 1)); 
-    parentFid = FetchFidL(path, KNodeTypeDir);
-    User::LeaveIfError(RSessionL()->RemoveFile(parentFid, file));      
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RenameL
-// Renames or moves a single file or directory on the mount by figuring out
-// the FIDs of the parent directories and child names for both anOldName and 
-// anNewName.  If oldEntryName is a file, it can be assumed that it is closed.
-// If oldEntryName is a directory, it can be assumed that there are no
-// open files in this directory. Furthermore, if newEntryName specifies
-// a directory, it can be assumed that it is not a subdirectory of oldEntryName.
-//
-// anOldName and anNewName specify the respective entries with full names; 
-// for example,
-// \\dirA\\dirB\\dirC\\oldEntryName
-// and
-// \\dirE\\dirF\\dirG\\newEntryName
-//   
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::RenameL(
-    const TDesC& anOldName, 
-    const TDesC& aNewName)
-    {
-      
-    TInt delimiterPos;
-    TPtrC sourcepath, destpath;
-    TPtrC srcname, destname;
-    TFid sourceFid, destFid;
-
-    delimiterPos = anOldName.LocateReverse(KPathDelimiter);
-    srcname.Set(anOldName.Right(anOldName.Length() - (delimiterPos + 1)));  
-    sourcepath.Set(anOldName.Left(delimiterPos + 1));   
-    sourceFid = FetchFidL(sourcepath, KNodeTypeDir);
-
-    delimiterPos = aNewName.LocateReverse(KPathDelimiter);
-    destname.Set(aNewName.Right(aNewName.Length() - (delimiterPos + 1)));
-    destpath.Set(aNewName.Left(delimiterPos + 1));  
-    destFid = FetchFidL(destpath, KNodeTypeDir);
-
-    User::LeaveIfError(RSessionL()->MoveFids(sourceFid, 
-        										  srcname, 
-        										  destFid, 
-        										  destname, 
-        										  EFalse));    
-        
- 
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::ReplaceL
-// Replaces one file on the mount with another. The file anOldName should have 
-// its contents, attributes, and the universal date and time of its last 
-// modification, copied to the file aNewName, overwriting any existing contents 
-// and attribute details. If the file aNewName does not exist it should be created.
-// The function can assume that both anOldName and, if it exists, anNewName
-// contain the full file names of files, and that these files are not open.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::ReplaceL(
-    const TDesC&  anOldName, 
-    const TDesC& aNewName )
-    {
-   
-    TInt delimiterPos;
-    TPtrC sourcepath, destpath;
-    TPtrC srcname, destname;
-    TFid sourceFid, destFid;
-
-    delimiterPos = anOldName.LocateReverse(KPathDelimiter);
-    srcname.Set(anOldName.Right(anOldName.Length() - (delimiterPos + 1)));
-    sourcepath.Set(anOldName.Left(delimiterPos + 1));   
-    sourceFid = FetchFidL(sourcepath, KNodeTypeDir);
-
-    delimiterPos = aNewName.LocateReverse(KPathDelimiter);
-    destname.Set(aNewName.Right(aNewName.Length() - (delimiterPos + 1)));
-    destpath.Set(aNewName.Left(delimiterPos + 1));  
-    destFid = FetchFidL(destpath, KNodeTypeDir);
-        
-    User::LeaveIfError(RSessionL()->MoveFids(sourceFid, 
-        										  srcname, 
-        										  destFid, 
-        										  destname, 
-        										  ETrue)); 
-    
-   
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::EntryL
-// Gets the entry details for the specified file or directory.
-// This function is defined as a const function in the base class CMountCB.
-// However, we need to modify the shared memory chunks used in the parameter 
-// passing. That's why we need  to cast away const.
-//
-// Always returns KErrPathNotFoud for certain Symbian system directories. The 
-// reason for this is that scanning all drives for some system directory does
-// not always skip remote drives, but it is not feasible to start to look
-// for some library, recognizer etc. from a remote drive.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::EntryL(
-    const TDesC& aName, 
-    TEntry& anEntry) const
-    {
-    
-    if (aName.Length() > KMaxPath) 
-    	{
-    	User::Leave(KErrBadName);
-    	}
-        
-    CONST_CAST(CRsfwFsMountCB*, this)->RemoteFsEntryL(aName, anEntry);
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RemoteFsEntryL
-// Gets the entry details for the specified file or directory by figuring out
-// the fid of the entry.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::RemoteFsEntryL(const TDesC& aName, TEntry& anEntry)
-    {
-      
-    anEntry.iName = aName;
-    TFid fileFid = FetchFidL(aName, KNodeTypeUnknown); 
-    User::LeaveIfError(RSessionL()->GetAttributes(fileFid, anEntry));
-      
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::SetEntryL
-// Sets entry details for a specified file or directory. 
-// The entry identified by the full name descriptor aName should have
-// its modification time and its attributes mask updated as required.
-// We also use this function to control (using new attributes bits) the file 
-// caching state (KEntryAttCachePriorityHigh)
-// 
-// The entry receives a new universal modified time from aTime.
-// The entry attributes are set with aSetAttMask and cleared with aClearAttMask:
-// the bits that are set in aSetAttMask should be set in the entry attribute mask;
-// the bits that are set in aClearAttMask should be cleared from the entry 
-// attribute mask.
-//
-// The function can assume that aSetAttMask and aClearAttMask do not change
-// the type of attribute (i.e. volume or directory). Furthermore, if aName
-// specifies a file, it can be assumed that this file is closed.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::SetEntryL(
-    const TDesC& aName,
-    const TTime& aTime,
-    TUint aSetAttMask,
-    TUint aClearAttMask)
-    {
-        
-    TFid thisFid;
-    thisFid = FetchFidL(aName, KNodeTypeUnknown);
-    
-    TInt result = RSessionL()->SetEntry(thisFid, aTime, aSetAttMask, aClearAttMask);
-    
-    // KErrNotSupported is dismissed currently
-    // The reason for this is CFileMan::Copy
-    // CFileMan::Copy is a composite operation which as a last step
-    // calls RFs::SetAtt() for the target file.
-    // If we honestly return KErrNotSupported CFileMan::Copy will now
-    // return KErrNotSupported also, although it already copied the file on the server.
-    // We rather have a working copy and return false information about the success of 
-    // SetAtt().
-    if ((result != KErrNone) && (result != KErrNotSupported))
-        {
-        User::Leave(result);
-        }
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::FileOpenL
-// If needed creates a new file by figuring out the FID of the parent directory 
-// and the name of the new file. After that opens the file. After successful 
-// completion of the function, the file control block pointer will be added to the 
-// file server's global files container.  Adds information to the file control 
-// block (e.g. path of the local cache file and pointer to this mount control block)
-//
-// If anOpen specifies EFileReplace (rather than EFileCreate or EFileOpen) then
-// the data contained in the file should be discarded, the archive attribute 
-// should be set, and the size of the file should be set to zero. Note that it can 
-// be assumed that if anOpen specifies EFileReplace then the file already exists.
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::FileOpenL(
-    const TDesC& aName,
-    TUint aMode,
-    TFileOpen anOpen,
-    CFileCB* aFile)
-    {
-
-    TFid parentFid;
-    TFid thisFid;
-    TInt delimiterPos;
-    TPtrC filename, path;
-    delimiterPos = aName.LocateReverse(KPathDelimiter);
-    filename.Set(aName.Right(aName.Length() - (delimiterPos + 1)));
-    path.Set(aName.Left(delimiterPos + 1)); 
-    parentFid = FetchFidL(path, KNodeTypeDir);
-       
-    switch (anOpen)
-        {
-    case EFileCreate:
-        // exclusive = 1 
-        User::LeaveIfError(RSessionL()->
-      		CreateFile(parentFid, filename, aMode, TRUE, thisFid));
-        break;
-    case EFileReplace: 
-        // exclusive = 0 
-        User::LeaveIfError(RSessionL()->
-        	CreateFile(parentFid, filename, aMode, FALSE, thisFid));
-        break;
-    case EFileOpen: // the file must exist
-    default:
-        User::LeaveIfError(RSessionL()->
-			Lookup(parentFid, filename, KNodeTypeFile, thisFid));
-        break;
-        } 
-    
-    TDirEntAttr attributes;
-    HBufC* unicodepath = HBufC::NewMaxLC(KMaxPath);
-    TPtr unicodepathptr(unicodepath->Des());
-    attributes.iAtt = aMode;
-    User::LeaveIfError(RSessionL()->
-    				   OpenByPath(thisFid, unicodepathptr, &attributes, ETrue));
-    unicodepathptr.SetLength(unicodepath->Length());
-    
-    ((CRsfwFsFileCB*)aFile)->iLastFlushFailed = EFalse;
-    ((CRsfwFsFileCB*)aFile)->iThisFid = thisFid;
-    ((CRsfwFsFileCB*)aFile)->iParentFid = parentFid;
-    ((CRsfwFsFileCB*)aFile)->SetContainerFileL(unicodepathptr);
-  	// set size, att, modified for the file
-  	((CRsfwFsFileCB*)aFile)->SetSize(attributes.iSize);
-  	((CRsfwFsFileCB*)aFile)->SetAtt(attributes.iAtt);
-  	((CRsfwFsFileCB*)aFile)->SetModified(attributes.iModified);
-    aFile->SetMount(this);
-    CleanupStack::PopAndDestroy(unicodepath); // unicodepath
-    
-    }
- 
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::DirOpenL
-// Opens a directory on the mount by figuring out the FID of the parent 
-// directory and the name of the directory. 
-// Note that aName is of the form
-//  \\dirA\\dirB\\dirC\\file.ext
-// where \\dirA\\dirB\\dirC\\ is the directory to be opened and file.ext is
-// an optional entry name and extension. The name and extension (e.g. "*" or 
-// "*.txt") limit entries that reading the directory should return.
-// 
-// Always returns KErrPathNotFoud for certain Symbian system directories. The 
-// reason for this is that scanning all drives for some system directory does
-// not always skip remote drives, but it is not feasible to start to look
-// for some library, recognizer etc. from a remote drive.
-//
-// After successful completion of the function, the directory control block
-// pointer will be added to the file server global directories container. Adds 
-// information to the directory control block (e.g. path of the local cache file 
-// and possible name and extension)
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::DirOpenL(
-    const TDesC& aName, 
-    CDirCB* aDir)
-    {
-            
-    TFid fileFid;
-    TInt namePos;
-    namePos = aName.LocateReverse(KPathDelimiter);
-    TPtrC directoryPathName(aName.Left(namePos + 1));
-    TPtrC matchName(aName.Mid(namePos + 1));
-    if (matchName.Length() == 0)
-        {
-        matchName.Set(KDirReadAllMask);
-        }
-    if (directoryPathName.Length() == 0)
-        {
-        fileFid = iRootFid;
-        }
-    else
-        {
-        fileFid = FetchFidL(directoryPathName, KNodeTypeDir);
-        }   
-
-    HBufC* unicodepath = HBufC::NewMaxLC(KMaxPath);
-    TPtr unicodepathptr(unicodepath->Des());
-    User::LeaveIfError(RSessionL()->
-    				   OpenByPath(fileFid, unicodepathptr, NULL, EFalse));
-    ((CRsfwFsDirCB*)aDir)->SetDirL(unicodepathptr, matchName);    
-    ((CRsfwFsDirCB*)aDir)->iThisFid = fileFid;
-    ((CRsfwFsDirCB*)aDir)->SetMount(this);
-    CleanupStack::PopAndDestroy(unicodepath); // unicopath
-   
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RawReadL
-// Should read the specified length of data from the specified position on
-// the volume directly into the client thread. It can be assumed that if this 
-// function is called, then there has been  a successful mount.
-// Not supported, as "position in a volume" without files is meaningless to 
-// us.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::RawReadL(
-    TInt64 /* aPos */, 
-    TInt /* aLength */ , 
-    const TAny* /* aTrg */, 
-    TInt /* anOffset */ ,
-    const RMessagePtr2& /* aMessage */) const 
-    {
-      
-    User::Leave(KErrNotSupported);
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RawWriteL
-// Should write a specified length of data from the client thread to the volume
-// at the specified position. It can be assumed that if this 
-// function is called, then there has been  a successful mount.
-// Not supported, as "position in a volume" without files is meaningless to 
-// us.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::RawWriteL(
-    TInt64 /* aPos */, 
-    TInt /* aLength */, 
-    const TAny* /* aSrc */, 
-    TInt /* anOffset */,
-    const RMessagePtr2& /* aMessage */)
-    {
-      
-    User::Leave(KErrNotSupported);
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::GetShortNameL
-// Should get the short name of the file or directory with the given full name.
-// This function is used in circumstances where a file system mangles
-// Symbian OS natural names, in order to be able to store them on
-// a file system that is not entirely compatible.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::GetShortNameL(
-    const TDesC& /* aLongName */,
-    TDes& /* aShortName */)
-    {
-         
-    User::Leave(KErrNotSupported);
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::GetLongNameL
-// Should get the long name of the file or directory associated with the given 
-// short name. This function is used in circumstances where a file system mangles
-// Symbian OS natural names in order to be able to store them on
-// a file system that is not entirely compatible. 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::GetLongNameL(
-    const TDesC& /* aShortName */,
-    TDes& /* aLongName */)
-    {
-      
-    User::Leave(KErrNotSupported);
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::ReadSectionL
-// Reads a specified section of the file, regardless of the file's lock state.
-// This function basically does what the chain of opening a file, creating 
-// the file control block, and reading file data using CRsfwFsFile::Read()
-// does, but without creating the file control block. For us file's lock state 
-// does not have meaning.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::ReadSectionL(
-    const TDesC& aName,
-    TInt aPos,
-    TAny* /*aTrg */,
-    TInt aLength,
-    const RMessagePtr2& aMessage)
-
-    {
-
-    HBufC8* data = HBufC8::NewMaxLC(aLength);
-    TPtr8 buf(data->Des());   
-  
-    TFid parentFid;
-    TFid newFid;
-    TInt delimiterPos;
-    TPtrC filename, path;
-    HBufC* unicodepath = HBufC::NewMaxLC(KMaxPath);
-    TPtr unicodepathptr(unicodepath->Des());
-    
-    delimiterPos = aName.LocateReverse(KPathDelimiter);
-    filename.Set(aName.Right(aName.Length() - (delimiterPos + 1)));
-    path.Set(aName.Left(delimiterPos + 1));
-    parentFid = FetchFidL(path, KNodeTypeDir);
-    User::LeaveIfError(RSessionL()->
-    		Lookup(parentFid, filename, KNodeTypeFile, newFid));
-    User::LeaveIfError(RSessionL()->
-   			OpenByPath(newFid, unicodepathptr, NULL, EFalse));
-   			
-   	// get the size of the container file	
-   	TEntry tentry;
-   	User::LeaveIfError((*(RFs* )Dll::Tls()).Entry(unicodepathptr, tentry));
-    if (aPos > tentry.iSize) 
-        {
-        // non-sequential read 
-        // i.e. if 128 bytes have been cached 
-        // starting read from pos 128 continues to fill the cache file
-        // but starting read from pos 129- is "random access"
-        // that by-passes the cache */
-        RFile tempFile;
-        TBool usetempCache = EFalse;
-        HBufC* tmpcacheFile = HBufC::NewLC(KMaxPath);
-        TPtr tmpCache(tmpcacheFile->Des());
-        User::LeaveIfError(RSessionL()->FetchData(newFid, 
-        										  aPos, 
-        										  aPos + aLength - 1, 
-        										  tmpCache, 
-        										  usetempCache));
-        // if caching mode is "Whole File Caching" this operation may fetch
-        // the whole file into normal cache anyway. "tmpCache" contains
-        // the right path in this case too, so in this function (where the file
-        // is not open), we don't have to check "usetempCache" boolean.									  
-        User::LeaveIfError(tempFile.Open(*(RFs* )Dll::Tls(), tmpCache, EFileRead));
-        CleanupClosePushL(tempFile);
-        User::LeaveIfError(tempFile.Read(buf, aLength));
-        CleanupStack::PopAndDestroy(2, tmpcacheFile); // tempfile, tempcacheFile
-        }
-    else 
-        {
-        TInt lastByte;
-        User::LeaveIfError(RSessionL()->Fetch(newFid, aPos, aPos + aLength-1, lastByte));
-        User::LeaveIfError((*(RFs* )Dll::Tls()).ReadFileSection(*unicodepath,
-                                                                aPos,
-                                                                buf,
-                                                                aLength));
-        }
-    CleanupStack::PopAndDestroy(unicodepath); // unicodepath
-   
-    // we have read the data into buf
-    aMessage.WriteL(0, buf, 0);
-    CleanupStack::PopAndDestroy(data); //  data 
-    
-    }
-
-
-   
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::FetchFidL
-// Fetches fid for an entry.
-// aPath is of the form \\dirA\\dirB\\dirC\\entry
-// Goes through the path recursively. I.e. first gets the fid of dirA by
-// fid_dirA = lookup(iRootFid, dirA), then does lookup(fid_dirA, dirB) etc. 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TFid CRsfwFsMountCB::FetchFidL(
-    const TDesC& aPath, 
-    TUint aNodeType)
-    {
-    TFid newFid;  
-    TInt pathlength = aPath.Length();
-
-    if (pathlength <= 1)
-        {
-        // '\'
-        // In some rare cases called with zero length aPath,
-        // it seems to be ok to return rootFid
-        return iRootFid;
-        }
-    else
-        {
-        TInt delimiterPos = aPath.LocateReverse(KPathDelimiter);
-        if (delimiterPos == (pathlength - 1))
-            {
-            // The path ends with a slash,
-            //i.e. this is a directory - continue parsing
-            TPtrC nextdelimiter;
-            nextdelimiter.Set(aPath.Left(delimiterPos));
-            delimiterPos = nextdelimiter.LocateReverse(KPathDelimiter);
-            }
-        TPtrC entry(aPath.Right(aPath.Length() - (delimiterPos + 1)));
-        TPtrC path(aPath.Left(delimiterPos + 1));
-        // fetch recursively TFid of path 
-        User::LeaveIfError(RSessionL()->
-				Lookup(FetchFidL(path, KNodeTypeDir), entry, aNodeType, newFid));
-        return newFid;
-        }
-        
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RenameFidL
-// Renames a file
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CRsfwFsMountCB::RenameFidL( 
-    TFid aDirFid, 
-    const TDesC& aSourceName,
-    const TDesC& aNewName )
-    {
-
-    TInt delimiterPos;
-    TPtrC destpath, srcname, destname;
-    TFid destFid;
-
-    delimiterPos = aSourceName.LocateReverse(KPathDelimiter);
-    srcname.Set(aSourceName.Right(aSourceName.Length() - (delimiterPos + 1)));
-
-    delimiterPos = aNewName.LocateReverse(KPathDelimiter);
-    destname.Set(aNewName.Right(aNewName.Length() - (delimiterPos + 1)));
-    destpath.Set(aNewName.Left(delimiterPos + 1));  
-    destFid = FetchFidL(destpath, KNodeTypeDir);
-
-    User::LeaveIfError(RSessionL()->MoveFids(aDirFid, 
-    										  srcname, 
-    										  destFid, 
-    										  destname, 
-    										  EFalse));     
-
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::CheckDisk
-// Checks the integrity of the disk on the specified drive
-// temporarily return KErrNone as a workaround for CommonDialogs 
-// should return KErrNotSupported for remote drives
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CRsfwFsMountCB::CheckDisk()
-    {
-    return KErrNone;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRsfwFsMountCB::RSessionL
-// Singleton-function that creates a session to Remote File Engine once.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-RRsfwSession* CRsfwFsMountCB::RSessionL()
-    { 
-      
-    if (!iSession)
-        {
-        iSession = new (ELeave) RRsfwSession();
-        User::LeaveIfError(iSession->Connect());
-        }     
-    return iSession;
-    
-    }
-
-
-// End of File
--- a/remotestoragefw/rom/rsfw.iby	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  IBY file for Remote Storage FW
-*
-*/
-
-
-#ifndef RSFW_IBY
-#define RSFW_IBY
-
-// DLLs used by RSFW MountMan API, always included
-file=ABI_DIR\BUILD_DIR\rsfwcontrol.dll           SHARED_LIB_DIR\rsfwcontrol.dll
-file=ABI_DIR\BUILD_DIR\rsfwmountman.dll          SHARED_LIB_DIR\rsfwmountman.dll 
-file=ABI_DIR\BUILD_DIR\rsfwmountstore.dll        SHARED_LIB_DIR\rsfwmountstore.dll 
-file=ABI_DIR\BUILD_DIR\rsfwmountutils.dll             SHARED_LIB_DIR\rsfwmountutils.dll 
-
-#ifdef __REMOTE_STORAGE_FW
-
-// Common objects
-file=ABI_DIR\BUILD_DIR\rsfwcommon.dll            SHARED_LIB_DIR\rsfwcommon.dll
-
-// Remote File System plug-in
-file=ABI_DIR\BUILD_DIR\eremotefs.fsy             SHARED_LIB_DIR\eremotefs.fsy
-
-// Remote File Engine
-file=ABI_DIR\BUILD_DIR\remotefe.exe              PROGRAMS_DIR\remotefe.exe
-
-// RSFW Boot Mounter
-file=ABI_DIR\BUILD_DIR\rsfwbootmounter.exe              PROGRAMS_DIR\rsfwbootmounter.exe
-
-// Access Modules (ECom plug-ins)
-ECOM_PLUGIN(rsfwdavaccess.dll, 101F9769.rsc) 
-
-// Remote File Engine client-side DLLs
-file=ABI_DIR\BUILD_DIR\rsfwsession.dll           SHARED_LIB_DIR\rsfwsession.dll
-
-// RSFW config
-file=ABI_DIR\BUILD_DIR\rsfwconfig.dll            SHARED_LIB_DIR\rsfwconfig.dll
-
-// RSFW General Settings Plugin UI
-ECOM_PLUGIN(rsfwgsplugin.dll,101f9777.rsc) // this publishes the DLL and the 
-            // resource file to the correct location
-data=DATAZ_\BITMAP_DIR\rsfwgsplugin.mif BITMAP_DIR\rsfwgsplugin.mif       
-
-// extended notifier server plugin (global dialogs)
-//NotifierPlugin
-ECOM_PLUGIN(rsfwnotplugin.dll, 101F9770.rss) 
-
-// Bio Control
-// dll location
-file=ABI_DIR\BUILD_DIR\rsfwmountconfbc.dll       		SHARED_LIB_DIR\rsfwmountconfbc.dll
-
-#endif // __REMOTE_STORAGE_FW
-
-#endif // RSFW_IBY
-
-//  End of File  
\ No newline at end of file
--- a/remotestoragefw/rom/rsfw_resources.iby	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2005-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:  The resource iby file contains resource that needs to be localized for 
-*                Remotes Storage Framework
-*
-*/
-
-#ifndef RSFWRESOURCES_IBY
-#define RSFWRESOURCES_IBY
-
-#ifdef __REMOTE_STORAGE_FW
-
-data=DATAZ_\RESOURCE_FILES_DIR\rsfwgspluginrsc.RSC       RESOURCE_FILES_DIR\rsfwgspluginrsc.RSC
-data=DATAZ_\RESOURCE_FILES_DIR\RemoteFileEngine.RSC      RESOURCE_FILES_DIR\RemoteFileEngine.RSC
-data=DATAZ_\RESOURCE_FILES_DIR\rsfwmountconfbc.rsc    	RESOURCE_FILES_DIR\rsfwmountconfbc.rsc
-// smart messaging BIO control
-data=DATAZ_\BIOFILE_DIR\rsfwmountconfbcbif.rsc           BIOFILE_DIR\rsfwmountconfbcbif.rsc
-// global dialogs
-data=DATAZ_\RESOURCE_FILES_DIR\rsfwnotplugindlg.rsc   RESOURCE_FILES_DIR\rsfwnotplugindlg.rsc
-
-#endif // __REMOTE_STORAGE_FW
-
-#endif // RSFWRESOURCES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/remotestoragefw/rsfwnotifierplugins/bwins/rsfwnotpluginu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 2 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
-	?NewL@CRsfwNotPluginNameDialog@@SAPAV1@ABVTDesC16@@AAVTDes16@@AAVRFs@@@Z @ 3 NONAME ; class CRsfwNotPluginNameDialog * CRsfwNotPluginNameDialog::NewL(class TDesC16 const &, class TDes16 &, class RFs &)
-
--- a/remotestoragefw/rsfwnotifierplugins/data/101f9770.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 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:  Resource definitions for project notifier plugins
-*
-*/
-
-// INCLUDES
-
-#include "registryinfo.rh"
-#include "uikon.hrh"
-
-// RESOURCE DEFINITIONS
-
-RESOURCE REGISTRY_INFO theInfo
-{
-	dll_uid = 0x101F9770;
-	interfaces =
-	{
-	INTERFACE_INFO
-		{
-		interface_uid = KUikonUidPluginInterfaceNotifiers;
-		implementations =
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x101F9772;
-					version_no = 1;
-					display_name = "Rsfw Notifier Plugin";
-					default_data = "RsfwNotifierPlugin";
-					opaque_data = "0";
-					}
-				};
-		}
-	};
-}
--- a/remotestoragefw/rsfwnotifierplugins/data/rsfwnotplugindialog.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +0,0 @@
-/*
-* Copyright (c) 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:  Resource definitions for project notifier plugins
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME RSFN
-
-// INCLUDES
-#include 	<badef.rh>
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-
-#include "avkon.loc"
-#include <rsfwnotplugindialog.loc>
-// some strings moved from rfe to here
-#include <remotefileengine.loc>
-
-// RESOURCE DEFINITIONS
-// ---------------------------------------------------------
-//   
-//    Define the resource file signature 
-//    This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE 
-    { 
-    }
-    
-// ---------------------------------------------------------
-//   
-//    Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF 
-    { 
-    buf=""; 
-    }
-
-RESOURCE CBA r_custom_softkeys_retry_cancel
-    {
-    flags = EAknCBAFlagRespondWhenInvisible;
-
-    buttons =
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyOk; 
-            txt = qtn_rd_softkey_retry;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyCancel; 
-            txt = text_softkey_cancel;
-            },
-         CBA_BUTTON
-            {
-            id = EAknSoftkeyOk;
-            txt = qgn_prop_msk_select;
-            } 
-        };
-    }   
-    
-RESOURCE CBA r_custom_softkeys_save_no
-    {
-    flags = EAknCBAFlagRespondWhenInvisible;
-
-    buttons =
-        {
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeySave; 
-            txt = qtn_rd_softkey_save;
-            },
-        CBA_BUTTON 
-            {
-            id = EAknSoftkeyNo; 
-            txt = text_softkey_no;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeySave;
-            txt = qgn_prop_msk_select;
-            }     
-        };
-    }       
-   
-    
-//----------------------------------------------------
-// r_custom_retry_query
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_custom_retry_query
-{
-    flags = EGeneralQueryFlags;
-    buttons = r_custom_softkeys_retry_cancel; 
-    items = 
-    {
-        DLG_LINE
-        {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-            {
-                layout = EConfirmationQueryLayout;
-                bmpfile   = AVKON_BITMAP_FILE;
-                bmpid     = EMbmAvkonQgn_note_warning;
-                bmpmask   = EMbmAvkonQgn_note_warning_mask;
-            };
-        }
-    };
-}
-
-RESOURCE DIALOG r_transfer_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote; 
-            control= AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = qtn_rd_wait_transferring;
-                animation =R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-
-RESOURCE DIALOG r_connecting_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote; 
-            control= AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = qtn_rd_wait_connecting;
-                animation =R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-
-RESOURCE DIALOG r_fetching_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote; 
-            control= AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = qtn_gen_note_fetching;
-                animation =R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_rsfw_not_plugin_file_name_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EDataLayout;
-                label = qtn_fldr_item_name_prmpt;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable;
-                    lines = 1;
-                    maxlength = 256;
-                    };
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------
-// r_custom_save_query
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_custom_save_query
-{
-    flags = EGeneralQueryFlags;
-    buttons = r_custom_softkeys_save_no; 
-    items = 
-    {
-        DLG_LINE
-        {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-            {
-                layout = EConfirmationQueryLayout;
-                bmpfile   = AVKON_BITMAP_FILE;
-                bmpid     = EMbmAvkonQgn_note_warning;
-                bmpmask   = EMbmAvkonQgn_note_warning_mask;
-            };
-        }
-    };
-}
-
-//----------------------------------------------------
-// r_rsfw_plugin_rename_query
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_rsfw_plugin_rename_query
-{
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items = 
-    {
-        DLG_LINE
-        {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-            {
-                layout = EConfirmationQueryLayout;
-            };
-        }
-    };
-}
-
-RESOURCE DIALOG r_rsfw_plugin_overwrite_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                label = qtn_fldr_overwrite_query;
-                };
-            }
-        };
-    }
-
-
-//----------------------------------------------------
-//    r_custom_usernamepasswd_dialog
-//
-// This is used to show user custom authentication 
-// dialog. 
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_custom_usernamepasswd_dialog
-{
-    flags = EGeneralQueryFlags;
-    buttons=R_AVKON_SOFTKEYS_OK_CANCEL;
-    items = {
-        DLG_LINE {
-            type = EAknCtMultilineQuery;
-            id = EMultilineFirstLine;
-            control = AVERELL_DATA_QUERY {
-                layout = EMultiDataFirstEdwin;
-                control = EDWIN {
-                		default_case = EAknEditorLowerCase;
-                    flags = EEikEdwinNoHorizScrolling | EEikEdwinResizable | EAknEditorLowerCase;
-                    width = 25;
-                    maxlength = 50;//KRsfwMaxUsernameLength
-                    avkon_flags = EAknEditorFlagLatinInputModesOnly;
-                   	allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode;
-    								default_input_mode = EAknEditorTextInputMode;
-                };
-            };
-        },
-        DLG_LINE {
-            type = EAknCtMultilineQuery;
-            id = EMultilineSecondLine;
-            control = AVERELL_DATA_QUERY {
-                layout = EMultiDataSecondSecEd;
-                control = SECRETED {
-                    num_letters = 50;//KRsfwMaxUsernameLength
-                };
-            };
-        }
-    };
-}
-
-// ---------------------------------------------------
-//
-//    r_rswfplugin_not_enough_memory
-//
-// ---------------------------------------------------
-//
-RESOURCE TBUF r_rsfwplugin_not_enough_memory
-    {
-    buf = qtn_memlo_not_enough_memory;
-    }
-
-
-// ---------------------------------------------------
-//
-//    r_rswfplugin_mmc_not_enough_memory
-//
-// ---------------------------------------------------
-//
-RESOURCE TBUF r_rsfwplugin_mmc_not_enough_memory
-    {
-    buf = qtn_memlo_mmc_not_enough_memory;
-    }
-
-RESOURCE TBUF r_rd_query_username { buf = qtn_rd_query_username; }
-RESOURCE TBUF r_rd_query_password { buf = qtn_rd_query_password; }
-RESOURCE TBUF r_rd_drive_unavailable { buf = qtn_rd_conf_drive_unavailable; }
-RESOURCE TBUF r_rd_file_save_fail { buf = qtn_rd_query_file_save_fail; }
-RESOURCE TBUF r_rd_select_dir_back { buf = text_softkey_back; }
-RESOURCE TBUF r_rd_item_rename_query  { buf = qtn_fldr_rename_query; }
-RESOURCE TBUF r_rd_name_in_use_rename { buf = qtn_fldr_item_name_prmp; }
-RESOURCE TBUF r_rd_fldr_illegal_characters { buf = qtn_fldr_illegal_characters; } 
-RESOURCE TBUF r_rd_fldr_bad_file_name              { buf = qtn_fldr_bad_file_name; } 
-RESOURCE TBUF r_rd_fldr_name_already_used          { buf = qtn_fldr_name_already_used; } 
-RESOURCE TBUF r_rd_item_overwrite_query            { buf = qtn_fldr_overwrite_query; }
-
-// End of File
-
-
--- a/remotestoragefw/rsfwnotifierplugins/eabi/rsfwnotpluginu.def	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-	_Z13NotifierArrayv @ 2 NONAME
-	_ZTI17CRsfwNotPluginDlg @ 3 NONAME ; #<TI>#
-	_ZTI24CRsfwNotPluginNameDialog @ 4 NONAME ; #<TI>#
-	_ZTV17CRsfwNotPluginDlg @ 5 NONAME ; #<VT>#
-	_ZTV24CRsfwNotPluginNameDialog @ 6 NONAME ; #<VT>#
-	_ZN24CRsfwNotPluginNameDialog4NewLERK7TDesC16R6TDes16R3RFs @ 7 NONAME
-
--- a/remotestoragefw/rsfwnotifierplugins/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 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:  Build information file for project notifier plugins
-*
-*/
-
-
-PRJ_EXPORTS
-../inc/rsfwauthenticationdlgrequest.h |../../inc/rsfwauthenticationdlgrequest.h
-../inc/rsfwsavetodlgrequest.h         |../../inc/rsfwsavetodlgrequest.h
-../inc/rsfwnotpluginrequest.h         |../../inc/rsfwnotpluginrequest.h
-../inc/rsfwnotpluginnamedialog.h      |../../inc/rsfwnotpluginnamedialog.h
-// export localised loc file
-../loc/rsfwnotplugindialog.loc        MW_LAYER_LOC_EXPORT_PATH(rsfwnotplugindialog.loc)
-
-PRJ_MMPFILES
-rsfwnotplugin.mmp
--- a/remotestoragefw/rsfwnotifierplugins/group/rsfwnotplugin.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 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:  Project definition file for project rsfw notifier plugins
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET                  rsfwnotplugin.dll
-TARGETTYPE              PLUGIN
-UID                     0x10009D8D 0x101F9770
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-SOURCEPATH              ../src
-SOURCE                  rsfwnotplugindlg.cpp
-SOURCE                  rsfwnotpluginnamedialog.cpp
-SOURCEPATH              ../../MDebug/src
-SOURCE                  mdebug.cpp
-
-// ECom resource file
-SOURCEPATH              ../data
-START RESOURCE 101f9770.rss
-		TARGET  rsfwnotplugin.rsc 
-END	// ECom resource file 
-
-// Notifier resource file
-START RESOURCE rsfwnotplugindialog.rss
-HEADER
-TARGET rsfwnotplugindlg.rsc
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // RESOURCE
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE   /epoc32/include/ecom
-USERINCLUDE     ../inc
-
-LIBRARY avkon.lib
-LIBRARY commonengine.lib 
-LIBRARY commondialogs.lib
-LIBRARY cone.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib 
-LIBRARY eikdlg.lib 
-LIBRARY eiksrv.lib
-LIBRARY euser.lib 
-LIBRARY efsrv.lib 
-LIBRARY bafl.lib 
-LIBRARY sysutil.lib
-LIBRARY aknnotify.lib
-LIBRARY flogger.lib
-LIBRARY  eiksrvui.lib // CEikServAppUi
-
-DEFFILE rsfwnotplugin.def
-
--- a/remotestoragefw/rsfwnotifierplugins/inc/mydebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 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:  Debug printing to a log file
-*
-*/
-
-#ifndef MYDEBUG_H
-#define MYDEBUG_H
-
-// Debug defines for Remote File Engine
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "rsfwnotifier");
-_LIT(KDebugFileName, "rsfwnotifier.txt");
-
-#endif // MYDEBUG_H
-
-// End of File
\ No newline at end of file
--- a/remotestoragefw/rsfwnotifierplugins/inc/rsfwauthenticationdlgrequest.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 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:  Authentication dialog request to the notifier plugin
-*
-*/
-
-
-#ifndef T_RSFWAUTHENTICATIONDLGREQUEST_H
-#define T_RSFWAUTHENTICATIONDLGREQUEST_H
-
-#include "e32cmn.h"
-
-#include "rsfwnotpluginrequest.h"
-
-/**
-*  Parameters for authentication dialog request
-*
-*/
-class TRsfwAuthenticationDlgRequest : public TRsfwNotPluginRequest
-    {
-public:
-    // current username
-    TBuf<KRsfwMaxUsernameLength>  iUserName;
-    
-    // current password
-    TBuf<KRsfwMaxPasswordLength>  iPassword;
-    	
-    };
-
-// Package buffer to hold auht request parameter information
-typedef TPckgBuf<TRsfwAuthenticationDlgRequest> TRsfwAuthParamsPckg;
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/rsfwnotifierplugins/inc/rsfwnotplugindlg.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 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:  RSFW notifier server plugin 
-*
-*/
-
-#ifndef C_RSFWNOTPLUGIN_H
-#define C_RSFWNOTPLUGIN_H
-
-#include <e32def.h>
-#include <e32base.h>
-#include <eiknotapi.h> // MEikSrvNotifierBase
-#include <MAknMemorySelectionObserver.h>
-#include "rsfwauthenticationdlgrequest.h"
-#include "rsfwsavetodlgrequest.h"
-#include "rsfwnotpluginrequest.h"
-
-class CAknDialog;
-
-
-IMPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray();
-
-/**
- *  Remote Storage FW plugin to the notifier server.
- *
- *  This plugin implements the custom global dialogs needed by 
- *  Remote Storage Framework.
- *
- *  @lib rsfwnotplugin.dll
- *  @since S60 v3.2
- */
-class CRsfwNotPluginDlg : public CActive, 
-                          public MEikSrvNotifierBase2, 
-                          public MAknMemorySelectionObserver,
-                          public MProgressDialogCallback
-    {
-public: 
-
-    	static CRsfwNotPluginDlg* NewL();
-
-    	~CRsfwNotPluginDlg();
-
-		// for base class CActive
-
-        /**
-         * From CActive
-         * Handles an active object's request completion event.
-         *
-         * @since S60 v3.2
-         */
-	    void RunL();
-	    
-        /**
-         * From CActive
-         * Handles a leave occurring in the request completion event handler RunL().
-         *
-         * @since S60 v3.2
-         */
-    	TInt RunError(TInt aError);
-    	
-        /**
-         * From CActive
-         * Implements cancellation of an outstanding request.
-         *
-         * @since S60 v3.2
-         */    	
-         void DoCancel();
-
-        // from base class MEikSrvNotifierBase2
-
-       /**
-        * From .MEikSrvNotifierBase2
-        * Called when all resources allocated by notifiers should be freed.
-        *
-        * @since S60 v3.2
-        * 
-        */
-    	virtual void Release();
-    
-    
-        /**
-        * From MEikSrvNotifierBase2
-        * Called when a notifier is first loaded to allow any initial construction that is required.
-        *
-        * @since S60 v3.2
-        * 
-        */
-        virtual MEikSrvNotifierBase2::TNotifierInfo RegisterL();
-    	
-    
-        /**
-        * From MEikSrvNotifierBase2
-        * Return the priority a notifier takes and the channels it acts on.  The return value may be varied
-     	* at run-time.
-        *
-        * @since S60 v3.2
-     	*/
-		virtual MEikSrvNotifierBase2::TNotifierInfo Info() const;
-		
-    
-        /**
-        * From MEikSrvNotifierBase2
-        * Start the notifier with data aBuffer and return an initial response.
-        *
-        * @since S60 v3.2
-        * @param aBuffer Data that can be passed from the client-side. The format and 
-	    *                meaning of any data is implementation dependent.
-     	*/
-    	virtual TPtrC8 StartL(const TDesC8& aBuffer);
-    
-    
-        /**
-        * From MEikSrvNotifierBase2
-     	* Start the notifier with data aBuffer.  aMessage should be completed when the notifier is deactivated.
-     	* May be called multiple times if more than one client starts the notifier.  The notifier is immediately
-     	* responsible for completing aMessage.
-        *
-        * @since S60 v3.2
-        * @param aBuffer Data that can be passed from the client-side. The format and 
-    	*                meaning of any data is implementation dependent.
-	    * @param aReplySlot Identifies which message argument to use for the reply.
-        *                   This message argument will refer to a modifiable descriptor, a TDes8 type, 
-	    *                   into which data can be returned. The format and meaning of any returned data 
-	    *                   is implementation dependent.
-	    @param aMessage Encapsulates a client request
-        */
-		virtual void StartL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage);
-		
-		
-        /**
-        * From MEikSrvNotifierBase2
-        * The notifier has been deactivated so resources can be freed and outstanding messages completed.
-        *
-        * @since S60 v3.2
-     	*/
-    	virtual void Cancel();
-
-
-        /**
-        * From MEikSrvNotifierBase2
-        * Update a currently active notifier with data aBuffer.
-        *
-        * @since S60 v3.2
-        * @param aBuffer Data that can be passed from the client-side. The format and 
-	    *                meaning of any data is implementation dependent.
-        * @return A pointer descriptor representing data that may be returned. The format 
-	    *         and meaning of any data is implementation dependent.
-     	*/
-    	virtual TPtrC8 UpdateL(const TDesC8& aBuffer);
-    	
-        // from base class MAknMemorySelectionObserver
-     
-        /**
-         * From MAknMemorySelectionObserver
-         * Logic to decide whether the inputs given in the dialog are ok
-         *
-         * @since S60 v3.2
-         * @param aMemory the selected memory
-        */
-    	TBool OkToExitL( CAknMemorySelectionDialog::TMemory aMemory );
-    	   
-    	// from base class MProgressDialogCallback	
-    	
-    	 /**
-         * From MProgressDialogCallback
-         * Callback we receive when a non-modal wait dialog is dismissed
-         *
-         * @since S60 v3.2
-         * @param aButtonId the button user pressed
-        */
-        void DialogDismissedL( TInt aButtonId );
-        
-	private: 
-		
-		  /**
-        * C++ default constructor.
-        */
-    	CRsfwNotPluginDlg();
-    	
-    	/**
-        * By default Symbian 2nd phase constructor is private.
-        */
-    	void ConstructL();
-
-		// New functions
-
- 		// Helpers
-	    void HandleAsyncRequestL();
-	    
-	    // show dialogs
-	    TInt ShowAuthenticationDialogL();			       
-        TBool ShowUnavailableRetryNoteL();						       
-        TBool ShowSaveToDlgL();	
-        void ShowWaitNoteL();	
-    					    
-    	/**
-        * Returns the type of given item index in CFileManagerItemProperties bitmask
-        * @param aFullPath	Full path to item which type is needed..
-        * @return CFileManagerItemProperties bitmask
-        */
-		TUint32 FileTypeL( const TDesC& aFullPath ) const;				    
-        
-        void Cleanup();
-        
-        TBool GetValidNameL(TDesC& aPath, TDes& aName);
-
-        void ShowDiskFullNoteL( TBool aInternal );
-        
-        void CancelL();
-
-    	/**
-        * Temporarily disables 'app key', so that user cannot switch or close
-        * the app when global dialog is being displayed
-        */
-        void BlockAppSwitching();
-        void UnblockAppSwitching();
-
-	private: // Data
-	    TInt iMethod; // See TRsfwNotPluginRequest::TRsfwNotPluginMethod
-        RMessagePtr2 	iMessage;
-    	TInt 			iReplySlot;
-    	MEikSrvNotifierBase2::TNotifierInfo  iInfo;
-		
-        // for all dialogs
-        TBuf<KRsfwMaxDrivenameLength>  iDriveName;
-        // for authentication dialog
-        HBufC* iUserName;
-        HBufC* iPassword;
-    	
-    	// param structs
-    	TRsfwAuthParamsPckg* iAuthRequest;
-    	TRsfwSaveToParamsPckg* iSaveToRequest;
-    	
-		// Valid during showing a dialog
-    	CAknDialog* iDialog; 
-    	CAknWaitDialog* iWaitDialog;
-    	TBool iCancelled;
-    	
-    	// for save as dialog
-    	HBufC*  iFileName;
-    	TInt iFileSize;
-    	TBuf<KRsfwMaxDriveletterLength> iCacheDrive;
-    	CAknMemorySelectionDialog* iMemDialog;
-    	HBufC* iCurrentRootPath;
-    	RFs iFs;
-    	
-    	// 
-    	TBool iDialogDismissedCalled;
-    	TBool iAppSwitchingBlocked;  // is 'app key' disabled
-   };
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/rsfwnotifierplugins/inc/rsfwnotpluginnamedialog.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 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:  File name query dialog for "save as" dialog
-*
-*/
-
-
-#ifndef C_RSFWNOTPLUGINNAMEDIALOG_H
-#define C_RSFWNOTPLUGINNAMEDIALOG_H
-
-#include <AknQueryDialog.h>
-
-// CONSTANTS
-_LIT(KDot, ".");
-_LIT(KNotPluginResourcePath, "rsfwnotplugindlg.rsc");
-
-// CLASS DECLARATION
-
-/**
- * Dialog for "rename file" query in the Notifier plugin
- * This dialog is used to get a new name for a file from the user.
- * It only returns when user has entered a name that is legal in 
- * Symbian file system
- */
-class CRsfwNotPluginNameDialog : public CAknTextQueryDialog
-    {
-    public:  // Constructors and destructor
-
-        /**
-         * Two-phased constructor.
-         * @param aOldName Old name of the file, this will be the default name
-         *                 This contains the path, but the path is not shown to the user
-         * @param aNewName On return, the user entered new name of the file.
-         *                 Does not contain the path, as it is assumed to remain the same
-         * @return Newly created query dialog.
-         */
-        IMPORT_C static CRsfwNotPluginNameDialog* NewL( const TDesC& aOldName, 
-											   TDes& aNewName,
-										    	RFs& aFs);
-
-		/**
-        * Destructor.
-        */
-        ~CRsfwNotPluginNameDialog();
-
-    protected: // from CAknTextQueryDialog
-        /**
-         * @see CAknTextQueryDialog
-         */
-    	TBool OkToExitL( TInt aButtonId );
-
-	private:
-        /**
-        * C++ default constructor.
-        */
-        CRsfwNotPluginNameDialog( TDes& aNewName, RFs& aFs  );
-
-        /**
-         * Symbian OS 2nd phase constructor.
-         * @param aOldName Old name of the file, this will be the default name
-         */
-		void ConstructL( const TDesC& aOldName );
-	
-            
-        /**
-        * Show simple error note if something is wrong with the name the user chose
-        * @param aTextId localized string
-        */   
-        void ShowSimpleInfoNoteL(
-            const TInt aTextId);
-
-    	
-
-    private:    // Data
-        /// Own: Old file name
-        HBufC* iOldName;
-        RFs& iFs;
-    };
-
-#endif
--- a/remotestoragefw/rsfwnotifierplugins/inc/rsfwnotpluginrequest.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 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:  notifier plugin request encapsulation
-*
-*/
-
-#ifndef T_RSFWNOTPLUGINGREQUEST_H
-#define T_RSFWNOTPLUGINGREQUEST_H
-
-const TUid KRsfwNotifierPluginUID     = { 0x101F9770 }; 
-
-// CONSTANTS
-const TInt KRsfwMaxDrivenameLength = 20;
-const TInt KRsfwMaxDriveletterLength = 2;
-const TInt KRsfwMaxFileSizeString = 20;
-const TInt KRsfwMaxUsernameLength = 50;
-const TInt KRsfwMaxPasswordLength = 50;
-const TInt KRsfwNotifierMsgDataMaxSize = 1024;
-
-/**
-* Class TRsfwNotPluginRequest
-* Base class for fixed sized requests transferred between client and plug-in
-* notifier implementation.
-* This is used internally. This should not be instantiated by the clients.
-*/
-class TRsfwNotPluginRequest
-   	{
-	public:
-
-   		/**
-   		*  List of supported functionalities in plug-in implementation
-   		*/
-   		enum TRsfwNotPluginMethod
-       	{
-       	ENoMethod,
-       	EAuthenticationDlg,
-       	ESaveToDlg,
-       	EUnavailableRetryDlg,
-       	// wait dialogs, note that these could come after EUnavailableRetryDlg
-       	EConnectingDlg,
-       	EFetchingDlg
-       	};
-       	
-       	
-    // method	
-    TRsfwNotPluginMethod iMethod;
-    
-    // Drive Friendly name
-    TBuf<KRsfwMaxDrivenameLength>  iDriveName;
-    
-    
-    };
-
-// Package buffer to hold parameter information
-typedef TPckgBuf<TRsfwNotPluginRequest> TRsfwRetryParamsPckg;
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/rsfwnotifierplugins/inc/rsfwsavetodlgrequest.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 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:  File selection dialog request to the notifier plugin
-*
-*/
-
-
-#ifndef T_RSFWSAVETODLGREQUEST_H
-#define T_RSFWSAVETODLGREQUEST_H
-
-#include "e32cmn.h"
-
-#include "rsfwnotpluginrequest.h"
-
-
-/**
-* Class TRsfwSaveToDlgRequest
-*/
-class TRsfwSaveToDlgRequest : public TRsfwNotPluginRequest
-    {
-	public: // New functions
-
-     // File name
-    TBuf<KMaxFileName>  iFileName;  
-    
-    // Drive letter
-    TBuf<KRsfwMaxDriveletterLength>  iCacheDrive;  
-    
-    // File size as a string (in bytes)
-    TBuf<KRsfwMaxFileSizeString>  iFileSize;  
-    
-    };
-
-// Package buffer to hold update parameter information
-typedef TPckgBuf<TRsfwSaveToDlgRequest> TRsfwSaveToParamsPckg;
-
-#endif
\ No newline at end of file
--- a/remotestoragefw/rsfwnotifierplugins/loc/rsfwnotplugindialog.loc	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Localization strings for notifier server plugin
-*
-*/
-
-//d:Prompt text for username in username/password dialog
-//l:popup_query_data_window
-//w:
-//r:3.2
-//
-#define  qtn_rd_query_username "%U username:"
-
-//d:Prompt text for passwordin username/password dialog
-//l:popup_query_data_window
-//w:
-//r:3.2
-//
-#define  qtn_rd_query_password "Password:"
-
-// End of File
--- a/remotestoragefw/rsfwnotifierplugins/src/rsfwnotplugindlg.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,868 +0,0 @@
-/*
-* Copyright (c) 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:  RSFW notifier server plugin
-*
-*/
-
-
-#include <AknNotifyStd.h>
-#include <eikenv.h>
-#include <AknQueryDialog.h>
-#include <AknGlobalNote.h>
-#include <ConeResLoader.h>
-#include <rsfwnotplugindlg.rsg>
-#include <StringLoader.h>
-#include <CAknMemorySelectionDialog.h>
-#include <CAknFileSelectionDialog.h>
-#include <sysutil.h>
-#include <bautils.h>
-#include <AknWaitDialog.h>
-#include <uikon/eiksrvui.h> // CEikServAppUi
-
-#include "rsfwnotplugindlg.h"
-#include "rsfwnotpluginnamedialog.h"
-#include "mdebug.h"
-
-#include <implementationproxy.h> 
-
-_LIT(KResourceFile, "z:\\resource\\RsfwNotPluginDlg.RSC"); // emulator
-
-
-void CreateNotifierL(CArrayPtr<MEikSrvNotifierBase2>* aNotifiers)
-    {
-    MEikSrvNotifierBase2* notifier;
-    notifier = CRsfwNotPluginDlg::NewL();
-    CleanupStack::PushL(notifier);
-    aNotifiers->AppendL(notifier);
-    CleanupStack::Pop(notifier);
-    }
-
-EXPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
-    {
-    CArrayPtrFlat<MEikSrvNotifierBase2>* notifiers
-        = new CArrayPtrFlat<MEikSrvNotifierBase2>(1);
-    if (notifiers)
-        {
-        TRAPD(err, CreateNotifierL(notifiers));
-        if(err)
-            {
-            notifiers->ResetAndDestroy();
-            delete notifiers;
-            notifiers = NULL;
-            }
-        }
-    return(notifiers);
-    }
-
-
-
-CRsfwNotPluginDlg* CRsfwNotPluginDlg::NewL()
-    {
-    CRsfwNotPluginDlg* dlg = new(ELeave)CRsfwNotPluginDlg();
-    CleanupStack::PushL(dlg);
-    dlg->ConstructL();
-    CleanupStack::Pop(dlg);
-    return dlg;
-    }
-
-CRsfwNotPluginDlg::~CRsfwNotPluginDlg()
-    {
-    Cleanup();
-    iFs.Close(); 
-    if (iWaitDialog) 
-        {
-        delete iWaitDialog;
-        }
-    // just in case make sure the app key is unblocked
-    UnblockAppSwitching();
-    }
-    
-void CRsfwNotPluginDlg::Cleanup()
-    {
-    
-    iMethod = TRsfwNotPluginRequest::ENoMethod;
-    iCancelled = EFalse;  
-    iReplySlot = NULL;  
- 
-    
-    if (iUserName)
-        {
-        delete iUserName;
-        iUserName = NULL;
-        }
-     
-    if (iPassword)
-        {
-        delete iPassword;
-        iPassword = NULL;
-        }
-    
-    if (iCurrentRootPath)  
-        {
-        delete iCurrentRootPath;
-        iCurrentRootPath = NULL;
-        }
-    
-    
-    if (iMemDialog) 
-        {
-        delete iMemDialog;
-        iMemDialog = NULL;
-        }
-        
-    if (iFileName) 
-        {
-        delete iFileName;
-        iFileName = NULL;
-        }
-        
-    if (iAuthRequest)
-        {
-        delete iAuthRequest;
-        iAuthRequest = NULL;
-        }
-        
-    if (iSaveToRequest) 
-        {
-        delete iSaveToRequest;
-        iSaveToRequest = NULL;
-        }
-        
-    if (iWaitDialog) 
-        {
-        delete iWaitDialog;
-        iWaitDialog = NULL;
-        }
-       
-    }
-
-CRsfwNotPluginDlg::CRsfwNotPluginDlg() : CActive(EPriorityStandard),
-    iMethod(TRsfwNotPluginRequest::ENoMethod)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-void CRsfwNotPluginDlg::ConstructL()
-    {
-    User::LeaveIfError(iFs.Connect());
-    iAppSwitchingBlocked = EFalse;
-    }
-
-void CRsfwNotPluginDlg::RunL()
-    {
-    if(iMethod == TRsfwNotPluginRequest::ENoMethod)
-        return; // Notifier canceled or request signaled by other means
-
-    HandleAsyncRequestL(); // show dialog
-    }
-
-TInt CRsfwNotPluginDlg::RunError(TInt aError)
-    {
-    DEBUGSTRING16(("CRsfwNotPluginDlg::RunError, error=%d",aError));
-    UnblockAppSwitching();
-    iMessage.Complete(aError);
-    Cleanup();
-    return KErrNone;
-    }
-
-void CRsfwNotPluginDlg::DoCancel()
-    {
-    }
-
-/**
- * Called when all resources allocated by notifiers shoudl be freed.
- */
-void CRsfwNotPluginDlg::Release()
-    {
-    delete this;
-    }
-
-/**
- * Called when a notifier is first loaded to allow any initial construction that is required.
- */
-MEikSrvNotifierBase2::TNotifierInfo CRsfwNotPluginDlg::RegisterL()
-    {
-    iInfo.iUid = KRsfwNotifierPluginUID;
-    // Because there are some longer wait notes here, we use low priority 
-    // (lower than ENotifierPriorityVLow). This allows e.g. VPN credentials dialog on
-    // top of the "Connecting..." wait note.
-    iInfo.iChannel = EAknNotifierChannelProgressDialog; 
-    iInfo.iPriority = ENotifierPriorityVLow; 
-    return iInfo;
-    }
-
-/**
- * Return the priority a notifier takes and the channels it acts on.  The return value may be varied
- * at run-time.
- */
-MEikSrvNotifierBase2::TNotifierInfo CRsfwNotPluginDlg::Info() const
-    {
-    return iInfo;
-    }
-
-/**
- * Start the notifier with data aBuffer and return an initial response.
- */
-TPtrC8 CRsfwNotPluginDlg::StartL(const TDesC8& /*aBuffer*/)
-    {
-    //Create and launch confirmation dialog using static function.
-    //The function returns True when the OK button is pressed.
-    return TPtrC8(NULL, 0);
-    }
-
-void CRsfwNotPluginDlg::HandleAsyncRequestL()
-    {
-    // Load resource file
-    CEikonEnv* eikEnv = CEikonEnv::Static();
-    TFileName filename(KResourceFile); 
-    RConeResourceLoader resLoader(*eikEnv);
-    User::LeaveIfError(resLoader.Open(filename));
-    CleanupClosePushL(resLoader);
-	TInt result;
-    TBool okpressed = EFalse;
-    switch(iMethod)
-        {
-        
-        case TRsfwNotPluginRequest::EAuthenticationDlg:
-            DEBUGSTRING16(("CRsfwNotPluginDlg::HandleAsyncRequestL EAuthenticationDlg"));
-            okpressed = ShowAuthenticationDialogL();
-            DEBUGSTRING16(("CRsfwNotPluginDlg::::ShowAuthenticationDialogL returned %d", okpressed));
-            break;  
-        case TRsfwNotPluginRequest::EUnavailableRetryDlg:
-           DEBUGSTRING16(("CRsfwNotPluginDlg::HandleAsyncRequestL EUnavailableRetryDlg"));
-            okpressed  = ShowUnavailableRetryNoteL();  
-           break;
-        case TRsfwNotPluginRequest::ESaveToDlg:
-            DEBUGSTRING16(("CRsfwNotPluginDlg::HandleAsyncRequestL ESaveToDlg"));
-            okpressed = ShowSaveToDlgL();
-            break;
-        case TRsfwNotPluginRequest::EConnectingDlg:
-        case TRsfwNotPluginRequest::EFetchingDlg:
-            ShowWaitNoteL();
-            break;
-        default:
-            break;
-            
-        }
-
-// some message dialogs will be completed here, 
-// others from the DialogDismissedL callback
-if (iMethod  <=  TRsfwNotPluginRequest::EUnavailableRetryDlg) 
-    {
-    if(iCancelled)
-        {
-        iMessage.Complete(KErrCancel);
-        }
-    else
-        {
-        if(okpressed) 
-            {
-            if (iMethod == TRsfwNotPluginRequest::EAuthenticationDlg) 
-                {
-                iMessage.WriteL(iReplySlot, *iAuthRequest);
-                }
-            else if (iMethod == TRsfwNotPluginRequest::ESaveToDlg) 
-                {
-                iMessage.WriteL(iReplySlot, *iSaveToRequest);
-                }
-            
-            result = KErrNone;
-            }
-        else 
-            {
-            result = KErrCancel;
-            }
-        iMessage.Complete(result);
-        }
-    }
-
-    CleanupStack::PopAndDestroy(&resLoader);
-
-    }
-
-/**
- * Start the notifier with data aBuffer.  aMessage should be completed when the notifier is deactivated.
- * May be called multiple times if more than one client starts the notifier.  The notifier is immediately
- * responsible for completing aMessage.
- */
-
-void CRsfwNotPluginDlg::StartL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage)
-    {
-    if(iMethod != TRsfwNotPluginRequest::ENoMethod)
-        {
-        aMessage.Complete(KErrInUse);
-        return;
-        }
-
-    Cleanup();
-    
-     // Read incoming parameters
-    TRsfwNotPluginRequest params;
-    TPckgC<TRsfwNotPluginRequest> pckg( params );
-    pckg.Set( aBuffer );
-    iMethod = pckg().iMethod;
-    iDriveName = pckg().iDriveName;
-   
-    
-    if (iMethod == TRsfwNotPluginRequest::EAuthenticationDlg) 
-        {
-        TRsfwAuthenticationDlgRequest authparams;
-        TPckgC<TRsfwAuthenticationDlgRequest> authpckg( authparams );
-        authpckg.Set( aBuffer );
-            
-        // read parameters
-        iUserName = HBufC::NewL(KRsfwMaxUsernameLength);
-        TPtr username = iUserName->Des();
-        username.Append(authpckg().iUserName);
-        iPassword = HBufC::NewL(KRsfwMaxPasswordLength);
-        TPtr psswd= iPassword->Des();
-        psswd.Append(authpckg().iPassword);           
-        }
-    else if (iMethod == TRsfwNotPluginRequest::ESaveToDlg)
-        {
-        TRsfwSaveToDlgRequest saveToparams;
-        TPckgC<TRsfwSaveToDlgRequest> savepckg( saveToparams );
-        savepckg.Set( aBuffer );
-            
-        // read parameters
-        iFileName = HBufC::NewL(KMaxFileName);
-        TPtr filename = iFileName->Des();
-        filename.Append(savepckg().iFileName);
-        iCacheDrive = savepckg().iCacheDrive;
-        TLex lex(savepckg().iFileSize);
-        lex.Val(iFileSize);
-        }
-   
-   
-    iMessage = aMessage; 
-    iReplySlot = aReplySlot;
-    iStatus = KRequestPending;
-    TRequestStatus* status = &iStatus;
-    SetActive();
-    User::RequestComplete(status, KErrNone);
-
-    }
-
-
-TBool CRsfwNotPluginDlg::ShowAuthenticationDialogL()
-    {
-    DEBUGSTRING16(("CRsfwNotPluginDlg::::ShowAuthenticationDialogL"));
-    	  	
-    TBool returnValue = EFalse;
-	HBufC* firstprompt = NULL;
-	HBufC* secondprompt = NULL;
-    firstprompt = StringLoader::LoadLC( R_RD_QUERY_USERNAME, iDriveName );
-	DEBUGSTRING16(("loaded firstprompt"));
-	secondprompt = StringLoader::LoadLC( R_RD_QUERY_PASSWORD);	
-		
-	DEBUGSTRING16(("loaded secondprompt"));
-	iAuthRequest = new (ELeave) TRsfwAuthParamsPckg();
-	TPtr username = iUserName->Des();
-    TPtr password = iPassword->Des();
-    CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL(username,password);
-    CleanupStack::PushL(dlg);
-    DEBUGSTRING16(("created dialog"));
-    dlg->SetPromptL(*firstprompt, *secondprompt);
-    DEBUGSTRING16(("set prompts"));
-    CleanupStack::Pop(dlg);
-    dlg->SetMaxLengthOfFirstEditor(KRsfwMaxUsernameLength);
-    dlg->SetMaxLengthOfFirstEditor(KRsfwMaxPasswordLength);
-    iDialog = dlg;
-    
-    BlockAppSwitching();
-    TBool okButtonSelected = dlg->ExecuteLD(R_CUSTOM_USERNAMEPASSWD_DIALOG);
-    UnblockAppSwitching();
-
-    
-    if (okButtonSelected) 
-        {
-        returnValue = ETrue;
-        (*iAuthRequest)().iUserName = username;
-        (*iAuthRequest)().iPassword = password;
-        }
-    
-    CleanupStack::PopAndDestroy(2, firstprompt); // secondprompt, firstprompt
-    return returnValue;
-    
-    }
-    
-TBool CRsfwNotPluginDlg::ShowSaveToDlgL()
-    { 
-    
-    TPtr filename = iFileName->Des();  
-  
-    CDesCArrayFlat* strings = new (ELeave) CDesCArrayFlat( 2 );
-    CleanupStack::PushL( strings );
-    strings->AppendL( filename );
-    strings->AppendL( iDriveName );    
-    
-    TBool dialogCancelled = EFalse;
-    TBool fileSelected = EFalse;
-    iCurrentRootPath = HBufC::NewL(KMaxPath);
-    TPtr rootptr = iCurrentRootPath->Des();
-    TPtr folderptr(NULL, 0);
-    
-    TInt saveSelection;
-    iSaveToRequest = new (ELeave) TRsfwSaveToParamsPckg();
-    CAknQueryDialog* note = CAknQueryDialog::NewL();
-    CleanupStack::PushL(note);
-    HBufC* saveprompt = StringLoader::LoadLC( R_RD_FILE_SAVE_FAIL, *strings);
-    note->SetPromptL(*saveprompt);
-    CleanupStack::PopAndDestroy(saveprompt);
-    CleanupStack::Pop(note);
-
-    BlockAppSwitching();            
-    saveSelection = note->ExecuteLD(R_CUSTOM_SAVE_QUERY);   
-    UnblockAppSwitching();
-
-    CleanupStack::PopAndDestroy(strings); // strings
-   
-    if (saveSelection == EAknSoftkeySave) 
-        {    
-        while (!fileSelected && !dialogCancelled)
-            {
-             CAknMemorySelectionDialog::TMemory selectedMem = 
-                                            CAknMemorySelectionDialog::EPhoneMemory;
-            if (iMemDialog) 
-                {
-                delete iMemDialog;
-                iMemDialog = NULL;
-                }  
-                                          
-             iMemDialog = CAknMemorySelectionDialog::NewL(ECFDDialogTypeSave, EFalse);
-             CAknCommonDialogsBase::TReturnKey retvalue;
-        
-             iMemDialog->SetObserver(this);
-             retvalue = iMemDialog->ExecuteL(selectedMem, &rootptr, &folderptr); 
-             if (retvalue) 
-                {
-                CAknFileSelectionDialog* filedialog = CAknFileSelectionDialog::NewL(ECFDDialogTypeSave);
-                CleanupStack::PushL(filedialog);
-                HBufC* dialogtxt = NULL;
-                dialogtxt = StringLoader::LoadLC( R_RD_SELECT_DIR_BACK );
-                filedialog->SetRightSoftkeyRootFolderL(*dialogtxt);
-                fileSelected = filedialog->ExecuteL(rootptr);
-                CleanupStack::PopAndDestroy(2, filedialog); // dialogtxt, filedialog
-                }
-             else 
-                {
-                dialogCancelled = ETrue;
-                }
-            }
-        
-        }
-       else
-        {
-        dialogCancelled = ETrue;
-        }
-    
-    if (!dialogCancelled) 
-        {
-        dialogCancelled = !GetValidNameL(rootptr, filename);
-      
-        }
-    
-    rootptr.Append(filename);    
-    
-    if (!dialogCancelled) 
-        {
-        (*iSaveToRequest)().iFileName= rootptr;
-        }
-               
-        
-    return !dialogCancelled;
-    
-    }
-
-void CRsfwNotPluginDlg::ShowWaitNoteL() 
-    {
-    if (iWaitDialog) 
-        {
-        delete iWaitDialog;
-        iWaitDialog = NULL;
-        }
-      
-      // We set visibilityDelayOff
-      // As we show wait dialog only for remote operations
-      // we can assumet that the length of the operation is always
-     //  over 1.5 seconds..
-      iWaitDialog = new( ELeave ) CAknWaitDialog(
-            reinterpret_cast< CEikDialog** >( &iWaitDialog ),
-            ETrue );
-
-    
-    // if user cancels the wait note, this is received via the callbakc.
-    iWaitDialog->SetCallback(this);  
-            
-    switch (iMethod) 
-        {
-        case TRsfwNotPluginRequest::EConnectingDlg:
-            // 'app key' will be unblocked in DialogDismissedL()
-            BlockAppSwitching();
-            iWaitDialog->ExecuteLD(R_CONNECTING_WAIT_NOTE);
-            break;
-        case TRsfwNotPluginRequest::EFetchingDlg:
-            // 'app key' will be unblocked in DialogDismissedL()
-            BlockAppSwitching();
-            iWaitDialog->ExecuteLD(R_FETCHING_WAIT_NOTE); 
-            break;
-        }   
-    }
-    
-
-TBool CRsfwNotPluginDlg::ShowUnavailableRetryNoteL()
-    {
-    HBufC* retryprompt = NULL;
-    retryprompt = StringLoader::LoadLC( R_RD_DRIVE_UNAVAILABLE, iDriveName );
-    
-    CAknQueryDialog* note = CAknQueryDialog::NewL();
-    CleanupStack::PushL(note);
-    note->SetPromptL(*retryprompt);
-    CleanupStack::Pop(note);
-
-    BlockAppSwitching();
-    TBool retryButtonSelected = note->ExecuteLD(R_CUSTOM_RETRY_QUERY);    
-    UnblockAppSwitching();    
-
-    CleanupStack::PopAndDestroy(retryprompt);
-    if (retryButtonSelected) 
-        {
-        return ETrue;
-        }
-    else 
-        {
-        return EFalse;
-        }
-    }
-
-
-
-TBool CRsfwNotPluginDlg::OkToExitL( CAknMemorySelectionDialog::TMemory aMemory ) 
-    {
-    TBool returnValue = EFalse;
-    TPtr rootptr = iCurrentRootPath->Des();
-    TPtr folderptr(NULL, 0);
-    iMemDialog->GetMemories( aMemory, &rootptr, &folderptr);
-  
-    TDriveUnit selectedDrive(iCurrentRootPath[0]);
-    TDriveUnit cacheDrive(iCacheDrive);
-    if (selectedDrive == cacheDrive) 
-        {
-        // just move between one drive
-        returnValue = ETrue;
-        }
-    else if (aMemory == CAknMemorySelectionDialog::EMemoryCard) 
-        {
-        if (SysUtil::MMCSpaceBelowCriticalLevelL(&iFs, iFileSize)) 
-            {
-            ShowDiskFullNoteL(EFalse);
-            }
-        else 
-            {
-            returnValue = ETrue;
-            }
-        }
-    else if (aMemory == CAknMemorySelectionDialog::EPhoneMemory) 
-        {
-        if (SysUtil::FFSSpaceBelowCriticalLevelL(&iFs, iFileSize))
-            {
-            ShowDiskFullNoteL(ETrue);
-            }
-        else 
-            {
-            returnValue = ETrue;
-            }
-        }
-     else 
-        {
-        // only allow memorycard or phone memory 
-        returnValue = EFalse;
-        }
-    return returnValue;
-    }
-
-TBool CRsfwNotPluginDlg::GetValidNameL(TDesC& aPath, TDes& aName)
-    {
-    HBufC* fullPath = HBufC::NewLC(KMaxFileName);
-    TPtr pathPtr= fullPath->Des();
-    pathPtr.Append(aPath);
-    pathPtr.Append(aName);
-    TBool renameFile = EFalse;
-    TBool userCancelled = EFalse;
-    TBool overwriteSelection = EFalse;
-  
- 
-    while (BaflUtils::FileExists(iFs, pathPtr) && !userCancelled && !overwriteSelection) 
-        {
-        TUint32 fileType( 0 );
-        fileType = FileTypeL( pathPtr ); 
-        // returns KEntryAttReadOnly if file is read only or open
-        CAknQueryDialog* note = CAknQueryDialog::NewL();
-        CleanupStack::PushL(note);
-        HBufC* queryprompt;
-        if (fileType & KEntryAttReadOnly) 
-            {
-            TBool retValue;
-            queryprompt = StringLoader::LoadLC( R_RD_ITEM_RENAME_QUERY, aName);
-            note->SetPromptL(*queryprompt);
-            CleanupStack::PopAndDestroy(queryprompt);
-            CleanupStack::Pop(note);
-            retValue = note->ExecuteLD(R_RSFW_PLUGIN_RENAME_QUERY);
-            if (retValue) 
-                {
-                renameFile = ETrue;
-                }
-            else 
-                {
-                userCancelled = ETrue;
-                }
-            }
-        else 
-            {
-            TBool retValue;
-            queryprompt = StringLoader::LoadLC( R_RD_ITEM_OVERWRITE_QUERY, aName);
-            note->SetPromptL(*queryprompt);
-            CleanupStack::PopAndDestroy(queryprompt);
-            CleanupStack::Pop(note);
-            retValue = note->ExecuteLD(R_RSFW_PLUGIN_OVERWRITE_QUERY);  
-            if (!retValue) 
-                {
-                renameFile = ETrue;
-                }
-            else 
-                {
-                overwriteSelection = ETrue;
-                }
-            }
-        
-        
-        if (renameFile) 
-            {
-            TBool retval;
-            CRsfwNotPluginNameDialog* dlg = 
-                CRsfwNotPluginNameDialog::NewL( 
-                pathPtr, aName, iFs);
-            dlg->SetMaxLength(KMaxFileName - aPath.Length());
-            dlg->PrepareLC( R_RSFW_NOT_PLUGIN_FILE_NAME_QUERY );
-            retval = dlg->RunLD();
-            if (!retval) 
-                {
-                userCancelled = ETrue;
-                }
-            else 
-                {
-                // reset the path after user renamed the file
-                CleanupStack::PopAndDestroy(fullPath);
-                fullPath = HBufC::NewLC(KMaxFileName);
-                pathPtr= fullPath->Des();
-                pathPtr.Append(aPath);
-                pathPtr.Append(aName);
-                }
-            }
-        
-        }
-    
-    CleanupStack::PopAndDestroy(fullPath);   
-        
-    if (!userCancelled) 
-        {
-        return ETrue;
-        }
-    else 
-        {
-        return EFalse;
-        }
-    
- 
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CRsfwNotPluginDlg::ShowDiskFullNoteL
-// Show an out of disk note.
-// ---------------------------------------------------------
-//
-void CRsfwNotPluginDlg::ShowDiskFullNoteL( TBool aInternal )
-    {
-
-    HBufC* message = NULL;
-
-    if ( aInternal )
-        {
-        message = StringLoader::LoadLC( R_RSFWPLUGIN_NOT_ENOUGH_MEMORY );
-        }
-    else
-        {
-        message = StringLoader::LoadLC( R_RSFWPLUGIN_MMC_NOT_ENOUGH_MEMORY );
-        }
-
-    TRequestStatus status = KErrNone;
-	CAknGlobalNote* note = CAknGlobalNote::NewL();
-    CleanupStack::PushL( note );
-    note->SetSoftkeys( R_AVKON_SOFTKEYS_OK_EMPTY );
-	note->ShowNoteL( status, EAknGlobalErrorNote, *message );
-    User::WaitForRequest( status );
-
-    CleanupStack::PopAndDestroy( 2, message ); // note, message
-    }
-
-
-// ---------------------------------------------------------------------------
-// The notifier has been deactivated so resources can be freed and outstanding messages completed.
-// ---------------------------------------------------------------------------
-//
-void CRsfwNotPluginDlg::Cancel()
-    {
-    DEBUGSTRING(("CRsfwNotPluginDlg::Cancel"));        
-    TRAP_IGNORE(CancelL()); 
-    DEBUGSTRING(("exiting CRsfwNotPluginDlg::Cancel"));
-    }
-
-// ---------------------------------------------------------------------------
-// Called by Cancel() in order to catch the possible leaves.
-// ---------------------------------------------------------------------------
-//
-void CRsfwNotPluginDlg::CancelL()
-    {
-    if ((iMethod  >=  TRsfwNotPluginRequest::EConnectingDlg) &&
-        iWaitDialog) 
-        {
-        DEBUGSTRING(("calling ProcessFinishedL()"));
-        iDialogDismissedCalled = EFalse;
-        iWaitDialog->ProcessFinishedL();
-        // iWaitDialog->ProcessFinishedL() should call 
-        // dialogdismissed, but for some reason this does not always
-        // happen (really looks and feels like a )
-        // this extra help should save the day
-        if (!iDialogDismissedCalled) 
-            {
-            DEBUGSTRING(("extra call to ProcessFinishedL()"));
-            DialogDismissedL(EAknSoftkeyDone);
-            }
-        }
-    Cleanup();
-    }
-
-// ---------------------------------------------------------------------------
-// Sets KEntryAttReadOnly if the file is read only, system or open
-// ---------------------------------------------------------------------------
-//
-TUint32 CRsfwNotPluginDlg::FileTypeL( const TDesC& aFullPath ) const
-    {
-    TUint32 fileType(0);
- // Full check for local and removable drives
-    TEntry entry;
-    TInt err( iFs.Entry( aFullPath, entry ) );
-
-    // Check if item was deleted outside this component
-    if ( err == KErrNotFound || err == KErrPathNotFound )
-        {
-        User::Leave( err );
-        }
-
-    TBool fileOpen( EFalse );
-    iFs.IsFileOpen( aFullPath, fileOpen );
-    if ( fileOpen || entry.IsReadOnly() || entry.IsSystem() )
-        {
-        fileType |= KEntryAttReadOnly;
-        }
-                
-    return fileType;            
-            
-    }
-    
-// ---------------------------------------------------------------------------
-// Update a currently active notifier with data aBuffer.
-// ---------------------------------------------------------------------------
-//
-TPtrC8 CRsfwNotPluginDlg::UpdateL(const TDesC8& /*aBuffer*/)
-    {
-    return TPtrC8(NULL, 0);
-    }
-
-
-void CRsfwNotPluginDlg::DialogDismissedL( TInt aButtonId )
-    {
-    DEBUGSTRING(("CRsfwNotPluginDlg::DialogDismissedL"));
-    iDialogDismissedCalled = ETrue;
-    
-    UnblockAppSwitching();
-    
-    if (aButtonId == EAknSoftkeyCancel) 
-        {
-        DEBUGSTRING(("Completing dialogrequest with KErrCancel"));
-        iMessage.Complete(KErrCancel);
-        }
-    else if (aButtonId == EAknSoftkeyDone) 
-        {
-        DEBUGSTRING(("Completing dialogrequest with KErrNone"));
-        iMessage.Complete(KErrNone);
-        }
-    else 
-        {
-        DEBUGSTRING16(("Completing dialogrequest with %d", aButtonId));
-        iMessage.Complete(aButtonId);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwNotPluginDlg::BlockAppSwitching
-// Temporarily disables 'app key', so that user cannot switch or close
-// the app when global dialog is being displayed
-// ---------------------------------------------------------------------------
-//
-void CRsfwNotPluginDlg::BlockAppSwitching( )
-    {
-    if ( !iAppSwitchingBlocked )
-        {
-        ((CEikServAppUi*)(CEikonEnv::Static())->EikAppUi())
-       	         ->SuppressAppSwitching(ETrue);
-       	iAppSwitchingBlocked = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CRsfwNotPluginDlg::UnblockAppSwitching
-// Enables 'app key' back
-// ---------------------------------------------------------------------------
-//
-void CRsfwNotPluginDlg::UnblockAppSwitching( )
-    {
-    if ( iAppSwitchingBlocked )
-        {
-        ((CEikServAppUi*)(CEikonEnv::Static())->EikAppUi())
-       	         ->SuppressAppSwitching(EFalse);
-       	iAppSwitchingBlocked = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ECOM interface
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-	{
-
-	IMPLEMENTATION_PROXY_ENTRY(0x101F9772,NotifierArray)
-
-	};
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-	{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy) ;
-	return ImplementationTable;
-	}
-
--- a/remotestoragefw/rsfwnotifierplugins/src/rsfwnotpluginnamedialog.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 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:  File name query dialog for "save as" dialog
-*
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-#include <rsfwnotplugindlg.rsg>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-#include <bautils.h>
-#include "rsfwnotpluginnamedialog.h"
-
-// Left to right and right to left markers
-_LIT( KDirectionalChars, "\x202A\x202B\x202C\x202D\x200E\x200F" );
-
-
-
-
-// -----------------------------------------------------------------------------
-// CRsfwNotPluginNameDialog::NewL
-// 
-// -----------------------------------------------------------------------------
-// 
-EXPORT_C CRsfwNotPluginNameDialog* CRsfwNotPluginNameDialog::NewL(
-        const TDesC& aOldName,
-        TDes& aNewName,
-        RFs& aFs)
-	{
-	CRsfwNotPluginNameDialog* self =
-	    new( ELeave ) CRsfwNotPluginNameDialog(
-	        aNewName, aFs);
-	
-	CleanupStack::PushL( self );
-	self->ConstructL( aOldName );
-	CleanupStack::Pop( self );
-
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-// CRsfwNotPluginNameDialog::CRsfwNotPluginNameDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CRsfwNotPluginNameDialog::CRsfwNotPluginNameDialog(
-        TDes& aNewName, RFs& aFs ) : 
-        CAknTextQueryDialog( aNewName ), iFs(aFs)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwNotPluginNameDialog::ConstructL
-// 
-// -----------------------------------------------------------------------------
-// 
-void CRsfwNotPluginNameDialog::ConstructL( const TDesC& aOldName )
-	{
-    TParsePtrC name( aOldName );
-	Text().Copy( name.NameAndExt() );
-    iOldName = aOldName.AllocL();
-
-    // Strip any directionality markers to get pure name
-    TPtr ptr( iOldName->Des() );
-    AknTextUtils::StripCharacters( ptr, KDirectionalChars );
-	}
-
-// -----------------------------------------------------------------------------
-// CRsfwNotPluginNameDialog::~CRsfwNotPluginNameDialog
-// Destructor
-// -----------------------------------------------------------------------------
-// 
-CRsfwNotPluginNameDialog::~CRsfwNotPluginNameDialog()
-    {
-    delete iOldName;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwNotPluginNameDialog::OkToExitL
-// 
-// -----------------------------------------------------------------------------
-// 
-TBool CRsfwNotPluginNameDialog::OkToExitL( TInt aButtonId )
-    {
-    TBool result( CAknTextQueryDialog::OkToExitL( aButtonId ) );
-
-    HBufC* userText = Text().AllocLC();
-    TPtr ptrUserText( userText->Des() );
-
-    // Strip any directionality markers to get pure name
-    AknTextUtils::StripCharacters( ptrUserText, KDirectionalChars );
-
-    // Check file name
-    TBool isValidName( EFalse );
-    TText badChar(NULL);
-    isValidName = iFs.IsValidName(*userText, badChar);
-   
-        
-	if( !isValidName )
-        {
-        TBuf<5> dotbuf;
-        dotbuf.Append(KDot);
-        TChar dot(dotbuf[0]);
-        if (badChar == dot)
-            {
-            // dot is a special case, as "." or ".." are illegal file names
-            // but for example "file.name" is not, and thus dot is not mentioned
-            // in R_RD_FLDR_ILLEGAL_CHARACTERS
-            ShowSimpleInfoNoteL(R_RD_FLDR_BAD_FILE_NAME );
-            }
-        else 
-            {
-            ShowSimpleInfoNoteL(R_RD_FLDR_ILLEGAL_CHARACTERS );
-            }
-       
-        CAknQueryControl* queryControl = QueryControl();
-        if (queryControl)
-            {
-            CEikEdwin* edwin = static_cast< CEikEdwin* >(
-                queryControl->ControlByLayoutOrNull( EDataLayout ) );
-            if (edwin)
-                {
-                edwin->SetSelectionL( edwin->TextLength(), 0 );
-                }
-            }
-        CleanupStack::PopAndDestroy( userText );
-        return EFalse;
-        }
-    CleanupStack::PopAndDestroy( userText );
-    return result;
-    
-    }
-    
-
-// ------------------------------------------------------------------------------
-// CRsfwNotPluginNameDialog::ShowSimpleInfoNoteL
-//
-// ------------------------------------------------------------------------------
-//
-void CRsfwNotPluginNameDialog::ShowSimpleInfoNoteL(
-        const TInt aTextId)
-    {
-    HBufC* text = NULL;
-    text = StringLoader::LoadLC( aTextId );
-    CAknInformationNote* dlg = new(ELeave) CAknInformationNote( ETrue );
-    dlg->ExecuteLD( *text );
-    CleanupStack::PopAndDestroy( text );
-    }
-
-
-
--- a/remotestoragefw/webdavaccessplugin/data/101f9769.rss	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  ECOM registration for DavAccess
-*
-*/
-
-
-// INCLUDES
-#include "registryinfo.rh"
-
-//  RESOURCE DEFINITIONS 
-// -----------------------------------------------------------------------------
-//   
-// REGISTRY_INFO theInfo
-// Declares info for the "remoteaccess/http" implementation
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x101F9769;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = 0x101F96E3;
-			implementations = 
-				{
-				// Info for CDavAccess
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x101F9769;
-					version_no = 1;
-					display_name = "http";
-					default_data = "remoteaccess/http||WebDAV";
-					opaque_data = "params";
-					}
-				};
-			}
-		};
-	}
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Build info for DavAccess
-*
-*/
-
-
-PRJ_MMPFILES
-rsfwdavaccess.mmp
-
-//  End of File  
--- a/remotestoragefw/webdavaccessplugin/group/rsfwdavaccess.mmp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  Project definition file for project WebDAV Access plug-in
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET          rsfwdavaccess.dll
-TARGETTYPE      PLUGIN
-
-
-UID             0x10009D8D 0x101F9769
-CAPABILITY      ALL -TCB
-
-// Classes in webdavsession.cpp call many times
-// classes in propfindparser.cpp and lockqueryparser.cpp,
-// so in ideal case these should be linked next to each other
-// in the binary - don't know if the order here helps anything though....
-SOURCEPATH      ../src
-SOURCE          rsfwdavproxy.cpp
-SOURCE          rsfwdavaccess.cpp
-SOURCE          rsfwdavaccesscontext.cpp
-SOURCE          rsfwdavfileinfo.cpp
-SOURCE          rsfwdavtransaction.cpp
-SOURCE          rsfwdavsession.cpp
-SOURCE          rsfwpropfindparser.cpp
-SOURCE          rsfwlockqueryparser.cpp
-SOURCEPATH      ../../MDebug/src
-SOURCE          mdebug.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc
-SYSTEMINCLUDE   /epoc32/include/libc
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   /epoc32/include/networking // dns error codes
-USERINCLUDE     ../inc
-
-SOURCEPATH      ../data
-START RESOURCE  101f9769.rss 
-HEADER
-TARGET          rsfwdavaccess.rsc
-TARGETPATH      resource/plugins 
-END
-
-// RESOURCE  davaccess.rss
-
-LIBRARY         bafl.lib
-LIBRARY         ecom.lib
-LIBRARY         efsrv.lib
-LIBRARY         euser.lib
-LIBRARY         http.lib
-LIBRARY         inetprotutil.lib
-LIBRARY         rsfwcommon.lib
-LIBRARY         xmlframework.lib
-LIBRARY         flogger.lib
--- a/remotestoragefw/webdavaccessplugin/inc/mydebug.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Debug definitions for DavAccess
-*
-*/
-
-
-#ifndef MYDEBUG_H
-#define MYDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "davaccess");
-_LIT(KDebugFileName, "davaccess.txt");
-
-#endif // MYDEBUG_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavaccess.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  WebDAV plugin interface for RSFW
- *
-*/
-
-
-#ifndef CRSFWDAVACCESS_H
-#define CRSFWDAVACCESS_H
-
-// INCLUDES
-//#include <HttpErr.h>
-
-#include "rsfwremoteaccess.h"
-#include "rsfwdavsession.h"
-//#include "rsfwdavfileinfo.h"
-#include "rsfwconnectionmanager.h"
-
-// CONSTANTS
-const TInt KCommRetries      = 3;
-
-// DATA TYPES
-enum TRemoteAccessOp
-    {
-    ERemoteAccessOpNone = 0,
-    ERemoteAccessOpOpen,
-    ERemoteAccessOpGetDirectory,
-    ERemoteAccessOpGetDirectoryAttributes,
-    ERemoteAccessOpGetFileAttributes,
-    ERemoteAccessOpSetAttributes,
-    ERemoteAccessOpGetFile,
-    ERemoteAccessOpMakeDirectory,
-    ERemoteAccessOpCreateFile,
-    ERemoteAccessOpPutFile,
-    ERemoteAccessOpDeleteDirectory,
-    ERemoteAccessOpDeleteFile,
-    ERemoteAccessOpRename,
-    ERemoteAccessOpObtainLock,
-    ERemoteAccessOpReleaseLock,
-    ERemoteAccessOpRefreshLock
-    };
-
-// FORWARD DECLARATIONS
-class CRsfwDavAccessContext;
-//class CRsfwDirEnt;
-//class CRsfwDirEntAttr;
-
-// CLASS DECLARATION
-
-/**
- *  WebDAV protocol plugin for Rsfw
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-
-class CRsfwDavAccess: public CRsfwRemoteAccess,
-                  public MRsfwDavResponseObserver,
-                  public MRsfwConnectionObserver
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwDavAccess* NewL();
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavAccess();
-
-public: // New functions
-   
-    /**
-       Return information about the given object
-       @param aPath path of the object
-       @return file information
-    */
-    CRsfwDavFileInfo* DavFileInfoL(const TDesC& aPath);
-
-    /**
-       Add information about the given object
-       @param aDavFileInfo information about the object
-    */
-    void AddDavFileInfo(CRsfwDavFileInfo* aDavFileInfo);
-
-    /**
-       Remove all information about the given object
-       @param aPath path of the object
-       @return file information
-    */
-    void RemoveDavFileInfoL(const TDesC& aPath);
-
-    /**
-       Return the WebDAV session object
-       @return WebDAV session
-    */
-    inline CRsfwDavSession* WebDavSession() { return iWebDavSession; };
-
-    /**
-       Return next access context id
-       @return id
-    */
-    inline TUint GetNextAccessContextId() { return ++iCurrentDavContextId; };
-
-public: // Functions from base classes
-    // From CRsfwRemoteAccess
-    void SetupL(MRsfwRemoteAccessObserver* aRsfwRemoteAccessObserver);
-
-	/*  In this plug-in aAuxData is the access point
-		 special values for IAP selection
-		DefaultPreferences = *
-		AskUser = ?
-	*/
-    TUint OpenL(const TUriC& aUri,
-                const TDesC& aFriendlyName,
-                const TDesC& aUserName,
-                const TDesC& aPassword,
-                const TDesC& aAuxData,
-                MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint GetDirectoryL(const TDesC& aPathName,
-                        RPointerArray<CRsfwDirEnt>& aDirEnts,
-                        MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint GetDirectoryAttributesL(
-        const TDesC& aPathName,
-        CRsfwDirEntAttr*& aAttr,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint GetFileAttributesL(const TDesC& aPathName,
-                             CRsfwDirEntAttr*& aAttr,
-                             MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint SetAttributesL(const TDesC& aPathName,
-                         CRsfwDirEntAttr& aAttr,
-                         MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint GetFileL(const TDesC& aRemotePathName,
-                   const TDesC& aLocalPathName,
-                   TInt aOffset,
-                   TInt* aLength,
-                   TUint aFlags,
-                   MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint PutFileL(const TDesC& aLocalPathName,
-                   const TDesC& aRemotePathName,
-                   const TDesC8& aMimeType,
-                   TInt aOffset,
-                   TInt aLength,
-                   TInt aTotalLength,
-                   MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint PutFileL(const TDesC& aLocalPathName,
-                   const TDesC& aRemotePathName,
-                   const TDesC8& aMimeType,
-                   MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint CreateFileL(const TDesC& aPathName,
-                      TBool aIsOverwriting,
-                      MRsfwRemoteAccessResponseHandler* aResponseHandler);
-
-    TUint MakeDirectoryL(const TDesC& aPathName,
-                         MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint DeleteDirectoryL(const TDesC& aPathName,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler);
-
-    TUint DeleteFileL(const TDesC& aPathName,
-                      MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint RenameL(const TDesC& aSrcPathName,
-                  const TDesC& aDstPathName,
-                  TBool aOverwrite,
-                  MRsfwRemoteAccessResponseHandler* aResponseHandler);
-
-    TUint ObtainLockL(const TDesC& aPathName,
-                      TUint aLockFlags,
-                      TUint& aTimeout,
-                      TDesC8*& aLockToken,
-                      MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint ReleaseLockL(const TDesC& aPathName,
-                       MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    
-    TUint RefreshLockL(const TDesC& aPathName,
-                       TUint& aTimeout,
-                       MRsfwRemoteAccessResponseHandler* aResponseHandler);
-
-    void Cancel(TUint aId);
-    
-    void Cancel(TDesC& aTargetPath);
-
-    TInt SetLockToken(const TDesC& aPathName, const TDesC8& aLockToken);
-
-    // From MRsfwDavResponseObserver
-    void RequestCompleteL(TUint aWebDavTransactionId);
-    void RequestError(TUint aWebDavTransactionId, TInt aStatus);
-
-    // From MRsfwConnectionObserver
-    void HandleConnectionEventL(TInt aConnectionEvent, TAny* aArg);
-    
-private: 
-    void ConstructL();
-    TUint AddAccessContext(CRsfwDavAccessContext* aDavAccessContext);
-    TInt LookupAccessContextByTransactionId(TUint aWebDavTransactionId);
-    TInt LookupAccessContextByContextId(TUint aId);
-    TInt LookupAccessContextByPath(TDesC& aTargetPath);
-    TInt DavFileInfoIndexL(const TDesC& aPath);
-    TUint OptionsL(MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    void SetLockTokenL(const TDesC& aPathName, const TDesC8& aLockToken);
-
-private: // Data
-    TBuf<KMaxPath>                          iRootDirectory;
-    CRsfwDavSession*                         iWebDavSession;
-    RPointerArray<CRsfwDavFileInfo>             iDavFileInfos; 
-    RPointerArray<CRsfwDavAccessContext>    iDavAccessContexts;
-    TUint                                   iCurrentDavContextId;
-    MRsfwRemoteAccessObserver*              iRsfwRemoteAccessObserver;
-    };
-
-#endif // CRSFWDAVACCESS_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavaccesscontext.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Contexts for keeping transaction state
- *
-*/
-
-
-#ifndef CRSFWDAVACCESSCONTEXT_H
-#define CRSFWDAVACCESSCONTEXT_H
-
-// INCLUDES
-#include <e32base.h>
-//#include <HttpErr.h>
-
-#include "rsfwremoteaccess.h"
-//#include "rsfwdavsession.h"
-#include "rsfwdavtransaction.h"
-//#include "rsfwdavfileinfo.h"
-
-// FORWARD DECLARATIONS
-class CRsfwDavAccess;
-//class CRsfwDirEntAttr;
-
-// CONSTANTS
-const TInt KMaxMimeTypeLength = 64;
-
-// CLASS DECLARATIONS
-
-/**
- *  WebDAV access contexts (state machines)
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-
-class CRsfwDavAccessContext : public CBase
-    {
-public: // Constructors and destructor
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavAccessContext();
-    
-public: // New functions
-     /**
-     * This is used for GET and PUT operations, to allow cancelling
-     * the operations by target path name (local dialog from File Manager will
-     * call CancelByPath)
-     * @return TDesC, the target path for the operation
-     */
-    virtual const TDesC& TargetPath();
-
-    /**
-     * Start transaction
-     */
-    virtual void StartL() = 0;
-
-    /**
-     * Receive a notification of a complete transaction
-     */
-    virtual void TransactionCompleteL() = 0;
-    
-    /**
-     * Receive a notification of a failed transaction
-     * @param aError error code
-     */
-    virtual void TransactionError(TInt aError) = 0;
-   
-
-    /**
-     * Return the underlying WebDAV transaction
-     * @return WebDAV transaction
-     */
-    inline CRsfwDavTransaction* WebDavTransaction()
-        { return iWebDavTransaction; };
-
-    /**
-     * Set context id
-     * @param aId id
-     */
-    inline void SetId(TUint aId) { iId = aId; };
-
-    /**
-     * Get id of the current WebDAV transaction
-     * @return id
-     */
-    inline TUint WebDavTransactionId() { return iWebDavTransactionId; };
-
-    /**
-     * Get context id
-     * @return id
-     */
-    inline TUint Id() { return iId; };
-
-    /**
-     * Get context status
-     * @return status
-     */
-    inline TUint Status() { return iStatus; };
-
-    /**
-     * Get response handler
-     * @return response handler
-     */
-    inline MRsfwRemoteAccessResponseHandler* ResponseHandler()
-        { return iResponseHandler; };
-
-    /**
-     * Tell wether the context is in finished state
-     * @return ETrue, if the context has finished
-     */
-    inline TBool Done() { return iDone; };
-   
-  
-protected: // New functions
-    /**
-     * Submit transaction
-     * @return none
-     */
-    void SubmitL();
-    
-    /**
-     * Retry transaction
-     * @return none
-     */
-    void Retry();
-    
-    /**
-     * Map HTTP error code to SymbianOS error code
-     * @param aError, input and output error code
-     */
-    void MapError(TInt& aError);
-    
-
-protected: // Data
-    TUint                         iId;
-    CRsfwDavAccess*                   iDavAccess;
-    TUint                         iStatus;
-    MRsfwRemoteAccessResponseHandler* iResponseHandler;
-    CRsfwDavTransaction*           iWebDavTransaction;
-    TUint                         iWebDavTransactionId;
-    TBool                         iDone;
-    TInt                          iTryCount;
-    // allows to cancel the operation by path
-    TBufC<KMaxPath>               iRemotePathName; 
-
-    };
-
-// ---------------------------------------------------------------------
-// Options
-// ---------------------------------------------------------------------
-
-class CRsfwDavAccessContextOptions: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwDavAccessContextOptions* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler);
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler);
-    };
-
-// -----------------------------------------------------------------
-// PropFindDir
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextPropFindDir: public CRsfwDavAccessContext
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextPropFindDir* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName,
-        TInt aDepth,
-        CRsfwDirEntAttr** aDirEntAttr,
-        RPointerArray<CRsfwDirEnt>* aDirEnts);
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavAccessContextPropFindDir();
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName,
-                    TInt aDepth,
-                    CRsfwDirEntAttr** aDirEntAttr,
-                    RPointerArray<CRsfwDirEnt>* aDirEnts);
-private: // Data
-    TInt                    iDepth;
-    CRsfwDirEntAttr**           iDirEntAttr;
-    RPointerArray<CRsfwDirEnt>* iDirEnts;
-    RPointerArray<CRsfwDirEnt>  iOwnDirEnts;
-    };
-
-// -----------------------------------------------------------------
-// PropFindFile
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextPropFindFile: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextPropFindFile* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName,
-        CRsfwDirEntAttr** aDirEntAttr);
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavAccessContextPropFindFile();
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName,
-                    CRsfwDirEntAttr** aDirEntAttr);
-
-private: // Data
-    CRsfwDirEntAttr**           iDirEntAttr;
-    RPointerArray<CRsfwDirEnt>  iOwnDirEnts;
-    };
-
-// -----------------------------------------------------------------
-// Get
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextGet: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextGet* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aRemotePathName,
-        const TDesC& aLocalPathName,
-        TInt aOffset,
-        TInt* aLength,
-        TUint aFlags);
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aRemotePathName,
-                    const TDesC& aLocalPathName,
-                    TInt aOffset,
-                    TInt* aLength,
-                    TUint aFlags);
-
-private: // Data
-    TBufC<KMaxPath>  iLocalPathName;
-    TInt             iOffset;
-    TInt*            iLength;
-    TUint            iFlags;
-    };
-
-// -----------------------------------------------------------------
-// Put
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextPut: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextPut* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aLocalPathName,
-        const TDesC& aRemotePathName,
-        const TDesC8& aMimeType,
-        TInt aOffset,
-        TInt aLength,
-        TInt aTotalLength,
-        const TDesC8* aLockToken);
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aLocalPathName,
-                    const TDesC& aRemotePathName,
-                    const TDesC8& aMimeType,
-                    TInt aOffset,
-                    TInt aLength,
-                    TInt aTotalLength,
-                    const TDesC8* aLockToken);
-
-private: // Data
-    TBufC<KMaxPath>            iLocalPathName;
-    TBufC8<KMaxMimeTypeLength> iMimeType;
-    TInt                       iOffset;
-    TInt                       iLength;
-    TInt                       iTotalLength;
-    const TDesC8*              iLockToken;
-    
-    // The recipient of the entity MUST NOT ignore any Content-*
-    // (e.g. Content-Range) headers that it does not understand or implement
-    // and MUST return a 501 (Not Implemented) response in such cases.
-    TBool            iContentRangeSupported;
-    };
-
-// -----------------------------------------------------------------
-// MkDir
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextMkDir: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextMkDir* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName);
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName);
-    };
-
-// -----------------------------------------------------------------
-// Delete
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextDelete: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextDelete* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName,
-        TBool aIsDir,
-        const TDesC8* aLockToken);
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName,
-                    TBool aIsdir,
-                    const TDesC8* aLockToken);
-
-private: // Data
-    TBool            iIsDir;
-    const TDesC8*    iLockToken;
-    };
-
-// -----------------------------------------------------------------
-// Move
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextMove: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextMove* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aSrcPathName,
-        const TDesC& aDstPathName,
-        TBool aOverwrite,
-        const TDesC8* aSrcLockToken,
-        const TDesC8* aDstLockToken);
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aSrcPathName,
-                    const TDesC& aDstPathName,
-                    TBool aOverwrite,
-                    const TDesC8* aSrcLockToken,
-                    const TDesC8* aDstLockToken);
-
-private: // Data
-    TBufC<KMaxPath>  iSrcPathName;
-    const TDesC8*    iSrcLockToken;
-    const TDesC8*    iDstLockToken;
-    TBool            iOverwrite;
-    };
-
-// -----------------------------------------------------------------
-// Lock
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextLock: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextLock* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName,
-        TUint aLockFlags,
-        TUint& aTimeout,
-        TDesC8** aLockToken);
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavAccessContextLock();
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName,
-                    TUint aLockFlags,
-                    TUint& aTimeout,
-                    TDesC8** aLockToken);
-
-private: // Data
-    TUint            iLockFlags;
-    TUint*           iTimeout;
-    TDesC8**         iLockToken;
-    CRsfwDavFileInfo*    iDavFileInfo;
-    };
-
-// -----------------------------------------------------------------
-// RefreshLock
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextRefreshLock: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextRefreshLock* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName,
-        const TDesC8* aLockToken,
-        TUint& aTimeout);
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavAccessContextRefreshLock();
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName,
-                    const TDesC8* aLockToken,
-                    TUint& aTimeout);
-
-private: // Data
-    TBufC<KMaxPath>  iPathName;
-    const TDesC8*    iLockToken;
-    TUint*           iTimeout;
-    CRsfwDavFileInfo*    iDavFileInfo;
-    };
-
-// -----------------------------------------------------------------
-// Unlock
-// -----------------------------------------------------------------
-
-class CRsfwDavAccessContextUnlock: public CRsfwDavAccessContext
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     */
-    static CRsfwDavAccessContextUnlock* NewL(
-        CRsfwDavAccess* aDavAccess,
-        MRsfwRemoteAccessResponseHandler* aResponseHandler,
-        const TDesC& aPathName,
-        const TDesC8* aLockToken);
-
-public: // Functions from base classes
-    // From CRsfwDavAccessContext
-    void StartL();
-    void TransactionCompleteL();
-    void TransactionError(TInt aError);
-
-private:
-    void ConstructL(CRsfwDavAccess* aDavAccess,
-                    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                    const TDesC& aPathName,
-                    const TDesC8* aLockToken);
-    
-private: // Data
-    const TDesC8*    iLockToken;
-    };
-
-#endif // CRSFWDAVACCESSCONTEXT_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavdefs.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  WebDAV specific constant definitions
-*
-*/
-
-
-#ifndef RSFWDAVDEFS_H
-#define RSFWDAVDEFS_H
-
-// CONSTANTS
-// max name for the server 
-const TInt KMaxServerNameLen           = 210;
-
-// max length for each connection parameter 
-// (username, password etc.)
-const TInt KMaxConnParameter           = 64;
-
-// Size of buffer used when submitting request bodies (PUT, PROPFIND...)
-const TInt KDefaultSubmitSize          = 14000; 
-
-// Size of buffer used when reading a reply to file (like GET)
-const TInt KDefaultFileBufferSize      = 81800;
-
-// maximum length for range, content-range
-// or timeout header values
-const TInt KMaxFieldValueLength         = 64;
-
-// length for the DAV version, which should be simply DAV: 1 or DAV: 1,2
-const TInt KMaxDavVersionValue          = 15;
-
-const TInt KDavResourceTypeCollection = 1;
-const TInt KDavResourceTypeOther      = 0;
-const TInt KDavVersionTwo              = 2;
-
-// expat XML-parser wants the data in the chunks of 2k
-// actually crashes otherwise...
-const TInt KSymbianXmlParserMaxData    = 2048;
-
-// overhead of UTF-8 encoding
-const TInt KEncodingOverhead = 2;
-
-// length of "http://"
-const TInt KProtocolPrefix   = 7;
-
-// when building "<target-url> (<target-token>)"
-const TInt KTaggedLockTokenOverhead = 7;
-
-// when building "<target-token>"
-const TInt KLockTokenOverhead = 2;
-
-_LIT8(KUserAgent,"S60 Remote Storage WebDav client");
-_LIT8(KAccept, "*/*");
-_LIT8(KTextXml, "text/xml");
-_LIT8(KTextPlain, "text/plain");
-_LIT8(KSecondDash, "Second-");
-
-_LIT8(KParenthAngleFormat, "(<%S>)");
-_LIT8(KTaggedParenthAngleFormat, "<%S> (<%S>)");
-_LIT(KDateFormat,"%D%M%Y%/0%1%/1%2%/2%3%/3 %:0%H%:1%T%:2%S.%C%:3");
-
-_LIT(KWebDavClientPanic, "WEBDAV-EC");
-
-_LIT8(KWebDavPropFind,  "PROPFIND");
-_LIT8(KWebDavMkCol,     "MKCOL");
-_LIT8(KWebDavDelete,    "DELETE");
-_LIT8(KWebDavCopy,      "COPY");
-_LIT8(KWebDavPut,       "PUT");
-_LIT8(KWebDavOptions,   "OPTIONS");
-_LIT8(KWebDavMove,      "MOVE");
-_LIT8(KWebDavLock,      "LOCK");
-_LIT8(KWebDavUnlock,    "UNLOCK");
-
-_LIT8(KWebDavDepth,     "Depth");
-_LIT8(KWebDavIf,        "If");
-_LIT8(KWebDavDest,      "Destination");
-_LIT8(KWedDavLockToken, "Lock-Token");
-_LIT8(KWebDavTimeout,   "Timeout");
-_LIT8(KWebDavOverwrite, "Overwrite");
-_LIT8(KWebDavOverwriteY,"T");
-_LIT8(KWebDavOverwriteN,"F");
-_LIT8(KWebDavNoProxy, "no-cache");
-_LIT8(KKeepAlive, "keep-alive");
-
-
-class RsfwDavStatus
-/** 
-Status code extensions to HTTP/1.1
-Defined in RFC 2518 (WebDAV)
-*/
-    {
-public:
-    enum TRsfwDavStatus
-        {
-        /** 'Informational' range of codes 1xx */
-        EProcessing                     = 102,
-        /** 'Successful' range of codes 2xx */
-        EMultiStatus                    = 207,
-        /** 'Client Error' range of codes 4xx */
-        EUnprocessableEntity            = 422,
-        ELocked                         = 423,
-        EFailedDependency               = 424, 
-        /** 'Server Error' range of codes 5xx */
-        EInsufficientStorage            = 507
-        };
-    };
-
-
-// DATA TYPES
-enum TWebDavClientPanics
-    {
-    EReqBodySumitBufferNotAllocated,
-    KBodyWithInvalidSize,
-    KCouldntNotifyBodyDataPart,
-    KOutOfMemory
-    };
-
-enum TWebDavOp
-    {
-    EWebDavOpNone,
-    EWebDavOpOptions,      
-    EWebDavOpGet,
-    EWebDavOpPut,
-    EWebDavOpDelete,
-    EWebDavOpPropFindSingle,
-    EWebDavOpPropFindMulti,
-    EWebDavOpMkCol,
-    EWebDavOpMove,
-    EWebDavOpLock,
-    EWebDavOpUnlock,
-    EWebDavOpRefreshLock
-    };
-
-
-#endif // RSFWDAVDEFS_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavfileinfo.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Cache for file metadata
- *
-*/
-
-
-#ifndef CRSFWDAVFILEINFO_H
-#define CRSFWDAVFILEINFO_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-class TRsfwDavFileInfoFlags
-    {
-public:
-    enum TDavFileInfoFlag
-        {
-        EUnlockPending   = 0x01
-        };
-    };
-
-// CLASS DECLARATION
-
-/**
- *  WebDAV file information object
- *  Used by DAV access module to handle file locking
- *  This information is thus internal to WebDAV access module
- *  and separated from metadata that is passed to Remote File Engine
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-
-class CRsfwDavFileInfo : public CBase
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwDavFileInfo* NewL();
-   
-    /**
-     * Destructor.
-     */
-    ~CRsfwDavFileInfo();
-
-public: // New functions
-
-    /**
-     * Get name
-     * @return name
-     */
-    HBufC* Name();
-
-    /**
-     * Set name
-     * @param aName name
-     */
-    void SetNameL(const TDesC& aName);
-    
-    /**
-     * Get lock token
-     * @return lock token
-     */
-    HBufC8* LockToken();
-
-    /**
-     * Set lock token
-     * @param aLockToken lock token
-     */
-    void SetLockTokenL(const TDesC8& aLockToken);
-
-    /**
-     * Clear lock token
-     */
-    void ResetLockToken();
-
-     /**
-     * Get lock timeout
-     * @return lock timeout
-     */
-    TUint Timeout();
-
-    /**
-     * Set timeout
-     * @param aTimeout timeout
-     */
-    void SetTimeout(TUint aTimeout);
-
-    /**
-     * Check if a flag is set
-     * @param aFlag flag mask (only supports a single bit)
-     * @return ETrue if the flag is set
-     */
-    TBool IsFlag(TUint aFlag);
-
-    /**
-     * Set a flag bit
-     * @param aFlag flag bit to be set
-     */
-    void SetFlag(TUint aFlag);
-
-    /**
-     * Clear a flag bit
-     * @param flag bit to be cleared
-     */
-    void ResetFlag(TUint aFlag);
-
-private:
-    void SetL(HBufC*& aDst, const TDesC& aSrc);
-    void SetL(HBufC8*& aDst, const TDesC8& aSrc);
-    
-private: // Data
-    // These are used when constructing messages, thus 8 bit
-    HBufC*  iName;
-    HBufC8* iLockToken;
-    
-    // Active lock info:
-    // lock timeout
-    TUint iTimeout;
-    // lock flags (currently always write lock)
-    TUint iFlags;
-    };
-
-#endif // CRSFWDAVFILEINFO_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavsession.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  WebDAV session
- *
-*/
-
-
-#ifndef CRSFWDAVSESSION_H
-#define CRSFWDAVSESSION_H
-
-// INCLUDES
-#include <http/mhttpauthenticationcallback.h>
-#include <xml/parser.h>
-#include "rsfwdavdefs.h"
-
-
-// FORWARD DECLARATIONS
-class CRsfwDavTransaction;
-class CRsfwDavFileInfo;
-class CRsfwPropFindParser;
-class CRsfwConnectionManager;
-class MRsfwDavResponseObserver;
-class MRsfwConnectionObserver;
-class CRsfwLockQueryParser;
-class CRsfwDirEnt;
-
-// CLASS DECLARATION
-/**
- *  Response handler for WebDAV requests
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-class MRsfwDavResponseObserver
-    {
-public:
-    /**
-     * Receive a notification of a completed request.
-     * @param aWebDavTransactionId id of the request.
-     */    
-    virtual void RequestCompleteL(TUint aWebDavTransactionId) = 0;
-
-    /**
-     * Receive a notification of a failed request.
-     * @param aWebDavTransactionId id of the request.
-     */    
-    virtual void RequestError(TUint aWebDavTransactionId, TInt aStatus) = 0;
-    };
-
-
-// CLASS DECLARATION
-/**
- *  WebDAV session
- *
- *  Class created for the interface to  webdav client library
- *  Designed to encapsulate http,xml stuff
- *  Intended for communicating with one server at a time !
- * 
- *  Uses http transport framework: can do SSL, Basic + Digest Auth
- *  Uses symbian xmllib library for parsing
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-class CRsfwDavSession: public CBase,
-                      public MHTTPAuthenticationCallback
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwDavSession*
-    CRsfwDavSession::NewL(MRsfwDavResponseObserver* aWebDavResponseObserver,
-                         MRsfwConnectionObserver* aRsfwConnectionObserver);
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavSession();
-
-public: // New functions
-    /**
-       @function OpenL
-       @discussion Opens the HTTP session and
-         sets up parameters for the session
-       @param aHost The full URI of the server
-       including the path to the root directory
-       @param aPort The port to connect to there
-       @param aUserName  UserName to be used in Http basic or digest auth there
-       @param aPassword  Password to be used in Http basic or digest auth there
-       @param aAuxData Auxiliary information used for IAP selection
-    */
-    void OpenL(const TDesC& aHost,
-               TInt aPort,
-               const TDesC& aUserName,
-               const TDesC& aPassword,
-               const TDesC& aAuxData);
-    
-    /**
-       @function OptionsL
-       @discussion Runs an OPTIONS command to the passed uri to see if its
-       available and force the authentication to run
-       @return nothing
-    */
-    CRsfwDavTransaction* OptionsL();
-    
-    /**
-       @function PropFindL
-       @discussion Runs a PROPFIND command against the current server.
-       Tells the server to only look for name, size related properties
-       @param aPath The path relative to the root which should be used
-       @param aIsDir Indicates whether the path points to a directory or a file
-       @param aDirEnts Directory entry array to be filled
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* PropFindL(const TDesC& aPath,
-                                  TInt aDepth,
-                                  TBool aIsDir,
-                                  RPointerArray<CRsfwDirEnt>& aDirEnts);
-
-    /**
-       @function GetL
-       @discussion Runs GET command against the server
-       @param aSrcPath The name of the resource to be fetched:
-         expects this to be the path relative to the root directory
-       @param aDstPath The path of the local file where the data is fetched
-       @param aOffset offset from the start of the file
-       @param aLength data length (can be NULL)
-       @param aFlags operation options (see RemoteAccess.h)
-       @return pointer to the submitted WebDAV transaction
-    */
-    // == GET
-    CRsfwDavTransaction* GetL(const TDesC& aSrcPath,
-                             const TDesC& aDstPath,
-                             TInt aOffset,
-                             TInt* aLength,
-                             TUint aFlags);
-
-    /**
-       @function PutL
-       @discussion Runs PUT command against the server
-       @param aSrcPath The name of the resource to be copied:
-       expects this to be an absolute path
-       @param aDstPath The name of the resource to be created on the server:
-       expected to be the path relative to the root directory
-       @param aMimeType The MIME-type of the file 
-       @param aOffset offset from the start of the file
-       @param aLength data length (can be NULL)
-       @param aTotalLength The total length, can be 0 if aLength is NULL or 0
-       @param aUseContentRange Whether the server is assumed to support 
-       Content-Range- header
-       @param aLocktoken Possible lock token
-       @return pointer to the submitted WebDAV transaction
-    */
-    // == PUT
-    CRsfwDavTransaction* PutL(const TDesC& aSrcPath,
-                             const TDesC& aDstPath,
-                             const TDesC8& aMimeType,
-                             TInt aOffset,
-                             TInt aLength,
-                             TInt aTotalLength,
-                             TBool aUseContentRange,
-                             const TDesC8* aLockToken = NULL);
-
-    /**
-       @function DeleteL
-       @discussion Runs DELETE command against the server
-       @param aResource The name of the resource to be deleted:
-         expects this to be the path relative to the root directory
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* DeleteL(const TDesC& aPath, 
-                                TBool aDir,
-                                const TDesC8* aLockToken = NULL);
-
-    /**
-       @function MkDirL
-       @discussion Runs MKCOL webdav command against the server
-       @param aPath The name of the directory to be made:
-       expects this to be the path relative to the root directory
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* MkDirL(const TDesC& aPath);   
-
-    /**
-       @function MoveL
-       @discussion Runs MOVE command against the server
-       @param aOldPath The name of the resource to be renamed:
-       expects this to be the path relative to the root directory
-       @param aNewPath The new name of the resource
-       to be created on the server:
-       expected to be the path relative to the root directory
-       @param aOverwrite Specifies
-       whether the server should overwrite a non-null destination resource 
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* MoveL(const TDesC& aOldPath,
-                              const TDesC& aNewPath,
-                              TBool aOverwrite,
-                              const TDesC8* aSrcLockToken,
-                              const TDesC8* aDstLockToken);
-
-    /**
-       @function LockL
-       @discussion Runs LOCK command against the server
-       @param aPath the resource to be locked:
-       expects this to be the path relative to the root directory
-       @param aFlags flags
-       @param aTimeout lock timeout in seconds
-       @param aDavFileInfo the location where collected file info should be set
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* LockL(const TDesC& aPath,
-                              TUint aFlags,
-                              TUint aTimeOut,
-                              CRsfwDavFileInfo** aDavFileInfo);
-
-    /**
-       @function UnlockL
-       @discussion Runs UNLOCK command against the server
-       @param aPath the resource to be locked:
-       expects this to be the path relative to the root directory
-       @param aLockToken lock token
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* UnlockL(const TDesC& aPath,
-                                const TDesC8* aLockToken);
-
-    /**
-       @function RefreshLockL
-       @discussion Refreshes a locked resource by using LOCK method
-       @param aPath the resource to be locked:
-       expects this to be the path relative to the root directory
-       @param aTimeout lock timeout in seconds
-       @param aLockToken lock token
-       @param aDavFileInfo the location where collected file info should be set
-       @return pointer to the submitted WebDAV transaction
-    */
-    CRsfwDavTransaction* RefreshLockL(const TDesC& aPath,
-                                     TUint aTimeOut,
-                                     const TDesC8* aLockToken,
-                                     CRsfwDavFileInfo** aDavFileInfo);
-
-    /**
-       @function Error
-       @return Most recently recieved error code
-    */        
-    TInt Error();
-
-    /**
-       @function ErrorMsg
-       @return Most recently received error message from server
-    */            
-    const TDesC& ErrorMsg();
-
-    RHTTPSession& HttpSession();
-    void SetConnected(TBool aConnected);
-    void SetWebDavSupportClass(TInt aWebDavSupportClass);
-    TInt WebDavSupportClass();
-    
-    inline RFs& FileServerSession() {return iFs;};
-    inline const TDesC& RootDirectory() {return iDavRoot;};
-    void WebDavTransactionCompleteL(CRsfwDavTransaction* aWebDavTransaction);
-    void WebDavTransactionError(CRsfwDavTransaction* aWebDavTransaction);
-    void SetPropFindParametersL(RPointerArray<CRsfwDirEnt>* aDirEntArray,
-                               const TDesC& aPropFindPath,
-                               TInt aDepth);  
-    void SetLockQueryParameters(CRsfwDavFileInfo* aDavFileInfo);
-    void ParsePropFindResponseL(const TDesC8& aResponse);
-    void ParseLockResponseL(const TDesC8& aResponse);
-    void PropFindResponseEndL();
-    void LockResponseEndL();  
-    void CancelParsing(TWebDavOp aOp);                               
-
-public: // Functions from base classes
-    // From MHTTPAuthenticationCallback
-    TBool GetCredentialsL(const TUriC8& aURI,
-                          RString aRealm, 
-                          RStringF aAuthenticationType,
-                          RString& aUserName, 
-                          RString& aPassword);
-
-private:
-    void ConstructL(MRsfwDavResponseObserver* aWebDavResponseObserver,
-                    MRsfwConnectionObserver* aRsfwConnectionObserver);
-    RStringPool StringPool();
-    void Slashify(TDes& aStr);
-    HBufC* BuildPathLC(const TDesC& aRoot,
-                       const TDesC& aPath,
-                       TBool aEndSlash);
-    HBufC* BuildFullPathLC(const TDesC& aPath, TBool aEndSlash);
-    HBufC8* BuildUriLC(const TDesC& aPath,
-                       TBool aEndSlash,
-                       TUriParser8* aUriParser);
-    void SetHeaderL(RHTTPHeaders aHeaders,
-                    TInt aHdrField,
-                    const TDesC8& aHdrValue);
-    void SetHeaderL(RHTTPHeaders aHeaders,
-                    const TDesC8& aHdrName,
-                    const TDesC8& aHdrValue);
-    void SetBasicHeadersL(RHTTPHeaders aHeaders, 
-                          const TUriC8& aUri,
-                          TBool aNoProxy);
-    void SetDepthHeaderL(RHTTPHeaders aHeaders, TInt aDepth);
-    void SetLockTokenHeaderL(RHTTPHeaders aHeaders, 
-                             const TDesC8* aUri, 
-                             const TDesC8* aLockToken,
-                             TBool aUseTaggedLockToken);
-    TBool IsConnected();
-    TUint NextWebDavTransactionId();
-    HBufC8* EncodeL(const TDesC& aData);
-    void SetupConnectionL();
- 
-private: // Data
-    // information about the connection
-    HBufC8*  iUserName; 
-    HBufC8*  iPassword;
-    TBuf<KMaxServerNameLen>  iHost;
-    TBuf<KMaxPath>           iDavRoot;
-    TBuf<KMaxPath>           iHostRoot;
-    TBuf<KMaxConnParameter>  iAuxData;
-    HBufC8*                  iEncodedHost; // UTF8-encoded host name part
-
-    MRsfwDavResponseObserver* iWebDavResponseObserver;
-    MRsfwConnectionObserver* iRsfwConnectionObserver;
-    
-    CRsfwPropFindParser*         iPropFindParserImpl;
-    CRsfwLockQueryParser*        iLockQueryParserImpl;
-    Xml::CParser*            iPropFindParser;
-    Xml::CParser*            iLockQueryParser;
-    
-    // whether XML parser should be cancelled if the transaction is cancelled
-    TBool                   iPropfindParsingActive; 
-                                   
-
-    TBool        iConnected;    // whether we have a successful TCP session
-    RFs          iFs;
-    TInt         iWebDavSupportClass;
-    TInt         iCredentialRequestCount;
-    TUint        iCurrentWebDavTransactionId;
-    RHTTPSession iHttpSession;
-    CRsfwConnectionManager* iRsfwConnectionManager;
-    };
-
-#endif // CRSFWDAVSESSION_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavtransaction.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  WebDAV transaction
- *
-*/
-
-
-#ifndef CRSFWDAVTRANSACTION_H
-#define CRSFWDAVTRANSACTION_H
-
-// INCLUDES
-#include <e32base.h>
-#include <uri8.h>
-//#include <f32file.h>
-//#include <s32file.h>
-//#include <http/MHTTPAuthenticationCallback.h>
-#include <http/mhttpdatasupplier.h>
-//#include <chttpformencoder.h>
-#include <http/mhttptransactioncallback.h>
-
-//#include <xml/parser.h>
-
-#include "rsfwdavdefs.h"
-//#include "rsfwremoteaccess.h"
-//#include "rsfwdavsession.h"
-
-// FORWARD DECLARATIONS
-class CRsfwDavSession;
-class CRsfwDirEnt;
-class CRsfwDavFileInfo;
-
-// CONSTANTS
-const TInt KHttpPortNumber  =  80;
-const TInt KHttpsPortNumber = 443;
-_LIT(KHttpScheme, "http");
-_LIT(KHttpsScheme, "https");
-_LIT8(KHttpsScheme8, "https");
-
-/**
- *  WebDAV transaction
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-class CRsfwDavTransaction: public CBase,
-                          public MHTTPTransactionCallback,
-                          public MHTTPDataSupplier
-                     
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwDavTransaction* NewL(CRsfwDavSession* aWebDavSession,
-                                    TWebDavOp aWebDavOp,
-                                    const TUriC8& aUri, 
-                                    RStringF aMethod,
-                                    TUint aTransactionId);
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwDavTransaction();
-
-public: // New functions
-    void SetBodyData(HBufC8* aRequestBodyBuffer);
-    void SetBodyFileL(const TDesC& aPath, 
-                      TInt aOffset, 
-                      TInt* aLength,
-                      TUint aFlags);
-    void SetPropFindPath(HBufC* aPropFindPath);
-    void SetPropFindDirEntryArray(RPointerArray<CRsfwDirEnt>& aDirEnts);
-    void SubmitL();
-    void Cancel();
-    void SetDavFileInfoL(CRsfwDavFileInfo** aDavFileInfo, const TDesC& aPath);
-    inline RHTTPTransaction HttpTransaction() {return iHttpTransaction;};
-    inline TUint Id() {return iTransactionId;};
-    inline TInt Status() {return iStatus;};
-
-public: // Functions from base classes
-    // From MHTTPTransactionCallback
-    void MHFRunL(RHTTPTransaction aTransaction, 
-                 const THTTPEvent& aEvent);
-    TInt MHFRunError(TInt aError,
-                     RHTTPTransaction aTransaction,
-                     const THTTPEvent& aEvent);
-    
-    // From MHTTPDataSupplier
-    TBool GetNextDataPart(TPtrC8& aDataPart);
-    void ReleaseData();
-    TInt OverallDataSize();
-    TInt Reset();
-
-private:
-    void ConstructL(CRsfwDavSession* aWebDavSession,
-                    TWebDavOp aWebDavOp,
-                    const TUriC8& aUri, 
-                    RStringF aMethod,
-                    TInt aTransactionId);
-    void TransactionCompleteL();
-    void TransactionError();
-    void Cleanup();
-    void PropFindResponseBeginL(TInt aDepth);
-    void LockQueryResponseBegin();
-    void ParsePropFindResponseL(const TDesC8& aFragment);
-    void ParseLockResponseL(const TDesC8& aFragment);
-    void PropFindResponseEndL();
-    void LockResponseEndL();
-
-public: // data
-    TWebDavOp               iWebDavOp;
-    
-private: // Data
-    TUint                   iTransactionId;
-    CRsfwDavSession*        iWebDavSession;
-    RHTTPTransaction        iHttpTransaction;
-    TBool                   iMoreToCome;
-    RFs                     iFs;
-    
-    // files used with PUT and GET 
-    RFile                   iBodyFile;
-    TFileName               iBodyFilePath;
-    TInt                    iBodyFileOffset;
-    TUint                   iBodyFileFlags;
-    TParse                  iParsedBodyFilePath;
-    
-    // pointer to client's "length" variable
-    // GET operation will set this based on "content-length" from the server
-    TInt*                   iClientsLength;
-
-    HBufC8*                 iRequestBodyBuffer;
-
-    // PROPFIND parser needs to now where it is prop finding....
-    HBufC*                  iPropFindPath;
-    // PROPFIND etc: response body is copied to a memory buffer
-    HBufC8*                 iResponseBuffer;
-    // how much body data has been sent to the HTTP stack
-    TInt                    iSendDataCount;
-    // total size of body the data
-    TInt                    iOverallDataSize;
-    TInt                    iStatus;
-    TBool iNoContentLength;
-    TBool                   iDiscardBody; // there may be body that we discard
-    
-    // Used with LOCKs to store files lock token
-    CRsfwDavFileInfo*           iDavFileInfo; 
-    
-    // Used with PROPFIND to store metadata of all entries in a directory
-    RPointerArray<CRsfwDirEnt>* iDirEnts;
-    };
-
-#endif // CRSFWDAVTRANSACTION_H
-           
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwlockqueryparser.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  WebDAV Lock method response body parser
- *
-*/
-
-
-#ifndef CRSFWLOCKQUERYPARSER_H
-#define CRSFWLOCKQUERYPARSER_H
-
-// INCLUDES
-#include <xml/contenthandler.h>
-#include <xml/attribute.h> // needed for RAttributeArray
-
-// FORWARD DECLARATIONS
-class CRsfwDavFileInfo;
-
-// CLASS DECLARATION
-
-/**
- *  WebDAV Lock operation response body parser
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-
-class CRsfwLockQueryParser: public CBase, public Xml::MContentHandler
-    {
-    // DATA TYPES
-    enum TLockType
-        {
-        EWriteLock  
-        };
-    
-    enum TLockScope
-        {
-        ESharedLock,
-        EExclLock
-        };
-    
-    enum TState
-        {
-        ELooking,
-        ELockToken,
-        ELockScope,
-        EDepth,
-        ETimeout,
-        ELockType,
-        EHrefToken
-        };
-
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwLockQueryParser* NewL();
-    static CRsfwLockQueryParser* NewLC();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwLockQueryParser();
-    
-public: // Functions from base classes
-    // From Xml::MContentHandler
-    void OnStartDocumentL(const Xml::RDocumentParameters& aDocParam,
-                          TInt aErrorCode);
-    void OnEndDocumentL(TInt aErrorCode);
-    void OnStartElementL(const Xml::RTagInfo& aElement,
-                         const Xml::RAttributeArray& aAttributes,
-                         TInt aErrorCode);
-    void OnEndElementL(const Xml::RTagInfo& aElement, TInt aErrorCode);
-    void OnContentL(const TDesC8& aBytes, TInt aErrorCode);
-    void OnStartPrefixMappingL(const RString& aPrefix,
-                               const RString& aUri,
-                               TInt aErrorCode);
-    void OnEndPrefixMappingL(const RString& aPrefix, TInt aErrorCode);
-    void OnIgnorableWhiteSpaceL(const TDesC8& aBytes, TInt aErrorCode);
-    void OnSkippedEntityL(const RString& aName, TInt aErrorCode);
-    void OnProcessingInstructionL(const TDesC8& aTarget,
-                                  const TDesC8& aData,
-                                  TInt aErrorCode);
-    void OnError(TInt aErrorCode);
-    TAny* GetExtendedInterface(const TInt32 aUid);  
-
-public: // New functions
-    /**
-       Set file information container to be filled
-       @param aFileInfo file info
-    */
-    void SetDavFileInfo(CRsfwDavFileInfo* aDavFileInfo); 
-    
-    TInt GetLastError();
-
-private:
-    void ConstructL();
-
-private: // Data
-    TState         iParseState;
-    CRsfwDavFileInfo*  iDavFileInfo;
-    HBufC8*        iContentString;
-    TInt iError;
-    };
-
-#endif // CRSFWLOCKQUERYPARSER_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/inc/rsfwpropfindparser.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  WebDAV PropFind method response body parser
- *
-*/
-
-
-#ifndef CRSFWPROPFINDPARSER_H
-#define CRSFWPROPFINDPARSER_H
-
-// INCLUDES
-#include <xml/contenthandler.h>
-#include <xml/attribute.h> // needed for RAttributeArray
-
-#include "rsfwdavfileinfo.h"
-#include "rsfwdirent.h"
-
-// CONSTANTS
-const TInt KMaxNameSpaces = 10;
-
-// FORWARD DECLARATIONS
-class CRsfwDirEnt;
-
-// CLASS DECLARATION
-/**
- *  WebDAV Lock operation response body parser.
- *  Parses directory listing from WebDAV-server, which we got 
- *  as XML-body response to PROPFIND-query.
- *
- *  FOR METADATA:
- *  This comes from upper lever and are used to store relevant metadata
- *  from directory listing.
- *  Currently we want to extract the following to the entry
- *       displayname
- *       <creationdate>2002-12-19T13:51:16Z</creationdate>
- *       <getlastmodified>Thu, 19 Dec 2002 13:51:16 GMT</getlastmodified>
- *       <getcontentlength>2324</getcontentlength>;
- *
- *  FOR CACHE CONCISTENCY:
- *  We need to remember the ETag of searched directory
- *
- *  @lib davaccess.lib
- *  @since Series 60 3.1
- */
-
-class CRsfwPropFindParser : public CBase, public Xml::MContentHandler
-    {
-// EName = parsing is inside <displayname> </displayname> etc., 
-// ELooking = parsing is outside all tags of interest
-    enum TState
-        {
-        EName,
-        EResponse,
-        ENameInDisplayName,
-        EDate,
-        EModified,
-        ELength,
-        EResourceType,
-        EContentType,
-        EETag,
-        ELooking
-        };
-
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    static CRsfwPropFindParser* NewL();
-    static CRsfwPropFindParser* NewLC();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CRsfwPropFindParser();
-
-public: // Functions from base classes
-// Symbian parser
-    // From XML::MContentHandler
-    void OnStartDocumentL(const Xml::RDocumentParameters& aDocParam,
-                          TInt aErrorCode);
-    void OnEndDocumentL(TInt aErrorCode);
-    void OnStartElementL(const Xml::RTagInfo& aElement,
-                         const Xml::RAttributeArray& aAttributes,
-                         TInt aErrorCode);
-    void OnEndElementL(const Xml::RTagInfo& aElement, TInt aErrorCode);
-    void OnContentL(const TDesC8& aBytes, TInt aErrorCode);
-    void OnStartPrefixMappingL(const RString& aPrefix,
-                               const RString& aUri,
-                               TInt aErrorCode);
-    void OnEndPrefixMappingL(const RString& aPrefix, TInt aErrorCode);
-    void OnIgnorableWhiteSpaceL(const TDesC8& aBytes, TInt aErrorCode);
-    void OnSkippedEntityL(const RString& aName, TInt aErrorCode);
-    void OnProcessingInstructionL(const TDesC8& aTarget,
-                                  const TDesC8& aData,
-                                  TInt aErrorCode);
-    void OnError(TInt aErrorCode);
-    TAny* GetExtendedInterface(const TInt32 aUid);  
-    
-public: // New functions
-    // setters for the parser
-    /**
-       Set directory entry to be filled
-       @param aDirEntArray directory entry array
-    */
-    void SetDirEntArray(RPointerArray<CRsfwDirEnt>* aDirEntArray);
-
-    /**
-       Set target directory
-       @param aPropFindPath Propfind resource path
-       @param aDepth Propfind depth
-    */
-    void SetTargetDirectory(const TDesC& aPropFindPath, TInt aDepth);
-    
-    /**
-     	Returns the error code if there was an error during parsing of
-     	the response.
-    */
-    TInt GetLastError();
-    
-
-private:
-    void ConstructL();
-    void ClearDirEntryL();
-    HBufC* DecodeL(const TDesC8& aData);
-
-private: // Data
-    // Internal variables
-    RPointerArray<CRsfwDirEnt>* iDirEntArray;  // not owned by us 
-    const TDesC*            iPropFindPath; // path
-    HBufC8*                 iContentString;
-    TInt                    iDepth;
-    CRsfwDirEnt*                iDirEntry;     // metadata entry currently read
-    TState                  iParseState;   // internal state
-    TBool                   iCurrentIsParent;
-    TInt                    iError;        // indicates a processing error
-    };
-
-#endif // CRSFWPROPFINDPARSER_H
-
-// End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwdavaccess.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1179 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Implements remote access plugin API using WebDAV protocol
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwdavaccess.h"
-#include "rsfwdavfileinfo.h"
-#include "rsfwdavaccesscontext.h"
-#include "rsfwdavtransaction.h"
-#include "mdebug.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-void CRsfwDavAccess::ConstructL()
-    {
-    }
-
-CRsfwDavAccess* CRsfwDavAccess::NewL()
-    {
-    CRsfwDavAccess* self = new (ELeave) CRsfwDavAccess;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CRsfwDavAccess::~CRsfwDavAccess()
-    {
-    delete iWebDavSession;
-    iDavFileInfos.ResetAndDestroy();
-    iDavAccessContexts.ResetAndDestroy(); 
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::DavFileInfoL
-// Find the file info for the given file name.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavFileInfo* CRsfwDavAccess::DavFileInfoL(const TDesC& aName)
-    {
-    TInt index = DavFileInfoIndexL(aName);
-    if (index != KErrNotFound)
-        {
-        return iDavFileInfos[index];
-        }
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::AddDavFileInfo
-// Add a new file info entry.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::AddDavFileInfo(CRsfwDavFileInfo* aDavFileInfo)
-    {
-#ifdef _DEBUG
-    TPtrC namePtr;
-    if (aDavFileInfo->Name())
-        {
-        namePtr.Set(*aDavFileInfo->Name());
-        }
-    TPtrC8 lockPtr;
-    if (aDavFileInfo->LockToken())
-        {
-        lockPtr.Set(*aDavFileInfo->LockToken());
-        }
-    DEBUGSTRING16(("Add file info: name='%S'", &namePtr));
-    DEBUGSTRING8(("               lock='%S', time=%d",
-                  &lockPtr,
-                  aDavFileInfo->Timeout()));
-    
-#endif // DEBUG
-    iDavFileInfos.Append(aDavFileInfo);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::RemoveDavFileInfoL
-// Remove a file info entry.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::RemoveDavFileInfoL(const TDesC& aPath)
-    {
-    TInt index = DavFileInfoIndexL(aPath);
-    if (index != KErrNotFound)
-        {
-        CRsfwDavFileInfo* davFileInfo =  iDavFileInfos[index];
-#ifdef _DEBUG
-        TPtrC namePtr;
-        if (davFileInfo->Name())
-            {
-            namePtr.Set(*davFileInfo->Name());
-            }
-        DEBUGSTRING16(("Remove file info: name='%S'", &namePtr));
-#endif // DEBUG
-        iDavFileInfos.Remove(index);
-        delete davFileInfo;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::SetupL
-// Setup - should be immediately followed by NewL() call.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::SetupL(MRsfwRemoteAccessObserver* aRsfwRemoteAccessObserver)
-    {
-    DEBUGSTRING(("DAV: SetupL"));
-    MRsfwConnectionObserver* rsfwConnectionObserver = NULL;
-    if (aRsfwRemoteAccessObserver)
-        {
-        // Cascade remote access observers
-        iRsfwRemoteAccessObserver = aRsfwRemoteAccessObserver;
-        rsfwConnectionObserver = this;
-        }
-    iWebDavSession = CRsfwDavSession::NewL(this, rsfwConnectionObserver);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::OpenL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::OpenL(const TUriC& aUri,
-                        const TDesC& /*aFriendlyName*/,
-                        const TDesC& aUserName,
-                        const TDesC& aPassword,
-                        const TDesC& aAuxData,
-                        MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    HBufC* url = HBufC::NewLC(KHttpsScheme().Length() +
-                              KMaxServerNameLen +
-                              1 +
-                              KMaxPath);
-    TPtr urlPtr = url->Des();
-
-    TInt portNumber = 0;
-    if (aUri.IsPresent(EUriPort))
-        {
-        TLex portx(aUri.Extract(EUriPort));
-        if (portx.Val(portNumber) != KErrNone)
-            {
-            portNumber = 0;
-            }
-        }
-
-    // Check scheme and map it to port number or vice versa
-    TPtrC scheme;
-    if (aUri.IsPresent(EUriScheme))
-        {
-        scheme.Set(aUri.Extract(EUriScheme));
-        }
-    if (scheme.Length())
-        {
-        if (portNumber == 0)
-            {
-            if (scheme.CompareF(KHttpsScheme) == 0)
-                {
-                portNumber = KHttpsPortNumber;
-                }
-            else
-                {
-                portNumber = KHttpPortNumber;
-                }
-            }
-        }
-    else
-        {
-        if (portNumber == 0)
-            {
-            portNumber = KHttpPortNumber;
-            }
-        if (portNumber == KHttpPortNumber)
-            {
-            scheme.Set(KHttpScheme);
-            }
-        else if (portNumber == KHttpsPortNumber)
-            {
-            scheme.Set(KHttpsScheme);
-            }
-        else
-            {
-            User::Leave(KErrBadName);
-            }
-        }
-        
-    TPtrC rootDirectory;
-    if (aUri.IsPresent(EUriPath))
-        {
-        rootDirectory.Set(aUri.Extract(EUriPath));
-        }
-    iRootDirectory.Copy(rootDirectory);
-    if (!iRootDirectory.Length() ||
-        iRootDirectory[iRootDirectory.Length() - 1] != '/')
-        {
-        // Append trailing '/'
-        iRootDirectory.Append('/');
-        }
-    
-    urlPtr.Copy(scheme);
-    urlPtr.Append(':');
-    urlPtr.Append('/');
-    urlPtr.Append('/');
-    urlPtr.Append(aUri.Extract(EUriHost));
-    // There needs to be a slash between server name and the root dir
-    // (we assume that there cannot be an excess of slash characters)
-    if (urlPtr[urlPtr.Length() - 1] != '/')
-        {
-        if (!iRootDirectory.Length() || (iRootDirectory[0] != '/'))
-            {
-            urlPtr.Append('/');
-            }
-        }
-    urlPtr.Append(iRootDirectory);
-    
-    DEBUGSTRING16(("DAV: OpenL to URL '%S'", &urlPtr));
-    
-    iWebDavSession->OpenL(urlPtr,
-                          portNumber,
-                          aUserName,
-                          aPassword,
-                          aAuxData);
-    CleanupStack::PopAndDestroy(url);
-    return OptionsL(aResponseHandler);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::GetDirectoryL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::GetDirectoryL(const TDesC& aPathName,
-                                RPointerArray<CRsfwDirEnt>& aDirEnts,
-                                MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    // Get the contents of the directory
-    DEBUGSTRING16(("DAV: GetDirectory '%S'", &aPathName));
-
-    // check that arguments are sensible
-    // aPathName might here be null (mounted root directory)
-    if (aPathName.Length() > KMaxPath)
-        {
-        User::Leave(KErrBadName);
-        }
-
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    CRsfwDavAccessContextPropFindDir* davAccessContextPropFindDir =
-        CRsfwDavAccessContextPropFindDir::NewL(this,
-                                           aResponseHandler,
-                                           aPathName,
-                                           1,
-                                           NULL,
-                                           &aDirEnts);
-    TUint id = AddAccessContext(davAccessContextPropFindDir);
-    davAccessContextPropFindDir->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::GetFileL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::GetFileL(const TDesC& aRemotePathName,
-                           const TDesC& aLocalPathName,
-                           TInt aOffset,
-                           TInt* aLength,
-                           TUint aFlags,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-
-#ifdef _DEBUG
-    {
-    TInt length;
-    if (aLength)
-        {
-        length = *aLength;
-        }
-    else
-        {
-        length = 0;
-        }
-    DEBUGSTRING16(("DAV: GetFile rn='%S', ln='%S' (off=%d, len=%d)",
-                   &aRemotePathName,
-                   &aLocalPathName,
-                   aOffset,
-                   length));
-    }
-#endif // DEBUG
-
-    // check that arguments are sensible
-    if (aOffset < 0 ||
-       (aLength && *aLength < 0) ||
-       (!aResponseHandler))
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aLocalPathName.Length() == 0) ||
-        (aLocalPathName.Length() > KMaxPath) ||
-        (aRemotePathName.Length() == 0) ||
-        (aRemotePathName.Length() > KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    CRsfwDavAccessContextGet* davAccessContextGet =
-        CRsfwDavAccessContextGet::NewL(this,
-                                   aResponseHandler,
-                                   aRemotePathName,
-                                   aLocalPathName,
-                                   aOffset,
-                                   aLength,
-                                   aFlags);
-    TUint id = AddAccessContext(davAccessContextGet);
-    davAccessContextGet->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::PutFileL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::PutFileL(const TDesC& aLocalPathName,
-                           const TDesC& aRemotePathName,
-                           const TDesC8& aMimeType,
-                           TInt aOffset,
-                           TInt aLength,
-                           TInt aTotalLength,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    // Copy file to server using PUT,
-    // might require lock token, if the destination file is locked...
-#ifdef _DEBUG
-    {
-    TInt length;
-    if (aLength)
-        {
-        length = aLength;
-        }
-    else
-        {
-        length = 0;
-        }
-    DEBUGSTRING16(("DAV: PutFile ln='%S', rn='%S' (off=%d, len=%d)",
-                   &aLocalPathName,
-                   &aRemotePathName,
-                   aOffset,
-                   length));
-    }
-#endif // DEBUG
-
-    // check that arguments are sensible
-    if (aOffset < 0 ||
-       (aLength < 0) ||
-       (((aOffset + aLength) > aTotalLength) && aTotalLength > 0) ||
-       (!aResponseHandler))
-        {
-        User::Leave(KErrArgument);
-        }
-
-    // note that aLocalPathName can be undefined
-    // (CreateFile calls with null-ptr)
-    if ((aLocalPathName.Length() > KMaxPath) ||
-        (aRemotePathName.Length() == 0) ||
-        (aRemotePathName.Length() > KMaxPath) ||
-        (aMimeType.Length() > KMaxMimeTypeLength))
-        {
-        User::Leave(KErrBadName);
-        }
-
-
-    const HBufC8* lockToken = NULL;
-    CRsfwDavFileInfo *davFileInfo = DavFileInfoL(aRemotePathName);
-    if (davFileInfo)
-        {
-        lockToken = davFileInfo->LockToken();
-        }
-    CRsfwDavAccessContextPut* davAccessContextPut =
-        CRsfwDavAccessContextPut::NewL(this,
-                                   aResponseHandler,
-                                   aLocalPathName,
-                                   aRemotePathName,
-                                   aMimeType,
-                                   aOffset,
-                                   aLength,
-                                   aTotalLength,
-                                   lockToken);
-    TUint id = AddAccessContext(davAccessContextPut);
-    davAccessContextPut->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::PutFileL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::PutFileL(const TDesC& aLocalPathName,
-                           const TDesC& aRemotePathName,
-                           const TDesC8& aMimeType,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    return PutFileL(aLocalPathName,
-                    aRemotePathName,
-                    aMimeType,
-                    0,
-                    NULL,
-                    0,
-                    aResponseHandler);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::CreateFileL
-// overwriting info not needed in HTTP PUT
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::CreateFileL(const TDesC& aPathName,
-                              TBool /*aOverWriting*/,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: CreateFile '%S'", &aPathName));
-    // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-        
-    // Could create the file only from LOCK,
-    // but that seems to cause 500 Internal Error with several
-    // Apache servers...
-    TPtrC null;
-    return PutFileL(null, aPathName, KTextPlain, 0, NULL, 0, aResponseHandler);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::MakeDirectoryL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::MakeDirectoryL(
-    const TDesC& aPathName,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: MakeDirectory", &aPathName));
-
-    // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    CRsfwDavAccessContextMkDir* davAccessContextMkDir =
-        CRsfwDavAccessContextMkDir::NewL(this,
-                                     aResponseHandler,
-                                     aPathName);
-    TUint id = AddAccessContext(davAccessContextMkDir);
-    davAccessContextMkDir->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::DeleteDirectoryL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::DeleteDirectoryL(
-    const TDesC& aPathName,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: DeleteDirectory '%S'", &aPathName));
-
-    // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    CRsfwDavAccessContextDelete* davAccessContextDelete =
-        CRsfwDavAccessContextDelete::NewL(this,
-                                      aResponseHandler,
-                                      aPathName,
-                                      ETrue,
-                                      NULL);
-    TUint id = AddAccessContext(davAccessContextDelete);
-    davAccessContextDelete->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::DeleteFileL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::DeleteFileL(const TDesC& aPathName,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: DeleteFile '%S'", &aPathName));
-
-    // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    const HBufC8* lockToken = NULL;
-    CRsfwDavFileInfo *davFileInfo = DavFileInfoL(aPathName);
-    if (davFileInfo)
-        {
-        lockToken = davFileInfo->LockToken();
-        }
-    CRsfwDavAccessContextDelete* davAccessContextDelete =
-        CRsfwDavAccessContextDelete::NewL(this,
-                                      aResponseHandler,
-                                      aPathName,
-                                      EFalse,
-                                      lockToken);
-    TUint id = AddAccessContext(davAccessContextDelete);
-    davAccessContextDelete->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::RenameL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::RenameL(const TDesC& aSrcPathName,
-                          const TDesC& aDstPathName,
-                          TBool aOverwrite,
-                          MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: Rename '%S' to '%S'", &aSrcPathName, &aDstPathName));
-
-     // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aSrcPathName.Length() == 0) ||
-        (aSrcPathName.Length() >  KMaxPath) ||
-        (aDstPathName.Length() == 0) ||
-        (aDstPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    // lock token for the source file, if the source is locked...
-    const HBufC8* lockToken = NULL;
-    CRsfwDavFileInfo* davFileInfo = DavFileInfoL(aSrcPathName);
-    if (davFileInfo)
-        {
-        lockToken = davFileInfo->LockToken();
-        }
-        
-    
-    // lock token for the destination file, if the destination is locked
-    const HBufC8* destLockToken = NULL;
-    CRsfwDavFileInfo* destDavFileInfo = DavFileInfoL(aDstPathName);
-    if (destDavFileInfo)
-        {
-        destLockToken = destDavFileInfo->LockToken();
-        }
-    
-        
-    CRsfwDavAccessContextMove* davAccessContextMove =
-        CRsfwDavAccessContextMove::NewL(this,
-                                    aResponseHandler,
-                                    aSrcPathName,
-                                    aDstPathName,
-                                    aOverwrite,
-                                    lockToken,
-                                    destLockToken);
-    TUint id = AddAccessContext(davAccessContextMove);
-    davAccessContextMove->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::GetDirectoryAttributesL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::GetDirectoryAttributesL(
-    const TDesC& aPathName,
-    CRsfwDirEntAttr*& aAttr,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: GetDirectoryAttributes of '%S'",
-                   &aPathName));
-
-    // check that arguments are sensible
-    // aPathName might here be null (mounted root directory)
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if (aPathName.Length() > KMaxPath)
-        {
-        User::Leave(KErrBadName);
-        }
-
-    CRsfwDavAccessContextPropFindDir* davAccessContextPropFindDir =
-        CRsfwDavAccessContextPropFindDir::NewL(this,
-                                           aResponseHandler,
-                                           aPathName,
-                                           0,
-                                           &aAttr,
-                                           NULL);
-    TUint id = AddAccessContext(davAccessContextPropFindDir);
-    davAccessContextPropFindDir->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::GetFileAttributesL
-// ----------------------------------------------------------------------------
-//
-TUint
-CRsfwDavAccess::GetFileAttributesL(const TDesC& aPathName,
-                               CRsfwDirEntAttr*& aAttr,
-                               MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING16(("DAV: GetFileAttributes of '%S'",
-                   &aPathName));
-
-    // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    CRsfwDavAccessContextPropFindFile* davAccessContextPropFindFile =
-        CRsfwDavAccessContextPropFindFile::NewL(this,
-                                            aResponseHandler,
-                                            aPathName,
-                                            &aAttr);
-    TUint id = AddAccessContext(davAccessContextPropFindFile);
-    davAccessContextPropFindFile->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::SetAttributesL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::SetAttributesL(
-    const TDesC& /* aPathName */,
-    CRsfwDirEntAttr& /* aAttr */,
-    MRsfwRemoteAccessResponseHandler* /* aResponseHandler */)
-    {
-    DEBUGSTRING(("DAV: SetAttributes"));
-    User::Leave(KErrNotSupported);
-    // Not reached
-    return 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::ObtainLockL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::ObtainLockL(const TDesC& aPathName,
-                              TUint aLockFlags,
-                              TUint& aTimeout,
-                              TDesC8*& aLockToken,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    // check that arguments are sensible
-    if ((!aResponseHandler) ||
-        (aTimeout == 0))
-        {
-        User::Leave(KErrArgument);
-        }
-
-    // CRsfwDavAccess is the place to know about webdab locks
-    // We only try to obtain a lock if the file was opened for writing
-    if ((!(aLockFlags & EFileWrite)) ||
-        (iWebDavSession->WebDavSupportClass() < KDavVersionTwo))
-        {
-        // WebDAV doesn't have read locks
-        aResponseHandler->HandleRemoteAccessResponse(0, KErrNotSupported); 
-        return 0;
-        }
-    
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-    CRsfwDavAccessContextLock* davAccessContextLock =
-        CRsfwDavAccessContextLock::NewL(this,
-                                    aResponseHandler,
-                                    aPathName,
-                                    aLockFlags,
-                                    aTimeout,
-                                    &aLockToken);
-    TUint id = AddAccessContext(davAccessContextLock);
-    davAccessContextLock->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::ReleaseLockL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::ReleaseLockL(const TDesC& aPathName,
-                               MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    /*
-      Precondition:
-      - File has been at least locked so there must be fileInfo and
-      locktoken for it
-    */
-    // check that arguments are sensible
-    if (!aResponseHandler)
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-           
-    // Must send the Lock Token
-    CRsfwDavFileInfo* davFileInfo = DavFileInfoL(aPathName);
-    if (!davFileInfo)
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    const HBufC8* lockToken = davFileInfo->LockToken();
-    if (!lockToken)
-        {
-        User::Leave(KErrNotFound);
-        }
-    // Prevent further access to lock token
-    davFileInfo->SetFlag(TRsfwDavFileInfoFlags::EUnlockPending);
-
-    CRsfwDavAccessContextUnlock* davAccessContextUnlock =
-        CRsfwDavAccessContextUnlock::NewL(this,
-                                      aResponseHandler,
-                                      aPathName,
-                                      lockToken);
-    TUint id = AddAccessContext(davAccessContextUnlock);
-    davAccessContextUnlock->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::RefreshLockL
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::RefreshLockL(const TDesC& aPathName,
-                               TUint& aTimeout,
-                               MRsfwRemoteAccessResponseHandler* aResponseHandler)
-
-    {
-    /*
-      Precondition:
-      - File has been at least locked
-      so there must be fileInfo and locktoken for it
-    */
-    // check that arguments are sensible
-    if ((!aResponseHandler) ||
-        (aTimeout == 0))
-        {
-        User::Leave(KErrArgument);
-        }
-
-    if ((aPathName.Length() == 0) ||
-       (aPathName.Length() >  KMaxPath))
-        {
-        User::Leave(KErrBadName);
-        }
-
-
-    // Must send the Lock Token
-    CRsfwDavFileInfo* davFileInfo = DavFileInfoL(aPathName);
-    if (!davFileInfo)
-        {
-        User::Leave(KErrNotFound);
-        }
-    const HBufC8* lockToken = davFileInfo->LockToken();
-    if (!lockToken)
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    CRsfwDavAccessContextRefreshLock* davAccessContextRefreshLock =
-        CRsfwDavAccessContextRefreshLock::NewL(this,
-                                           aResponseHandler,
-                                           aPathName,
-                                           lockToken,
-                                           aTimeout);
-    TUint id = AddAccessContext(davAccessContextRefreshLock);
-    davAccessContextRefreshLock->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::CancelL by ID
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::Cancel(TUint aId)
-    {
-    TInt i;
-    if (aId)
-        {
-        i = LookupAccessContextByContextId(aId);
-        if (i != KErrNotFound)
-            {
-            CRsfwDavAccessContext* context = iDavAccessContexts[i];
-            // sometimes it may happen that transaction has not been created for 
-            // some context (e.g. if a leave has occured)
-            if (context->WebDavTransaction())
-                {
-                context->WebDavTransaction()->Cancel();
-                }
-            else
-                {
-                iDavAccessContexts.Remove(i);
-                delete context;                
-                }                        
-            }
-        }
-    else
-        {
-        // Cancel all pending transactions.
-        // Note that cancelling one transaction may result in creating the other
-        // e.g. if you cancel PUT, then RELEASE LOCK is generated.
-        // Anyway the purpose here is to 'kill' all of them, even those generated later
-        DEBUGSTRING(("Cancelling all pending transactions..."));
-        while (iDavAccessContexts.Count() > 0)
-            {
-            CRsfwDavAccessContext* context = iDavAccessContexts[0];
-            TUint id = context->Id();
-            Cancel(id);    
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::CancelL by path
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::Cancel(TDesC& aTargetPath)
-    {
-    DEBUGSTRING16(("CRsfwDavAccess::Cancel '%S'", &aTargetPath));
-    TInt i;
-    i = LookupAccessContextByPath(aTargetPath);
-    if (i != KErrNotFound)
-        {
-        DEBUGSTRING16(("found transaction....cancelling webdavop %d", 
-                    iDavAccessContexts[i]->WebDavTransaction()->iWebDavOp));
-        iDavAccessContexts[i]->WebDavTransaction()->Cancel();
-        }
-    }
-
-
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::SetLockToken
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavAccess::SetLockToken(const TDesC& aPathName,
-                              const TDesC8& aLockToken)
-    {
-    TRAPD(err, SetLockTokenL(aPathName, aLockToken));
-    return err;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::SetLockTokenL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::SetLockTokenL(const TDesC& aPathName,
-                               const TDesC8& aLockToken)
-    {
-    HBufC* path = HBufC::NewLC(iRootDirectory.Length() + KMaxPath + 1);
-    TPtr pathPtr = path->Des();
-    pathPtr.Copy(iRootDirectory);
-    pathPtr.Append(aPathName);
-
-    DEBUGSTRING16(("DAV: setting lock token: path = '%S'", &pathPtr));
-    DEBUGSTRING8(("                        token = '%S'", &aLockToken));
-    
-    if (aLockToken.Length())
-        {
-        CRsfwDavFileInfo* fileInfo = DavFileInfoL(pathPtr);
-        if (fileInfo)
-            {
-            fileInfo->SetLockTokenL(aLockToken);
-            }
-        else 
-            {
-            // new file
-            fileInfo = CRsfwDavFileInfo::NewL();
-            CleanupStack::PushL(fileInfo);
-            fileInfo->SetNameL(pathPtr);
-            fileInfo->SetLockTokenL(aLockToken);
-            CleanupStack::Pop(fileInfo);
-            // Ownership transferred to file info array
-            AddDavFileInfo(fileInfo);
-            }
-        }
-    else
-        {
-        // Remove lock token
-        RemoveDavFileInfoL(pathPtr);
-        }
-
-    CleanupStack::PopAndDestroy(path);
-    }
-
-// ----------------------------------------------------------------------------
-// From MRsfwDavResponseObserver
-// ----------------------------------------------------------------------------
-
-void CRsfwDavAccess::RequestCompleteL(TUint aWebDavTransactionId)
-    {
-    TInt i = LookupAccessContextByTransactionId(aWebDavTransactionId);
-    if (i != KErrNotFound)
-        {
-        CRsfwDavAccessContext* context = iDavAccessContexts[i];
-        DEBUGSTRING(("DAV: Request %d complete", aWebDavTransactionId));
-        context->TransactionCompleteL();
-        if (context->Done())
-            {
-            MRsfwRemoteAccessResponseHandler* responseHandler =
-                context->ResponseHandler();
-            TUint id = context->Id();
-            TInt status = context->Status();
-            iDavAccessContexts.Remove(i);
-            delete context;
-            responseHandler->HandleRemoteAccessResponse(id, status);
-            }
-        }
-    else
-        {
-        DEBUGSTRING(("DAV: Stray request (id=%d) complete",
-                     aWebDavTransactionId));
-        }
-    }
-
-void CRsfwDavAccess::RequestError(TUint aWebDavTransactionId, TInt aStatus)
-    {
-    TInt i = LookupAccessContextByTransactionId(aWebDavTransactionId);
-    if (i != KErrNotFound)
-        {
-        CRsfwDavAccessContext* context = iDavAccessContexts[i];
-        DEBUGSTRING(("DAV: Request %d error %d",
-                     aWebDavTransactionId,
-                     aStatus));
-        context->TransactionError(aStatus);
-        if (context->Done())
-            {
-            MRsfwRemoteAccessResponseHandler* responseHandler =
-                context->ResponseHandler();
-            TUint id = context->Id();
-            TInt status = context->Status();
-            iDavAccessContexts.Remove(i);
-            delete context;
-            responseHandler->HandleRemoteAccessResponse(id, status);
-            }
-        }
-    else
-        {
-        DEBUGSTRING(("DAV: Stray request (id=%d) error",
-                     aWebDavTransactionId));
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::AddAccessContext
-// Add a context entry in the table of currently active contexts.
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::AddAccessContext(CRsfwDavAccessContext* aDavAccessContext)
-    {
-    TUint id = GetNextAccessContextId();
-    DEBUGSTRING(("DAV: Added transaction %d", id));
-    aDavAccessContext->SetId(id);
-    iDavAccessContexts.Append(aDavAccessContext);
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::LookupAccessContextByTransactionId
-// Find an access context for the given WebDAV transaction id.
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavAccess::LookupAccessContextByTransactionId(TUint aWebDavTransactionId)
-    {
-    TInt i;
-    for (i = 0; i < iDavAccessContexts.Count(); i++)
-        {
-        if (iDavAccessContexts[i]->WebDavTransactionId() ==
-            aWebDavTransactionId)
-            {
-            return i;
-            }
-        }
-    DEBUGSTRING(("Access context for id %d is missing !!!",
-                 aWebDavTransactionId));
-    return KErrNotFound;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::LookupAccessContext
-// Find an access context having the given id.
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavAccess::LookupAccessContextByContextId(TUint aId)
-    {
-    TInt i;
-    for (i = 0; i < iDavAccessContexts.Count(); i++)
-        {
-        if (iDavAccessContexts[i]->Id() == aId)
-            {
-            return i;
-            }
-        }
-    DEBUGSTRING(("Access context for id %d is missing !!!", aId));
-    return KErrNotFound;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::LookupAccessContextByPath
-// Find an access context based on the path of the targer file/directory.
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavAccess::LookupAccessContextByPath(TDesC& aTargetPath)
-    { 
-    TInt i;
-    for (i = 0; i < iDavAccessContexts.Count(); i++)
-        {
-        if (iDavAccessContexts[i]->TargetPath() == aTargetPath)
-            {
-            return i;
-            }
-        }
-    return KErrNotFound;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::DavFileInfoIndexL
-// Find the index to file info array for the given file name.
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavAccess::DavFileInfoIndexL(const TDesC& aName)
-    {
-    HBufC* path = HBufC::NewLC(iRootDirectory.Length() + KMaxPath + 1);
-    TPtr pathPtr = path->Des();
-    pathPtr.Copy(iRootDirectory);
-    pathPtr.Append(aName);
-
-    DEBUGSTRING16(("Finding file info for '%S'", &pathPtr));
-    TInt index;
-    for (index = 0; index < iDavFileInfos.Count(); index++)
-        {
-        const HBufC* name = iDavFileInfos[index]->Name();
-        if (name)
-            {
-            if (pathPtr.Compare(*name) == 0)
-                {
-                DEBUGSTRING(("info found"));
-                CleanupStack::PopAndDestroy(path);
-                return index;
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy(path);
-    return KErrNotFound;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::OptionsL
-// Perform an Options query
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavAccess::OptionsL(MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    CRsfwDavAccessContextOptions* davAccessContextOptions =
-        CRsfwDavAccessContextOptions::NewL(this, aResponseHandler);
-    TUint id = AddAccessContext(davAccessContextOptions);
-    davAccessContextOptions->StartL();
-    return id;
-    }
-
-// ----------------------------------------------------------------------------
-// From MRsfwConnectionObserver
-// ----------------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccess::HandleConnectionEventL
-// Perform an Options query
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccess::HandleConnectionEventL(TInt aConnectionEvent,
-                                        TAny* /*aArg*/)
-
-    {
-    switch (aConnectionEvent)
-        {
-    case ERsfwConnectionObserverEventConnectionDisconnected:
-        if (iRsfwRemoteAccessObserver)
-            {
-            iRsfwRemoteAccessObserver->
-                HandleRemoteAccessEventL(
-                    ERsfwRemoteAccessObserverEventConnection,
-                    ERsfwRemoteAccessObserverEventConnectionDisconnected,
-                    NULL);
-            }
-        break;
-        
-    case ERsfwConnectionObserverEventConnectionWeaklyConnected:
-        // If we were reacting to link up events, we would do OptionsL(this);
-        break;
-        
-    case ERsfwConnectionObserverEventConnectionStronglyConnected:
-        // If we were reacting to link up events, we would do OptionsL(this);
-        break;
-        
-    default:
-        break;
-        }
-    }
-
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwdavaccesscontext.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1773 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Maintain contexts for WebDAV transactions
- *
-*/
-
-
-// INCLUDE FILES
-#include <httperr.h>
-#include <dnd_err.h>
-//#include "rsfwdavtransaction.h"
-#include "rsfwdavaccesscontext.h"
-#include "rsfwdavaccess.h"
-#include "rsfwdavfileinfo.h"
-#include "mdebug.h"
-#include "xml/xmlparsererrors.h"
-#include "rsfwdirentattr.h"
-#include "rsfwdirent.h"
-
-
-// CRsfwDavAccessContext
-// ============================ MEMBER FUNCTIONS ==============================
-// Destructor
-CRsfwDavAccessContext::~CRsfwDavAccessContext()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContext::SubmitL
-// Submit the operation.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContext::SubmitL()
-    {
-    iWebDavTransactionId = iWebDavTransaction->Id();
-    iWebDavTransaction->SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContext::Retry
-// Retry the operation.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContext::Retry()
-    {
-    TRAPD(err, StartL());
-    if (err != KErrNone)
-        {
-        iStatus = err;
-        iDone = ETrue;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContext::MapError
-// Map an HTTP error code to SymbianOS error code.
-// Whenever possible, these default mappings should be overriden
-// in the derived classes.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContext::MapError(TInt& aError)
-    {
-    switch (aError)
-        {
-    case HTTPStatus::EBadRequest:
-        aError = KErrBadName;
-        break;
-
-    case HTTPStatus::EMovedPermanently:
-    case HTTPStatus::ETemporaryRedirect:
-        aError = KErrNotFound;
-        break;
-
-    default:
-        if (HTTPStatus::IsServerError(aError))
-            {
-            aError = KErrNotSupported;
-            }
-        else if (HTTPStatus::IsClientError(aError))
-            {
-            aError = KErrAccessDenied;
-            }
-        else if (HTTPStatus::IsRedirection(aError))
-            {
-            aError = KErrNotFound;
-            }
-        else
-            {
-            if (aError > 0)
-                {
-                // An arbitrary choice for error codes that should not occur
-                aError = KErrAccessDenied;
-                }
-            }
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContext::TargetPath
-// return target path, to support cancel by path from 
-// FM local dialogs
-// This can be NULL for some non-cancellable operations like OPTIONS
-// but note that for example when reading files the active operation may be 
-// PROPFIND when user presses cancel.
-// ----------------------------------------------------------------------------
-//
-const TDesC& CRsfwDavAccessContext::TargetPath()
-    {
-    return iRemotePathName;
-    }
-
-
-// ----------------------------------------------------------------------------
-// Derived access contexts
-// ----------------------------------------------------------------------------
-
-// CRsfwDavAccessContextOptions
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextOptions::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextOptions*
-CRsfwDavAccessContextOptions::NewL(CRsfwDavAccess* aDavAccess,
-                               MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    CRsfwDavAccessContextOptions* self = new (ELeave) CRsfwDavAccessContextOptions;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess, aResponseHandler);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextOptions::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextOptions::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler)
-    {
-    DEBUGSTRING(("======= START ======="));
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iTryCount = KCommRetries;
-    iRemotePathName = KNullDesC;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextOptions::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextOptions::StartL()
-    {
-    DEBUGSTRING(("DAV: Options StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->OptionsL();
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextOptions::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextOptions::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: OptionsL done"));
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextOptions::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextOptions::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: OptionsL raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) )
-//        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map protocol specific error codes into symbian error codes
-        switch (aError)
-            {
-        case HTTPStatus::EMethodNotAllowed:
-            // Server doesn't support DAV
-            aError = KErrNotSupported;
-            break;
-            
-        case HTTPStatus::EBadRequest:
-            aError = KErrPathNotFound;
-            break;
-            
-        case HTTPStatus::EBadGateway: // Proxy didn't find the server
-        case HTTPStatus::ENotFound:
-        case KErrDndNameNotFound: // name resolver didn't find the server
-        case KErrDndAddrNotFound: 
-        case KErrHttpCannotEstablishTunnel: // ssl error when server not found  
-            aError = KErrNotFound;
-            break;
-
-        default:
-            MapError(aError);
-            break;
-            }
-        
-        DEBUGSTRING(("DAV: OptionsL err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextPropFindDir
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindDir::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextPropFindDir* CRsfwDavAccessContextPropFindDir::NewL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    TInt aDepth,
-    CRsfwDirEntAttr** aDirEntAttr,
-    RPointerArray<CRsfwDirEnt>* aDirEnts)
-    {
-    CRsfwDavAccessContextPropFindDir* self =
-        new (ELeave) CRsfwDavAccessContextPropFindDir;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aPathName,
-                     aDepth,
-                     aDirEntAttr,
-                     aDirEnts);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CRsfwDavAccessContextPropFindDir::~CRsfwDavAccessContextPropFindDir()
-    {
-    iOwnDirEnts.ResetAndDestroy();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindDir::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindDir::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    TInt aDepth,
-    CRsfwDirEntAttr** aDirEntAttr,
-    RPointerArray<CRsfwDirEnt>* aDirEnts)
-    {
-    DEBUGSTRING(("CRsfwDavAccessContextPropFindDir::ConstructL"));
-    DEBUGSTRING16(("aPathName ='%S'", &aPathName));
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iDepth = aDepth;
-    iDirEntAttr = aDirEntAttr;
-    iDirEnts = aDirEnts;
-    if (aDirEnts)
-        {
-        iDirEnts = aDirEnts;
-        }
-    else
-        {
-        iDirEnts = &iOwnDirEnts;
-        }
-    iTryCount = KCommRetries;
-    iRemotePathName = aPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropfindDir::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindDir::StartL()
-    {
-    /*
-      Preconditions:
-      - we haven't seen the directory at all (there is no CRsfwDavFileInfo for it)
-      - we have seen the directory and now the e-tag,
-      but haven't fetched the contents
-      - we have cached the contents also
-    */  
-    DEBUGSTRING(("DAV: PropFindDir StartL"));
-    iDirEnts->ResetAndDestroy();
-    iWebDavTransaction = iDavAccess->WebDavSession()->PropFindL(iRemotePathName,
-                                                                iDepth,
-                                                                ETrue,
-                                                                *iDirEnts);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindDir::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindDir::TransactionCompleteL()
-    {
-    TInt err = KErrNone;
-    DEBUGSTRING(("DAV: PropFindDir complete"));
-        
-    if (iDirEntAttr)
-        {
-        if (iDirEnts->Count())
-            {
-            *iDirEntAttr = (*iDirEnts)[0]->ExtractAttr();
-            }
-        }
-
-#ifdef _DEBUG
-    DEBUGSTRING(("DAV: DoPropFindDir: returning %d", err));
-    TInt i;
-    for (i = 0; i < iDirEnts->Count(); i++)
-        {
-        CRsfwDirEnt* d = (*iDirEnts)[i];
-        TPtrC name(*d->Name());
-        DEBUGSTRING16(("'%S' - (size=%d, attr=0x%x)",
-                       &name,
-                       d->Attr()->Size(),
-                       d->Attr()->Att()));
-        }
-#endif // DEBUG
-
-    iStatus = err;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindDir::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindDir::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: PropFindDir raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map XML parser errors to KErrCorrupt
-        if ((aError <= EXmlFeatureLockedWhileParsing) &&
-        	(aError >= EXmlParserError)) 
-        	{
-        	aError = EXmlParserError;
-        	}
-        
-        // Map protocol specific error codes into symbian error codes
-        switch (aError)
-            {
-       case EXmlParserError:
-      		aError = KErrCorrupt;
-      		break;      	
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-            
-        case HTTPStatus::EForbidden:
-        case HTTPStatus::EUnauthorized:
-            aError = KErrAccessDenied;
-            break; 
-        case HTTPStatus::EMovedPermanently:
-        case HTTPStatus::ETemporaryRedirect:
-            // The object we are looking for exists, but has a different
-            // type (e.g. we were looking for a file but it is a directory).
-            // PROPFIND should return not found...
-            aError = KErrNotFound;
-            break;    
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: PropFindDir err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextPropFindFile
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindFile::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextPropFindFile* CRsfwDavAccessContextPropFindFile::NewL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    CRsfwDirEntAttr** aDirEntAttr)
-    {
-    CRsfwDavAccessContextPropFindFile* self =
-        new (ELeave) CRsfwDavAccessContextPropFindFile;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess, aResponseHandler, aPathName, aDirEntAttr);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CRsfwDavAccessContextPropFindFile::~CRsfwDavAccessContextPropFindFile()
-    {
-    iOwnDirEnts.ResetAndDestroy();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropfindFile::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindFile::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    CRsfwDirEntAttr** aDirEntAttr)
-    {
-    DEBUGSTRING(("CRsfwDavAccessContextPropFindFile::ConstructL"));
-    DEBUGSTRING16(("aPathName ='%S'", &aPathName));
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iDirEntAttr = aDirEntAttr;
-    iTryCount = KCommRetries;
-    iRemotePathName = aPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindFile::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindFile::StartL()
-    {
-    DEBUGSTRING(("DAV: PropFindFile StartL"));
-    iOwnDirEnts.ResetAndDestroy();
-    iWebDavTransaction = iDavAccess->WebDavSession()->PropFindL(iRemotePathName,
-                                                                0,
-                                                                EFalse,
-                                                                iOwnDirEnts);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindFile::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindFile::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: PropFindFile complete"));
-
-    if (iOwnDirEnts.Count() > 0)
-        {
-        *iDirEntAttr = iOwnDirEnts[0]->ExtractAttr();
-        }
-    
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPropFindFile::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPropFindFile::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: PropFindFile raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map XML parser errors to KErrCorrupt
-        if ((aError <= EXmlFeatureLockedWhileParsing) &&
-        	(aError >= EXmlParserError)) 
-        	{
-        	aError = EXmlParserError;
-        	}
-        // Map protocol specific error codes into symbian error codes
-        switch (aError)
-            {
-       case EXmlParserError:
-      		aError = KErrCorrupt;
-      		break;  
-            
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-            
-        case HTTPStatus::EForbidden:
-        case HTTPStatus::EUnauthorized:
-            aError = KErrAccessDenied;
-            break;
-        case HTTPStatus::EMovedPermanently:
-        case HTTPStatus::ETemporaryRedirect:
-            // The object we are looking for exists, but has a different
-            // type (e.g. we were looking for a file but it is a directory).
-            // PROPFIND should return not found...
-            aError = KErrNotFound;
-            break;        
-        default:
-            MapError(aError);
-            break;
-            }
-        
-        DEBUGSTRING(("DAV: PropFindFile err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextGet
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextGet::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextGet*
-CRsfwDavAccessContextGet::NewL(CRsfwDavAccess* aDavAccess,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                           const TDesC& aRemotePathName,
-                           const TDesC& aLocalPathName,
-                           TInt aOffset,
-                           TInt* aLength,
-                           TUint aFlags)
-    {
-    CRsfwDavAccessContextGet* self = new (ELeave) CRsfwDavAccessContextGet;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aRemotePathName,
-                     aLocalPathName,
-                     aOffset,
-                     aLength,
-                     aFlags);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextGet::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextGet::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aRemotePathName,
-    const TDesC& aLocalPathName,
-    TInt aOffset,
-    TInt* aLength,
-    TUint aFlags)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iRemotePathName = aRemotePathName;
-    iLocalPathName = aLocalPathName;
-    iOffset = aOffset;
-    iLength = aLength;
-    iFlags = aFlags;
-    iTryCount = KCommRetries;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextGet::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextGet::StartL()
-    {
-    DEBUGSTRING(("DAV: Get StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->GetL(iRemotePathName,
-                                                           iLocalPathName,
-                                                           iOffset,
-                                                           iLength,
-                                                           iFlags);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextGet::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextGet::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: Get done"));
-    
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextGet::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextGet::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: Get raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map protocol specific error codes into symbian error codes
-        switch (aError)
-            {
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-
-        case HTTPStatus::ENotModified:
-            aError = KErrNone;
-            break;
-
-        case HTTPStatus::EForbidden:
-            aError = KErrAccessDenied;
-            break;
-
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: Get err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-
-
-// CRsfwDavAccessContextPut
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPut::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextPut*
-CRsfwDavAccessContextPut::NewL(CRsfwDavAccess* aDavAccess,
-                           MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                           const TDesC& aLocalPathName,
-                           const TDesC& aRemotePathName,
-                           const TDesC8& aMimeType,
-                           TInt aOffset,
-                           TInt aLength,
-                           TInt aTotalLength,
-                           const TDesC8* aLockToken)
-    {
-    CRsfwDavAccessContextPut* self = new (ELeave) CRsfwDavAccessContextPut;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aLocalPathName,
-                     aRemotePathName,
-                     aMimeType,
-                     aOffset,
-                     aLength,
-                     aTotalLength,
-                     aLockToken);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPut::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPut::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aLocalPathName,
-    const TDesC& aRemotePathName,
-    const TDesC8& aMimeType,
-    TInt aOffset,
-    TInt aLength,
-    TInt aTotalLength,
-    const TDesC8* aLockToken) 
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iLocalPathName = aLocalPathName;
-    iRemotePathName = aRemotePathName;
-    iMimeType = aMimeType;
-    iOffset = aOffset;
-    iLength = aLength;
-    iTotalLength = aTotalLength;
-    iLockToken = aLockToken;
-    iTryCount = KCommRetries;
-    iContentRangeSupported = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPut::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPut::StartL()
-    {
-    DEBUGSTRING(("DAV: Put StartL"));
-    iWebDavTransaction =
-        iDavAccess->
-        WebDavSession()->
-        PutL(iLocalPathName,
-             iRemotePathName,
-             iMimeType,
-             iOffset,
-             iLength,
-             iTotalLength,
-             iContentRangeSupported,
-             iLockToken);
-                                                        
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPut::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPut::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: Put done"));
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextPut::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextPut::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: Put raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected) ||
-        (aError == HTTPStatus::ENotImplemented))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map protocol specific error codes into Symbian error codes
-        switch (aError)
-            {
-        case HTTPStatus::EForbidden:
-            aError = KErrAccessDenied;
-            break;
-            
-        case HTTPStatus::EMethodNotAllowed:
-        case HTTPStatus::EConflict:
-            // EConflict can mean either resource already exists or
-            // the parent does not exist.
-            // However, in our code we make sure that the parent exists.
-            aError = KErrAlreadyExists;
-            break;
-
-        case HTTPStatus::EUnsupportedMediaType:
-            aError = KErrNotSupported;
-            break;
-        case HTTPStatus::EInternalServerError:
-        case RsfwDavStatus::EInsufficientStorage:
-            aError = KErrDiskFull;
-            break;
-        case HTTPStatus::EMovedPermanently:
-        case HTTPStatus::ETemporaryRedirect:
-            // It is not allowed to write a file with the same name
-            // as an existing directory.
-            aError = KErrAccessDenied;    
-            break;
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: Put err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-    
-    if (aError == HTTPStatus::ENotImplemented) 
-        {
-        // we assume that the server does not support Content-Range: with PUT
-        iContentRangeSupported = EFalse;
-        }
-    
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextMkDir
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMkDir::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextMkDir*
-CRsfwDavAccessContextMkDir::NewL(CRsfwDavAccess* aDavAccess,
-                             MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                             const TDesC& aPathName)
-    {
-    CRsfwDavAccessContextMkDir* self = new (ELeave) CRsfwDavAccessContextMkDir;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess, aResponseHandler, aPathName);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMkDir::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMkDir::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iTryCount = KCommRetries;
-    iRemotePathName = aPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMkDir::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMkDir::StartL()
-    {
-    DEBUGSTRING(("DAV: MkDir StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->MkDirL(iRemotePathName);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMkDir::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMkDir::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: MkDir done"));
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMkDir::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMkDir::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: MkDir raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        /*
-          Map protocol specific error codes into Symbian error codes
-          KErrAlreadyExists dirD already exists in /dirA/dirB/dirC/
-          KErrAccessDenied dirD already exists but is not a directory.
-          KErrDirFull There is no room in /dirA/dirB/dirC/ for the new entry,
-          which is especially applicable to the root directory.
-        */
-        switch (aError)
-            {
-        case HTTPStatus::EForbidden:
-        case HTTPStatus::EConflict:
-            /*
-              EConflict can mean either resource already exists
-              but is not a collection  or the parent does not exist.
-              However, in our code we make sure that the parent exists.
-            */
-            aError = KErrAccessDenied;
-            break;
-
-        case HTTPStatus::EMethodNotAllowed:
-        case HTTPStatus::EMovedPermanently:
-            aError = KErrAlreadyExists;
-            break;
-
-        case HTTPStatus::EUnsupportedMediaType:
-            aError = KErrNotSupported;
-            break;
-    
-        case HTTPStatus::EInternalServerError:
-        case RsfwDavStatus::EInsufficientStorage:
-            aError = KErrDirFull;
-            break;
-
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: MkDir err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextDelete
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextDelete::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextDelete*
-CRsfwDavAccessContextDelete::NewL(CRsfwDavAccess* aDavAccess,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                              const TDesC& aPathName,
-                              TBool aIsDir,
-                              const TDesC8* aLockToken)
-    {
-    CRsfwDavAccessContextDelete* self = new (ELeave) CRsfwDavAccessContextDelete;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess, aResponseHandler, aPathName, aIsDir, aLockToken);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextDelete::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextDelete::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    TBool aIsDir,
-    const TDesC8* aLockToken)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iIsDir = aIsDir;
-    iLockToken = aLockToken;
-    iTryCount = KCommRetries;
-    iRemotePathName = aPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextDelete::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextDelete::StartL()
-    {
-    DEBUGSTRING(("DAV: Delete StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->DeleteL(iRemotePathName,
-                                                              iIsDir,
-                                                              iLockToken);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextDelete::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextDelete::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: Delete done"));
-    iDavAccess->RemoveDavFileInfoL(iRemotePathName);
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextDelete::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextDelete::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: Delete raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        switch (aError)
-            {
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-
-        case HTTPStatus::EForbidden:
-        case RsfwDavStatus::ELocked:    
-            aError = KErrAccessDenied;
-            break;
-        case HTTPStatus::EMovedPermanently:
-        case HTTPStatus::ETemporaryRedirect:
-            // We are attempting to delete a file
-            // with the same name as an existing directory
-            aError = KErrBadName;    
-            break;
-
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: Delete err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextMove
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMove::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextMove*
-CRsfwDavAccessContextMove::NewL(CRsfwDavAccess* aDavAccess,
-                            MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                            const TDesC& aSrcPathName,
-                            const TDesC& aDstPathName,
-                            TBool aOverwrite,
-                            const TDesC8* aSrcLockToken,
-                            const TDesC8* aDstLockToken)
-    {
-    CRsfwDavAccessContextMove* self = new (ELeave) CRsfwDavAccessContextMove;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aSrcPathName,
-                     aDstPathName,
-                     aOverwrite,
-                     aSrcLockToken,
-                     aDstLockToken);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMove::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMove::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aSrcPathName,
-    const TDesC& aDstPathName,
-    TBool aOverwrite,
-    const TDesC8* aSrcLockToken,
-    const TDesC8* aDstLockToken)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iSrcPathName = aSrcPathName;
-    iOverwrite = aOverwrite;
-    iSrcLockToken = aSrcLockToken;
-    iDstLockToken = aDstLockToken;
-    iTryCount = KCommRetries;
-    iRemotePathName = aDstPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMove::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMove::StartL()
-    {
-    DEBUGSTRING(("DAV: Move StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->MoveL(iSrcPathName,
-                                                            iRemotePathName,
-                                                            iOverwrite,
-                                                            iSrcLockToken,
-                                                            iDstLockToken);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMove::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMove::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: Move done"));
-    // move will delete the old file and does not lock the new one
-    // so we just remove the token lock info
-    iDavAccess->RemoveDavFileInfoL(iSrcPathName);
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextMove::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextMove::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: Move raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map protocol specific error codes into Symbian error codes
-        switch (aError)
-            {
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-
-        case HTTPStatus::EConflict: // source file not found
-            aError = KErrNotFound;
-            break;
-        
-        case HTTPStatus::EBadGateway:
-        case HTTPStatus::EForbidden:
-            aError = KErrBadName;
-            break;
-        
-        case HTTPStatus::EPreconditionFailed:
-            // Not performed due to the value of the Overwrite header
-            aError = KErrAlreadyExists;     
-            break;
-
-        case RsfwDavStatus::ELocked:
-            aError = KErrAccessDenied;
-            break;
-            
-        case HTTPStatus::EMovedPermanently:
-        case HTTPStatus::ETemporaryRedirect:
-            // The operation failed as object exists, although its type 
-            // didn't match the type of our parameter (file vs. dir)
-            aError = KErrAlreadyExists;    
-            break;
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: Move err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-    
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextLock
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextLock::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextLock*
-CRsfwDavAccessContextLock::NewL(CRsfwDavAccess* aDavAccess,
-                            MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                            const TDesC& aPathName,
-                            TUint aLockFlags,
-                            TUint& aTimeout,
-                            TDesC8** aLockToken)
-    {
-    CRsfwDavAccessContextLock* self = new (ELeave) CRsfwDavAccessContextLock;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aPathName,
-                     aLockFlags,
-                     aTimeout,
-                     aLockToken);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CRsfwDavAccessContextLock::~CRsfwDavAccessContextLock()
-    {
-    delete iDavFileInfo;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextLock::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextLock::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    TUint aLockFlags,
-    TUint& aTimeout,
-    TDesC8** aLockToken)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iLockFlags = aLockFlags;
-    iTimeout = &aTimeout;
-    iLockToken = aLockToken;
-    iTryCount = KCommRetries;
-    iRemotePathName = aPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextLock::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextLock::StartL()
-    {
-    DEBUGSTRING(("DAV: Lock StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->LockL(iRemotePathName,
-                                                            iLockFlags,
-                                                            *iTimeout,
-                                                            &iDavFileInfo);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextLock::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextLock::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: Lock done"));
-
-    /*
-      Preconditions:
-      - we haven't seen the file at all (there is no fileInfo for it)
-      or
-      - we have cached it and there is fileinfo with a
-      lock token (lock token is never assumed to be valid,
-      if FileEngine decides to call this function)
-    */
-    *iTimeout = iDavFileInfo->Timeout();
-
-    CRsfwDavFileInfo* storedFileInfo = iDavAccess->DavFileInfoL(iRemotePathName);
-    HBufC8* lockToken;
-    if (storedFileInfo)
-        {
-        // Lock operation succesful, set lock timeout
-        if (iDavFileInfo->Name()) 
-            {
-            storedFileInfo->SetNameL(*(iDavFileInfo->Name()));
-            }
-        if (iDavFileInfo->LockToken()) 
-            {
-            storedFileInfo->SetLockTokenL(*(iDavFileInfo->LockToken()));
-            }
-        storedFileInfo->SetTimeout(iDavFileInfo->Timeout());
-        lockToken = storedFileInfo->LockToken();
-        }
-    else 
-        {
-        // new file
-        iDavAccess->AddDavFileInfo(iDavFileInfo);
-        lockToken = iDavFileInfo->LockToken();
-        // Ownership transferred to CRsfwDavAccess
-        iDavFileInfo = NULL;
-        }
-
-    if (iLockToken)
-        {
-        // Allocate and return the lock token to the caller
-        *iLockToken = lockToken->Des().AllocL();
-        }
-    
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextLock::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextLock::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: Lock raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map XML parser errors to KErrCorrupt
-        if ((aError <= EXmlFeatureLockedWhileParsing) &&
-        	(aError >= EXmlParserError)) 
-        	{
-        	aError = EXmlParserError;
-        	}
-        	
-        // Map protocol specific error codes into Symbian error codes
-        switch (aError)
-            {
-        case EXmlParserError:
-        	 aError = KErrCorrupt;
-             break;	
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-
-        case RsfwDavStatus::ELocked:
-            aError = KErrAccessDenied;
-            break;
-            
-        default:
-            MapError(aError);
-            break;
-            }
-
-        // Lock operation not successful.
-        // If we have file info for this let's "reset" relevant parts
-        // DavFileInfoL may leave if the path is over 255 chars
-        // that shouldn't happen anymore here as we have already used the path 
-        CRsfwDavFileInfo* davFileInfo = NULL;
-        TRAPD(err, davFileInfo = iDavAccess->DavFileInfoL(iRemotePathName));
-        if (!err && davFileInfo)
-            {
-            davFileInfo->ResetLockToken();
-            davFileInfo->SetTimeout(0); 
-            }
-        
-        DEBUGSTRING(("DAV: Lock err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-    
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextRefreshLock
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextRefreshLock::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextRefreshLock* CRsfwDavAccessContextRefreshLock::NewL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    const TDesC8*  aLockToken,
-    TUint& aTimeout)
-    {
-    CRsfwDavAccessContextRefreshLock* self =
-        new (ELeave) CRsfwDavAccessContextRefreshLock;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aPathName,
-                     aLockToken,
-                     aTimeout);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CRsfwDavAccessContextRefreshLock::~CRsfwDavAccessContextRefreshLock()
-    {
-    delete iDavFileInfo;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextRefreshLock::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextRefreshLock::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    const TDesC8* aLockToken,
-    TUint& aTimeout)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iPathName = aPathName;
-    iLockToken = aLockToken;
-    iTimeout = &aTimeout;
-    iTryCount = KCommRetries;
-    
-    // set remotepathname to null, so that this request cannot be cancelled
-    // cancellations come from the UI and this is internal to RFE
-    iRemotePathName = KNullDesC;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextRefreshLock::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextRefreshLock::StartL()
-    {
-    DEBUGSTRING(("DAV: RefreshLock StartL"));
-    iWebDavTransaction =
-        iDavAccess->
-        WebDavSession()->
-        RefreshLockL(iPathName,
-                     *iTimeout,
-                     iLockToken,
-                     &iDavFileInfo);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextRefreshLock::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextRefreshLock::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: RefreshLock done"));
-
-    // The server may have changed the timeout,
-    *iTimeout = iDavFileInfo->Timeout();
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextRefreshLock::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextRefreshLock::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: RefreshLock raw err=%d", aError));
-    if ((aError == KErrCommsLineFail) ||
-// ?       (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {            
-        // Map XML parser errors to KErrCorrupt
-        if ((aError <= EXmlFeatureLockedWhileParsing) &&
-        	(aError >= EXmlParserError)) 
-        	{
-        	aError = EXmlParserError;
-        	}
-        	
-        // Map protocol specific error codes into Symbian error codes
-        switch (aError)
-            {
-        case EXmlParserError:
-        	 aError = KErrCorrupt;
-             break;	
-        case HTTPStatus::ENotFound:
-            aError = KErrNotFound;
-            break;
-
-        case HTTPStatus::EPreconditionFailed:
-            aError = KErrArgument;
-            break;
-
-        case RsfwDavStatus::ELocked:
-            aError = KErrLocked;
-            break;
-            
-        default:
-            MapError(aError);
-            break;
-            }
-
-        DEBUGSTRING(("DAV: RefreshLock err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-    
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-// CRsfwDavAccessContextUnlock
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextUnlock::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavAccessContextUnlock*
-CRsfwDavAccessContextUnlock::NewL(CRsfwDavAccess* aDavAccess,
-                              MRsfwRemoteAccessResponseHandler* aResponseHandler,
-                              const TDesC& aPathName,
-                              const TDesC8* aLockToken)
-    {
-    CRsfwDavAccessContextUnlock* self = new (ELeave) CRsfwDavAccessContextUnlock;
-    CleanupStack::PushL(self);
-    self->ConstructL(aDavAccess,
-                     aResponseHandler,
-                     aPathName,
-                     aLockToken);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextUnlock::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextUnlock::ConstructL(
-    CRsfwDavAccess* aDavAccess,
-    MRsfwRemoteAccessResponseHandler* aResponseHandler,
-    const TDesC& aPathName,
-    const TDesC8* aLockToken)
-    {
-    iDavAccess = aDavAccess;
-    iResponseHandler = aResponseHandler;
-    iLockToken = aLockToken;
-    iTryCount = KCommRetries;
-    iRemotePathName = aPathName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextUnlock::StartL
-// Submit the WebDAV transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextUnlock::StartL()
-    {
-    DEBUGSTRING(("DAV: Unlock StartL"));
-    iWebDavTransaction = iDavAccess->WebDavSession()->UnlockL(iRemotePathName,
-                                                              iLockToken);
-    SubmitL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextUnlock::TransactionCompleteL
-// Handle a successfully completed transaction
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextUnlock::TransactionCompleteL()
-    {
-    DEBUGSTRING(("DAV: Unlock done"));
-
-    // Remove the lock
-    CRsfwDavFileInfo* davFileInfo = iDavAccess->DavFileInfoL(iRemotePathName);
-    if (davFileInfo)
-        {
-        davFileInfo->ResetFlag(TRsfwDavFileInfoFlags::EUnlockPending);
-        davFileInfo->ResetLockToken();
-        iDavAccess->RemoveDavFileInfoL(iRemotePathName);
-        } 
-
-    iStatus = KErrNone;
-    iDone = ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavAccessContextUnlock::TransactionError
-// Handle a transaction fault
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavAccessContextUnlock::TransactionError(TInt aError)
-    {
-    DEBUGSTRING(("DAV: Unlock raw err=%d", aError));
-    
-    // Currently we don't remove the lock token (CRsfwDavFileInfo struct)
-    // if UNLOCK returns an error for some reason.
-    // If lock timeouts are smallish, deleting would make sense
-    // as the lock may have timed out in which case server returns an
-    // error for UNLOCK and our client might not even care about
-    // the result of UNLOCK.
-    // In this case we have a risk of unwanted never-to-be-deleted
-    // CRsfwDavFileInfos.
-    // On the other hand,
-    // if infinite timeout is used, the current behaviour is better 
-    // (if UNLOCK fails for some reason the client must re-try).
-    
-    // at least remove 'unlock pending' flag
-    CRsfwDavFileInfo* davFileInfo = NULL;
-    TRAP_IGNORE(davFileInfo = iDavAccess->DavFileInfoL(iRemotePathName));
-    
-    if (davFileInfo)
-        {
-        davFileInfo->ResetFlag(TRsfwDavFileInfoFlags::EUnlockPending);
-        } 
-    
-    if ((aError == KErrCommsLineFail) ||
-        (aError == KErrNotReady) ||
-        (aError == KErrDisconnected))
-        {
-        iTryCount--;
-        }
-    else
-        {
-        // Map protocol specific error codes into Symbian error codes
-        MapError(aError);
-        DEBUGSTRING(("DAV: Unlock err=%d", aError));
-        iStatus = aError;
-        iTryCount = 0;
-        }
-    
-    if (iTryCount)
-        {
-        DEBUGSTRING(("DAV: Retry %d", iTryCount));
-        Retry();
-        }
-    else
-        {
-        iStatus = aError;
-        iDone = ETrue;
-        }
-    }
-
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwdavfileinfo.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Maintain WebDAV info about resources
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwdavfileinfo.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-CRsfwDavFileInfo* CRsfwDavFileInfo::NewL()
-    {
-    return new (ELeave) CRsfwDavFileInfo();
-    }
-
-
-CRsfwDavFileInfo::~CRsfwDavFileInfo()
-    {
-    delete iName;
-    delete iLockToken;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::Name
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwDavFileInfo::Name()
-    {
-    return iName;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::SetNameL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::SetNameL(const TDesC& aName)
-    {
-    SetL(iName, aName);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::LockToken
-// ----------------------------------------------------------------------------
-//
-HBufC8* CRsfwDavFileInfo::LockToken()
-    {
-    if (iFlags & TRsfwDavFileInfoFlags::EUnlockPending)
-        {
-        return NULL;
-        }
-    return iLockToken;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::SetLockTokenL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::SetLockTokenL(const TDesC8& aLockToken)
-    {
-    SetL(iLockToken, aLockToken);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::ResetLockToken
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::ResetLockToken()
-    {
-    delete iLockToken;
-    iLockToken = NULL;
-    iFlags &= ~TRsfwDavFileInfoFlags::EUnlockPending;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::Timeout
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavFileInfo::Timeout()
-    {
-    return iTimeout;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::SetTimeout
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::SetTimeout(TUint aTimeout)
-    {
-    iTimeout = aTimeout;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::IsFlag
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwDavFileInfo::IsFlag(TUint aFlag)
-    {
-    return iFlags & aFlag != 0;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::SetFlag
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::SetFlag(TUint aFlag)
-    {
-    iFlags |= aFlag;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::ResetFlag
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::ResetFlag(TUint aFlag)
-    {
-    iFlags &= ~aFlag;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::SetL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::SetL(HBufC8*& aDst, const TDesC8& aSrc)
-    {
-    if (!aDst)
-        {
-        aDst  = HBufC8::NewMaxL(aSrc.Length());
-        *aDst = aSrc;
-        }
-    else if (aSrc.Length() > aDst->Length())
-        {
-        aDst  = aDst->ReAllocL(aSrc.Length()); // expand
-        *aDst = aSrc;
-        }
-    else
-        {
-        *aDst = aSrc;
-        if (aSrc.Length() < aDst->Length())
-            {
-            aDst = aDst->ReAllocL(aSrc.Length()); // reclaim space
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavFileInfo::SetL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavFileInfo::SetL(HBufC*& aDst, const TDesC& aSrc)
-    {
-    if (!aDst)
-        {
-        aDst  = HBufC::NewMaxL(aSrc.Length());
-        *aDst = aSrc;
-        }
-    else if (aSrc.Length() > aDst->Length())
-        {
-        aDst  = aDst->ReAllocL(aSrc.Length()); // expand
-        *aDst = aSrc;
-        }
-    else
-        {
-        *aDst = aSrc;
-        if (aSrc.Length() < aDst->Length())
-            {
-            aDst = aDst->ReAllocL(aSrc.Length()); // reclaim space
-            }
-        }
-    }
-
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwdavproxy.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  ECOM proxy for DavAccess
- *
-*/
-
-
-// INCLUDE FILES
-//#include <e32std.h>
-#include <implementationproxy.h>
-#include "rsfwdavaccess.h"
-
-// CONSTANTS
-// Map the interface UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-    {
-        {{0x101F9769}, (TProxyNewLPtr)CRsfwDavAccess::NewL}
-    };
-
-// ========================== OTHER EXPORTED FUNCTIONS ========================
-
-// ----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Exported proxy for instantiation method resolution
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy*
-ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    
-    return ImplementationTable;
-    }
-
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwdavsession.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1322 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  API for WebDAV operations
- *
-*/
-
-
-// INCLUDE FILES
-#include <httpstringconstants.h>
-#include <http/rhttpheaders.h>
-#include <escapeutils.h>
-#include <xml/matchdata.h>
-
-#include "rsfwdavsession.h"
-#include "rsfwdavtransaction.h"
-#include "rsfwconnectionmanager.h"
-#include "rsfwpropfindparser.h"
-#include "rsfwlockqueryparser.h"
-#include "mdebug.h"
-
-// CONSTANTS
-// characters that will be encoded in the url
-_LIT8(KSpecials8, " \"<>#%{}|\\^~[]`");
-
-// ============================ MEMBER FUNCTIONS ==============================
-CRsfwDavSession* CRsfwDavSession::NewL(
-    MRsfwDavResponseObserver* aWebDavResponseObserver,
-    MRsfwConnectionObserver* aRsfwConnectionObserver)
-    {
-    CRsfwDavSession* self = new (ELeave) CRsfwDavSession;
-    CleanupStack::PushL(self);
-    self->ConstructL(aWebDavResponseObserver, aRsfwConnectionObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CRsfwDavSession::ConstructL(
-    MRsfwDavResponseObserver* aWebDavResponseObserver,
-    MRsfwConnectionObserver* aRsfwConnectionObserver)
-    {
-    DEBUGSTRING(("DavSess: ConstructL: enter"));
-    User::LeaveIfError(iFs.Connect());
-    iWebDavResponseObserver = aWebDavResponseObserver;
-    iRsfwConnectionObserver = aRsfwConnectionObserver;
-
-    // Create classes needed for parsing PropFind and Lock request replies
-    // Creating these later seems to cause emulator hang-ups.
-    // If the problem does not exist in the real device we may want to
-    // delay especially Lock parser creation as locking may not be used at all.
-    Xml::CMatchData* matchData = Xml::CMatchData::NewLC();
-	matchData->SetMimeTypeL(KTextXml);
-	// Select libxml2 parsesr
-	matchData->SetVariantL(_L8("libxml2"));
-	// Select Symbian XML Parser (=Expat)
-//	matchData->SetVariantL(_L8("Symbian"));
-    iPropFindParserImpl = CRsfwPropFindParser::NewL();
-    iPropFindParser = Xml::CParser::NewL(*matchData, *iPropFindParserImpl);
-    iLockQueryParserImpl = CRsfwLockQueryParser::NewL();
-    iLockQueryParser = Xml::CParser::NewL(*matchData, *iLockQueryParserImpl);
-    CleanupStack::PopAndDestroy(matchData);
-
-    // Open the RHTTPSession
-    iHttpSession.OpenL();
-    iHttpSession.FilterCollection().RemoveFilter( 
-            iHttpSession.StringPool().StringF( HTTP::EAuthentication, RHTTPSession::GetTable() ));
-    // Install this class as the callback for authentication requests:
-    // it will take care of basic/digest auth, SSL
-    InstallAuthenticationL(iHttpSession);
-    DEBUGSTRING(("auth filter installed"));
-    }
-
-CRsfwDavSession::~CRsfwDavSession()
-    {
-    DEBUGSTRING(("CRsfwDavSession::~CRsfwDavSession"));
-    delete iPropFindParser;
-    delete iPropFindParserImpl;
-    delete iLockQueryParser;
-    delete iLockQueryParserImpl;
-    delete iEncodedHost;
-    if (iUserName) 
-    {
-    	delete iUserName;	
-    }
-    if (iPassword) 
-    {
-    	delete iPassword;
-    }
-  	iHttpSession.Close();
-  	delete iRsfwConnectionManager;
-    iFs.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetConnected
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetConnected(TBool aConnected)
-    {
-    iConnected = aConnected;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetWebDavSupportClass
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetWebDavSupportClass(TInt aWebDavSupportClass)
-    {
-    iWebDavSupportClass = aWebDavSupportClass;
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::WebDavSupportClass
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavSession::WebDavSupportClass()
-    {
-    return iWebDavSupportClass;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::OpenL
-// After calling this function, use options query
-// to trigger TCP level connection.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::OpenL(const TDesC& aUri,
-                           TInt aPort,
-                           const TDesC& aUserName,
-                           const TDesC& aPassword,
-                           const TDesC& aAuxData)
-    {
-    // Store connection parameters
-    iHost.Zero();
-    iDavRoot.Zero();
-
-    // Here we add the port using a simple approach:
-    // it needs to go after http://name/
-    TInt slashCnt = 0;
-    TInt cnt = 0;
-    while (cnt < aUri.Length())
-        {
-        TChar ch = aUri[cnt++];
-        if (ch == '/')
-            {
-            slashCnt++;
-            if (slashCnt == 3)
-                {
-                iHost.Append(':');
-                iHost.AppendNum(aPort);
-                // At this point we know that
-                // the remainder of the uri is the root directory
-                }  
-            }
-
-        if (slashCnt > 2)
-            {
-            iDavRoot.Append(ch);
-            }
-        else
-            {
-            iHost.Append(ch);
-            }
-        }
-    // We elso need an encoded form of the host part
-    iEncodedHost = EncodeL(iHost.Right(iHost.Length() - KProtocolPrefix));
-
-    // iDavRoot must be a directory, and thus should end with a slash
-    Slashify(iDavRoot);
-
-    // Make the pair
-    iHostRoot.Copy(iHost);
-    iHostRoot.Append(iDavRoot);
-
-    // Assume that the parameters are constant and stable across the session
-    iUserName = EncodeL(aUserName);
-    iPassword = EncodeL(aPassword);
-    iAuxData.Copy(aAuxData);
-
-    DEBUGSTRING16(("connecting to host='%S', port=%d, root='%S', data=%S",
-                   &iHost,
-                   aPort,
-                   &iDavRoot,
-                   &iAuxData));
-
-   if (iAuxData.Length() == 0) 
-   {
-   		// in case of empty access point info, set it to '?' (ask user)
-   		_LIT(KAskUser, "?");
-   		iAuxData.Copy(KAskUser);
-   }
-   
-   if (!iRsfwConnectionManager)
-   		{
-        iRsfwConnectionManager =
-             CRsfwConnectionManager::NewL(iRsfwConnectionObserver);
-        iRsfwConnectionManager->UseIapL(aAuxData);
-        }
-        
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::OptionsL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::OptionsL()
-    {
-    TPtrC null;
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(null, EFalse, &uriParser);
-
-    DEBUGSTRING8(("OPTIONS '%S'", &uriParser.UriDes()));
-
-    // Establish a link-layer connection
-    if (iRsfwConnectionManager)
-        {
-        SetupConnectionL();
-        }
-
-    RStringPool stringPool = StringPool();
-
-    // Introducing the webdav headers for the propfind
-    RStringF mOptions = stringPool.OpenFStringL(KWebDavOptions);
-    CleanupClosePushL(mOptions);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpOptions,
-                                 uriParser,
-                                 mOptions,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(); // mOptions
-    CleanupStack::PushL(webDavTransaction);
-
-    RHTTPHeaders hdr = webDavTransaction->
-        HttpTransaction().Request().GetHeaderCollection(); 
- 
- 	SetBasicHeadersL(hdr, uriParser, ETrue);
- 	
-    CleanupStack::Pop(2); //webDavTransaction, uri
-    delete uri;
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::PropFindL
-// Implements WebDAV PROPFIND method.
-// Parameters: Name of the directory or file
-//             CRsfwDirEnt pointer array to be filled with directory metadata
-//             PROPFIND depth
-//             aIsDir, is this directory or file,
-//                     some extra checks are made based on this...
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::PropFindL(const TDesC &aPath,
-                                              TInt aDepth,
-                                              TBool aIsDir,
-                                              RPointerArray<CRsfwDirEnt>& aDirEnts)
-    {
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aPath, aIsDir, &uriParser);
-
-    DEBUGSTRING8(("PROPFIND '%S'", &uriParser.UriDes()));
- 
-    // This function is used from several places
-    TWebDavOp op;
-    if (aDepth == 1)
-        {
-        op = EWebDavOpPropFindMulti;
-        }
-    else // (aDepth == 0)
-        {
-        op = EWebDavOpPropFindSingle;  
-        }
-
-    RStringPool stringPool = StringPool();
-    RStringF mPropFind = stringPool.OpenFStringL(KWebDavPropFind);
-    CleanupClosePushL(mPropFind);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 op,
-                                 uriParser,
-                                 mPropFind,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(); // mPropFind
-    CleanupStack::PushL(webDavTransaction);
-
-    RHTTPHeaders hdr = webDavTransaction->
-        HttpTransaction().Request().GetHeaderCollection();
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    SetHeaderL(hdr, HTTP::EContentType, KTextXml);
-
-    // Assumes that the target uri has been cached in an earlier connect
-    SetDepthHeaderL(hdr, aDepth);
-
-    // XML body
-    HBufC8* requestBodyBuffer = HBufC8::NewL(KDefaultSubmitSize);
-    TPtr8 requestBodyBufferPtr = requestBodyBuffer->Des();
-
-    // To make things at least little bit faster,
-    // let's try to get "minimal" set
-    // Maybe useful one day:
-    // - <D:getcontentlanguage/>
-    // - <D:creationdate/>
-    // Apache mod_dav 1.0.3 doesn't support:
-    //  - <D:displayname/>
-    _LIT8(KPropFindRequestBody, "\
-<?xml version=\"1.0\"?>\
-<propfind xmlns=\"DAV:\">\
-<prop>\
-<getcontenttype/>\
-<getlastmodified/>\
-<getcontentlength/>\
-<resourcetype/>\
-<getetag/>\
-</prop>\
-</propfind>\
-");
-    requestBodyBufferPtr.Append(KPropFindRequestBody);
-    webDavTransaction->SetBodyData(requestBodyBuffer);
-
-    webDavTransaction->SetPropFindDirEntryArray(aDirEnts);
-    // We must remember the work directory,
-    // as we don't want to list that when building directory listing.
-    HBufC* propFindPath = HBufC::NewL(iHostRoot.Length() +
-                                       KMaxPath +
-                                       1);
-    TPtr propFindPathPtr = propFindPath->Des();
-    propFindPathPtr.Copy(iDavRoot);
-    propFindPathPtr.Append(aPath);
-    // The whole path must end with a slash
-    Slashify(propFindPathPtr);
-    // Before comparing the path from the server is decoded,
-    // so we can compare against the original 16-bit string.
-    webDavTransaction->SetPropFindPath(propFindPath);
-    CleanupStack::Pop(2); // webdavtransaction, uri
-    delete uri;
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::GetL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::GetL(const TDesC& aSrcPath,
-                                         const TDesC& aDstPath,
-                                         TInt aOffset,
-                                         TInt* aLength,
-                                         TUint aFlags)
-    {
-    // Basically just a HTTP get with some local processing
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aSrcPath, EFalse, &uriParser);
-
-#ifdef _DEBUG
-    {
-    TInt length;
-    if (aLength)
-        {
-        length = *aLength;
-        }
-    else
-        {
-        length = 0;
-        }
-    DEBUGSTRING8(("GET '%S' (off=%d, len=%d)",
-                  &uriParser.UriDes(),
-                  aOffset,
-                  length));
-    }
-#endif // DEBUG
-
-    // Introducing the webdav headers for GET
-    RStringPool stringPool = StringPool();
-    RStringF mGet = stringPool.StringF(HTTP::EGET,
-                                       RHTTPSession::GetTable());  
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpGet,
-                                 uriParser,
-                                 mGet,
-                                 NextWebDavTransactionId());
-    CleanupStack::PushL(webDavTransaction);
-
-    // Not sure if this is needed: we are setting conditions
-    // which mod_dav never gets, cos this is a GET..
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection();
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    if (aLength && (*aLength > 0)) // partial get
-        {
-        TBuf8<KMaxFieldValueLength> rangeHeader;
-        _LIT8(KBytesEquals, "bytes=");
-        rangeHeader.Append(KBytesEquals);
-        rangeHeader.AppendNum(aOffset);
-        rangeHeader.Append('-');
-        rangeHeader.AppendNum(aOffset + *aLength - 1);
-        SetHeaderL(hdr, HTTP::ERange, rangeHeader);
-        }
-
-    webDavTransaction->SetBodyFileL(aDstPath, aOffset, aLength, aFlags);
-    CleanupStack::Pop(webDavTransaction);
-    CleanupStack::PopAndDestroy(uri);
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::PutL
-// This amounts to a PUT sending the src data to the destination.
-// Expects that the aSrcPath param is relative to iDavRoot.
-// If aSrcPath is empty, an empty file will be created.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::PutL(const TDesC& aSrcPath,
-                                         const TDesC& aDstPath,
-                                         const TDesC8& aMimeType,
-                                         TInt aOffset,
-                                         TInt aLength,
-                                         TInt aTotalLength,
-                                         TBool aUseContentRange,
-                                         const TDesC8* aLockToken)
-    {  
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aDstPath, EFalse, &uriParser);
-
-    DEBUGSTRING8(("PUT '%S'", &uriParser.UriDes()));
-
-    RStringPool stringPool = StringPool();
-    RStringF mPut = stringPool.OpenFStringL(KWebDavPut);
-    CleanupClosePushL(mPut);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpPut,
-                                 uriParser,
-                                 mPut,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(); // mPut
-    CleanupStack::PushL(webDavTransaction);
-
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection(); 
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);  
-    SetHeaderL(hdr, HTTP::EContentType, aMimeType);
-
-    if (aLength > 0) // partial put
-        {
-        if (aUseContentRange)
-            {
-            TBuf8<KMaxFieldValueLength> rangeHeader;
-            _LIT8(KBytes, "bytes ");
-            rangeHeader.Append(KBytes);
-            rangeHeader.AppendNum(aOffset);
-            rangeHeader.Append('-');
-            rangeHeader.AppendNum(aOffset + aLength - 1);
-            rangeHeader.Append('/');
-            if (aTotalLength == 0) 
-                {
-                // The asterisk "*" character means that 
-                // the instance-length is unknown at the time when 
-                // the message was generated. 
-                rangeHeader.Append('*');
-                }
-            else
-                {
-                rangeHeader.AppendNum(aTotalLength);
-                }
-            SetHeaderL(hdr, HTTP::EContentRange, rangeHeader);
-            }
-        else
-            {
-            // server doesn't support Content-Range
-            // Leave with KrrNotSupported
-            // *aLength = aTotalLength;
-            }  
-        }
-
-    if (aLockToken)
-        {  
-        SetLockTokenHeaderL(hdr, uri, aLockToken, ETrue);
-        }
-
-    webDavTransaction->SetBodyFileL(aSrcPath, aOffset, &aLength, 0);
-    CleanupStack::Pop(webDavTransaction);
-    CleanupStack::PopAndDestroy(uri);
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::DeleteL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::DeleteL(const TDesC& aPath,
-                                            TBool aIsDir,
-                                            const TDesC8* aLockToken)
-    {
-    // Needs to take locking into account
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aPath, aIsDir, &uriParser);
-
-    DEBUGSTRING8(("DELETE '%S'", &uriParser.UriDes()));
-
-    RStringPool stringPool = StringPool();
-    RStringF mDelete = stringPool.OpenFStringL(KWebDavDelete);
-    CleanupClosePushL(mDelete);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpDelete,
-                                 uriParser,
-                                 mDelete,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(); // mDelete
-    CleanupStack::PushL(webDavTransaction);
-
-    // need to add a special dir on the i
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection(); 
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    if (aLockToken)
-        {
-        SetLockTokenHeaderL(hdr, uri, aLockToken, ETrue); 
-        }
-
-    CleanupStack::Pop(webDavTransaction);
-    CleanupStack::PopAndDestroy(uri);
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::MkDirL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::MkDirL(const TDesC& aPath)
-    {
-    // Executes a MKCOL with the specified name
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aPath, ETrue, &uriParser);
-
-    DEBUGSTRING8(("MKCOL '%S'", &uriParser.UriDes()));
-
-    RStringPool stringPool = StringPool();
-    RStringF mMkCol = stringPool.OpenFStringL(KWebDavMkCol);
-    CleanupClosePushL(mMkCol);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpMkCol,
-                                 uriParser,
-                                 mMkCol,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(1); // mMkCol
-    CleanupStack::PushL(webDavTransaction);
-
-    // Neeed to add a special dir on the i
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection(); 
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    CleanupStack::Pop(2); // webDavTransaction, uri
-    delete uri;
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::MoveL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::MoveL(const TDesC& aOldPath,
-                                          const TDesC& aNewPath,
-                                          TBool aOverwrite,
-                                          const TDesC8* aSrcLockToken,
-                                          const TDesC8* aDstLockToken)
-    {
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParserNew;
-    HBufC8* uriNew = BuildUriLC(aNewPath, EFalse, &uriParserNew);
-    TUriParser8 uriParserOld;
-    HBufC8* uriOld = BuildUriLC(aOldPath, EFalse, &uriParserOld);
-
-    DEBUGSTRING8(("MOVE '%S' to '%S'",
-                  &uriParserOld.UriDes(),
-                  &uriParserNew.UriDes()));
-
-    RStringPool stringPool = StringPool();
-    RStringF mMove = stringPool.OpenFStringL(KWebDavMove);
-    CleanupClosePushL(mMove);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpMove,
-                                 uriParserOld,
-                                 mMove,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(); // mMove
-    CleanupStack::PushL(webDavTransaction);
-
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection();
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParserOld, ETrue);
-    
-    if (aSrcLockToken)
-        {
-        SetLockTokenHeaderL(hdr, uriOld, aSrcLockToken, ETrue);
-        }
-    
-    
-     if (aDstLockToken)
-        {
-        SetLockTokenHeaderL(hdr, uriNew, aDstLockToken, ETrue);
-        }      
-        
-    SetHeaderL(hdr, KWebDavDest, *uriNew);
-    if (aOverwrite)
-        {
-        SetHeaderL(hdr, KWebDavOverwrite, KWebDavOverwriteY);
-        }
-    else
-        {
-        SetHeaderL(hdr, KWebDavOverwrite, KWebDavOverwriteN);
-        }
-
-    CleanupStack::Pop(webDavTransaction);
-    CleanupStack::PopAndDestroy(2, uriNew);   // uriOld, uriNew
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::LockL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::LockL(const TDesC& aPath,
-                                          TUint aFlags,
-                                          TUint aTimeout,
-                                          CRsfwDavFileInfo** aDavFileInfo)
-    {
-    // Opens LOCK transaction
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aPath, EFalse, &uriParser);
-
-    DEBUGSTRING8(("LOCK '%S' (%d seconds)", &uriParser.UriDes(), aTimeout));
-
-    RStringPool stringPool = StringPool();
-    RStringF mLock = stringPool.OpenFStringL(KWebDavLock);
-    CleanupClosePushL(mLock);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpLock,
-                                 uriParser,
-                                 mLock,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(&mLock);
-    CleanupStack::PushL(webDavTransaction);
-
-    // headers
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection(); 
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    SetHeaderL(hdr, HTTP::EContentType, KTextXml);
-
-    HBufC8* timeoutBuffer = HBufC8::NewLC(KMaxFieldValueLength);
-    TPtr8 timeoutBufferPtr = timeoutBuffer->Des();
-    timeoutBufferPtr.Append(KSecondDash);
-    if (aTimeout != 0)
-        {
-        timeoutBufferPtr.AppendNum(aTimeout);
-        }
-    SetHeaderL(hdr, KWebDavTimeout, timeoutBufferPtr);
-    CleanupStack::PopAndDestroy(timeoutBuffer);
-
-    // XML body
-    HBufC8* requestBodyBuffer = HBufC8::NewL(KDefaultSubmitSize);
-    TPtr8 requestBodyBufferPtr = requestBodyBuffer->Des();
-
-    // Note: locktype "write" is currently the only legal value
-    _LIT8(KLockHeaderFormat, "\
-<?xml version=\"1.0\" encoding=\"utf-8\" ?>\
-<D:lockinfo xmlns:D=\"DAV:\">\
-<D:lockscope><D:%S/></D:lockscope>\
-<D:locktype><D:write/></D:locktype>\
-<D:owner xmlns:x=\"http://www.webdav.org/\">\
-<x:lock-user>%S</x:lock-user>\
-<x:created-by>%S</x:created-by>\
-</D:owner>\
-</D:lockinfo>");
-
-    _LIT8(KLockScopeShared, "shared");
-    _LIT8(KLockScopeExclusive, "exclusive");
-    TPtrC8 lockScope;
-    if (aFlags & EFileShareAny)
-        {
-        lockScope.Set(KLockScopeShared);
-        }
-    else
-        {
-        lockScope.Set(KLockScopeExclusive);
-        }
-     
-    requestBodyBufferPtr.Format(KLockHeaderFormat, &lockScope, iUserName, iUserName);
-    webDavTransaction->SetBodyData(requestBodyBuffer);
-
-    HBufC* fileInfoPath = BuildFullPathLC(aPath, EFalse);
-    webDavTransaction->SetDavFileInfoL(aDavFileInfo, *fileInfoPath);
-    CleanupStack::PopAndDestroy(fileInfoPath);
-    CleanupStack::Pop(webDavTransaction);
-    CleanupStack::PopAndDestroy(uri);
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::UnlockL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::UnlockL(const TDesC& aPath,
-                                            const TDesC8* aLockToken)
-    {
-    // Opens LOCK transaction
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    if (iWebDavSupportClass < KDavVersionTwo)
-        {
-        User::Leave(KErrNotSupported);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aPath, EFalse, &uriParser);
-
-    DEBUGSTRING8(("UNLOCK '%S'", &uriParser.UriDes()));
-
-    RStringPool stringPool = StringPool();
-    RStringF mUnlock = stringPool.OpenFStringL(KWebDavUnlock);
-    CleanupClosePushL(mUnlock);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpUnlock,
-                                 uriParser,
-                                 mUnlock,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(); // mUnlock
-    CleanupStack::PushL(webDavTransaction);
-
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection(); 
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    HBufC8* lockToken = HBufC8::NewLC(aLockToken->Length() +
-                                      KLockTokenOverhead);
-    TPtr8 lockTokenPtr = lockToken->Des();
-    lockTokenPtr.Append('<');
-    lockTokenPtr.Append(*aLockToken);
-    lockTokenPtr.Append('>');
-    SetHeaderL(hdr, KWedDavLockToken, lockTokenPtr);
-    CleanupStack::PopAndDestroy(lockToken);
-
-    CleanupStack::Pop(2); // webdavtransaction , uri
-    delete uri;
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::RefreshLockL
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavSession::RefreshLockL(const TDesC& aPath,
-                                                 TUint aTimeout,
-                                                 const TDesC8* aLockToken,
-                                                 CRsfwDavFileInfo** aDavFileInfo)
-    {
-    // Opens LOCK transaction
-    if (!IsConnected())
-        {
-        User::Leave(KErrNotReady);
-        }
-
-    if (iWebDavSupportClass < KDavVersionTwo)
-        {
-        User::Leave(KErrNotSupported);
-        }
-
-    TUriParser8 uriParser;
-    HBufC8* uri = BuildUriLC(aPath, EFalse, &uriParser);
-
-    DEBUGSTRING8(("LOCK (refresh) '%S' (%d seconds)",
-                  &uriParser.UriDes(),
-                  aTimeout));
-
-    RStringPool stringPool = StringPool();
-    RStringF mLock = stringPool.OpenFStringL(KWebDavLock);
-    CleanupClosePushL(mLock);
-    CRsfwDavTransaction* webDavTransaction =
-        CRsfwDavTransaction::NewL(this,
-                                 EWebDavOpRefreshLock,
-                                 uriParser,
-                                 mLock,
-                                 NextWebDavTransactionId());
-    CleanupStack::PopAndDestroy(&mLock);
-    CleanupStack::PushL(webDavTransaction);
-
-    RHTTPHeaders hdr =
-        webDavTransaction->HttpTransaction().Request().GetHeaderCollection(); 
-
-    // Add headers appropriate to all methods
-    SetBasicHeadersL(hdr, uriParser, ETrue);
-
-    // do not use tagged lock token, as refresh 'If' header 
-    // should always contain only a single lock token 
-    // (only one lock may be refreshed at a time).
-    SetLockTokenHeaderL(hdr, uri, aLockToken, EFalse);
-
-    HBufC8* timeoutBuffer = HBufC8::NewLC(KMaxFieldValueLength);
-    TPtr8 timeoutBufferPtr = timeoutBuffer->Des();
-    timeoutBufferPtr.Append(KSecondDash);
-    if (aTimeout != 0)
-        {
-        timeoutBufferPtr.AppendNum(aTimeout);
-        }
-    SetHeaderL(hdr, KWebDavTimeout, timeoutBufferPtr);
-    CleanupStack::PopAndDestroy(timeoutBuffer);
-
-    HBufC* fileInfoPath = BuildFullPathLC(aPath, EFalse);
-    webDavTransaction->SetDavFileInfoL(aDavFileInfo, *fileInfoPath);
-    CleanupStack::PopAndDestroy(fileInfoPath);
-    CleanupStack::Pop(webDavTransaction);
-    CleanupStack::PopAndDestroy(uri);
-    return webDavTransaction;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::GetCredentialsL
-// From MHTTPAuthenticationCallback
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwDavSession::GetCredentialsL(const TUriC8& /* aURI */,
-                                      RString aRealm,
-                                      RStringF /*aAuthenticationType*/,
-                                      RString& aUserName,
-                                      RString& aPassword)
-    {
-    // if we have not tried to send the current credentials once,
-    // and we have at least username proceed, othwise return KErrAccessDenied
-    if (iCredentialRequestCount || (!iUserName))
-        {
-        iCredentialRequestCount = 0;
-        User::Leave(KErrAccessDenied);
-        }
-    iCredentialRequestCount++;
-
-    TRAPD(err, aUserName = aRealm.Pool().OpenStringL(*iUserName));
-    if (!err)
-        {
-        TRAP(err, aPassword = aRealm.Pool().OpenStringL(*iPassword));
-        if (!err)
-            {
-            return ETrue;
-            }
-        }  
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetHeaderL
-// Convenience method for setting up the header.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetHeaderL(RHTTPHeaders aHeaders,
-                                TInt aHdrField,
-                                const TDesC8& aHdrValue)
-    {
-    RStringF valStr = StringPool().OpenFStringL(aHdrValue);
-    CleanupClosePushL(valStr);
-    THTTPHdrVal val(valStr);
-    aHeaders.SetFieldL(
-        StringPool().StringF(aHdrField, RHTTPSession::GetTable()), val);
-    CleanupStack::PopAndDestroy(&valStr);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetHeaderL
-// Convenience method for setting up the header.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetHeaderL(RHTTPHeaders aHeaders,
-                                const TDesC8& aHdrName,
-                                const TDesC8& aHdrValue)
-    {
-    RStringF nameStr = StringPool().OpenFStringL(aHdrName);
-    CleanupClosePushL(nameStr);
-    RStringF valueStr = StringPool().OpenFStringL(aHdrValue);
-    CleanupClosePushL(valueStr);
-    THTTPHdrVal value(valueStr);
-    aHeaders.SetFieldL(nameStr, value);
-    CleanupStack::PopAndDestroy(2); // valueStr, nameStr
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetBasicHeadersL
-// Convenience method for setting up the header.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetBasicHeadersL(RHTTPHeaders aHeaders, 
-                                       const TUriC8& aUri,
-                                       TBool aNoProxy)
-    {
-    // Add headers appropriate to all methods
-    SetHeaderL(aHeaders, HTTP::EUserAgent, KUserAgent);
-    SetHeaderL(aHeaders, HTTP::EAccept, KAccept);
-    // do not send host header if using SSL (not supported currently)
-    TPtrC8 scheme;
-    if (aUri.IsPresent(EUriScheme))
-        {
-        scheme.Set(aUri.Extract(EUriScheme));
-        }
-    if (scheme.CompareF(KHttpsScheme8) != 0) 
-    	{
-    	SetHeaderL(aHeaders, HTTP::EHost, *iEncodedHost);
-    	}
-    SetHeaderL(aHeaders, HTTP::EConnection, KKeepAlive);
-    if (aNoProxy) 
-        {
-        // see RFC 2518 10.4.5 If Header and Non-DAV Aware Proxies
-        // "As in general clients may not be able to reliably detect 
-        // non-DAV aware intermediates, they are advised to always 
-        // prevent caching using the request directives mentioned above."
-        SetHeaderL(aHeaders, HTTP::EPragma, KWebDavNoProxy);
-        SetHeaderL(aHeaders, HTTP::ECacheControl, KWebDavNoProxy);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetDepthHeaderL
-// Some DAV requests require this for specifying depth of copies etc.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetDepthHeaderL(RHTTPHeaders aHeaders, TInt aDepth)
-    {
-    RStringF depthStr = StringPool().OpenFStringL(KWebDavDepth);
-    CleanupClosePushL(depthStr);
-    THTTPHdrVal depth(aDepth);
-    aHeaders.SetFieldL(depthStr, depth);
-    CleanupStack::PopAndDestroy(&depthStr);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetLockTokenHeaderL
-// The lock token header can be tagged with the resource (file) URI
-// This is especially important for DELETE and MOVE of a file,
-// as they will also affect the container (directory), which is not locked
-// (in which case supplying a lock token is an error).
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetLockTokenHeaderL(RHTTPHeaders aHeaders,
-                                         const TDesC8* aUri,
-                                         const TDesC8* aLockToken,
-                                         TBool aUseTaggedLockToken)
-    {
-    DEBUGSTRING(("using a tagged lock token"));
-    // KLockTokenOverhead for 'tagged' lock token is 2 chars around the uri,
-    // one space, and 4 chars around the locktoken
-    // i.e. <target-url> (<target-token>)
-    TInt tagoverhead;
-    if (aUseTaggedLockToken) 
-        {
-        tagoverhead = KTaggedLockTokenOverhead;
-        }
-    else 
-        {
-        tagoverhead = KLockTokenOverhead;
-        }
-    HBufC8* lockToken = HBufC8::NewLC(aUri->Length()+ aLockToken->Length() +
-                                      tagoverhead);
-    TPtr8 lockTokenPtr = lockToken->Des();
-    if (aUseTaggedLockToken) 
-        {
-        lockTokenPtr.Format(KTaggedParenthAngleFormat, aUri, aLockToken);
-        }
-    else 
-        {
-        lockTokenPtr.Format(KParenthAngleFormat, aLockToken);
-        }
-
-    DEBUGSTRING8(("lt='%S'", &lockTokenPtr));
-    SetHeaderL(aHeaders, KWebDavIf, lockTokenPtr);
-    CleanupStack::PopAndDestroy(lockToken);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::WebDavTransactionCompleteL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::WebDavTransactionCompleteL(
-    CRsfwDavTransaction* aWebDavTransaction)
-    {
-    TUint webDavTransactionId = aWebDavTransaction->Id();
-    delete aWebDavTransaction;
-    iWebDavResponseObserver->RequestCompleteL(webDavTransactionId);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::WebDavTransactionError
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::WebDavTransactionError(
-    CRsfwDavTransaction* aWebDavTransaction)
-    {
-    TUint webDavTransactionId = aWebDavTransaction->Id();
-    TInt status = aWebDavTransaction->Status();
-    delete aWebDavTransaction;
-    iWebDavResponseObserver->RequestError(webDavTransactionId, status);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetPropFindParameters
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetPropFindParametersL(
-    RPointerArray<CRsfwDirEnt>* aDirEntArray,
-    const TDesC& aPropFindPath,
-    TInt aDepth)
-    {
-    iPropFindParserImpl->SetDirEntArray(aDirEntArray);
-    iPropFindParserImpl->SetTargetDirectory(aPropFindPath, aDepth);
-    iPropFindParser->ParseBeginL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetLockQueryParameters
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetLockQueryParameters(CRsfwDavFileInfo* aDavFileInfo)
-    {
-    iLockQueryParserImpl->SetDavFileInfo(aDavFileInfo);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::ParsePropFindResponseL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::ParsePropFindResponseL(const TDesC8& aResponse)
-    {
-    // only first call to this function really initiates data structures in the XML parser
-    iPropfindParsingActive = ETrue;
-    iPropFindParser->ParseL(aResponse);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::ParseLockResponseL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::ParseLockResponseL(const TDesC8& aResponse)
-    {
-    iLockQueryParser->ParseL(aResponse);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::PropFindResponseEndL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::PropFindResponseEndL()
-    {
-    iPropFindParser->ParseEndL();
-    iPropfindParsingActive = EFalse;
-    TInt err = iPropFindParserImpl->GetLastError();
-    if (err) 
-   	 	{
-    	User::Leave(err);
-    	}
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::LockResponseEndL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::LockResponseEndL()
-    {
-    iLockQueryParser->ParseEndL();
-    TInt err = iPropFindParserImpl->GetLastError();
-    if (err) 
-   	 	{
-    	User::Leave(err);
-    	}
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::CancelParsing
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::CancelParsing(TWebDavOp aOp)
-    {
-    // Only will do something if this operation is PROPFIND,
-    // and we have started to parse the response.
-    // UI does not allow to cancel LOCK requests.
-    // If this would be possible this mechanism should be expanded
-    // to also cover LOCK parsing.
-    if ((aOp == EWebDavOpPropFindSingle) || 
-    (aOp == EWebDavOpPropFindMulti)) 
-        {
-        if (iPropfindParsingActive)   
-            {
-            // When XML parsing is cancelled when the request is cancelled, 
-            // there is some XML error (invalid token etc.), ignore the error
-            TRAP_IGNORE(iPropFindParser->ParseEndL());
-            iPropfindParsingActive = EFalse;
-            }
-        }
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::HttpSession
-// ----------------------------------------------------------------------------
-//
-RHTTPSession& CRsfwDavSession::HttpSession()
-    {
-    return iHttpSession;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::StringPool
-// ----------------------------------------------------------------------------
-//
-RStringPool CRsfwDavSession::StringPool()
-    {
-    return iHttpSession.StringPool();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::Slashify
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::Slashify(TDes& aStr)
-    {
-    if (aStr.Length() &&
-        (aStr[aStr.Length() - 1] != '/') &&
-        aStr.Length() < aStr.MaxLength())
-        {
-        aStr.Append('/');
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::BuildPathLC
-// This function constructs a file path from davroot + path
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwDavSession::BuildPathLC(const TDesC& aRoot,
-                                   const TDesC& aPath,
-                                   TBool aEndSlash)
-    {
-    // 1 is for a possible slash added to the end of the uri...
-    HBufC* path = HBufC::NewLC(aRoot.Length() +
-                               aPath.Length() +
-                               1);
-    TPtr pathPtr = path->Des();
-    pathPtr.Append(aRoot);
-    pathPtr.Append(aPath);
-    if (aEndSlash)
-        {
-        Slashify(pathPtr);
-        }
-    return path;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::BuildFullPathLC
-// This function constructs a file path from davroot + path
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwDavSession::BuildFullPathLC(const TDesC& aPath,
-                                       TBool aEndSlash)
-    {
-    return BuildPathLC(iDavRoot, aPath, aEndSlash);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::BuildUriLC
-// This function constructs an URI from hostname + davroot + path
-// The URI is first escape encoded and then UTF-8 encoded.
-// Note that in addition to returning the uri string, this function
-// will also "populate" aUriParser with the full URI
-// ----------------------------------------------------------------------------
-//
-HBufC8* CRsfwDavSession::BuildUriLC(const TDesC& aPath,
-                                   TBool aEndSlash,
-                                   TUriParser8* aUriParser)
-    {
-    // 1 is for a possible slash added to the end of the uri...
-    HBufC* uri = BuildPathLC(iHostRoot, aPath, aEndSlash);
-    HBufC8* utf8Path = EncodeL(*uri);
-    CleanupStack::PopAndDestroy(uri);
-    CleanupStack::PushL(utf8Path);
-    TPtr8 utf8PathPtr = utf8Path->Des();
-    if (aUriParser)
-        {
-        if (aUriParser->Parse(utf8PathPtr) != KErrNone)
-            {
-            User::Leave(KErrBadName);
-            }
-        }
-    return utf8Path;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::EncodeL
-// First escape encode and then UTF-8 encode data.
-// ----------------------------------------------------------------------------
-//
-HBufC8* CRsfwDavSession::EncodeL(const TDesC& aData)
-    {
-    HBufC8* utf8Data = EscapeUtils::ConvertFromUnicodeToUtf8L(aData);
-    CleanupStack::PushL(utf8Data);
-    HBufC8* escapedData = EscapeUtils::EscapeEncodeL(*utf8Data, KSpecials8);
-    CleanupStack::PopAndDestroy(utf8Data);
-    return escapedData;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::IsConnected
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwDavSession::IsConnected()
-    {
-    return iConnected;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::NextWebDavTransactionId
-// ----------------------------------------------------------------------------
-//
-TUint CRsfwDavSession::NextWebDavTransactionId()
-    {
-    return ++iCurrentWebDavTransactionId;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavSession::SetupConnectionL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavSession::SetupConnectionL()
-    {
-    RSocketServ* socketServ;
-    RConnection* connection;
-
-    DEBUGSTRING(("SetupConnection - start"));
-    User::LeaveIfError(iRsfwConnectionManager->GetConnection(socketServ, 
-                                                             connection));
-    DEBUGSTRING(("iRsfwConnectionManager->GetConnection called"));                                                        
-    // Now bind the HTTP session with the socket server connection
-    RStringPool stringPool = iHttpSession.StringPool();
-    RHTTPConnectionInfo connInfo = iHttpSession.ConnectionInfo();
-    connInfo.SetPropertyL(
-        stringPool.StringF(HTTP::EHttpSocketServ, RHTTPSession::GetTable()),
-        THTTPHdrVal(socketServ->Handle()));
-    connInfo.SetPropertyL(
-        stringPool.StringF(HTTP::EHttpSocketConnection,
-                           RHTTPSession::GetTable()), 
-        THTTPHdrVal(reinterpret_cast<TInt>(connection)));
-    DEBUGSTRING(("SetupConnection - done"));
-    }
-    
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwdavtransaction.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1013 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 WebDAV transactions
- *
-*/
-
-
-// INCLUDE FILES
-//#include <HttpStringConstants.h>
-#include <http/rhttpheaders.h>
-#include <httperr.h>
-#include <es_sock.h>
-
-#include "rsfwremoteaccess.h"
-#include "rsfwdavtransaction.h"
-#include "rsfwdavsession.h"
-#include "rsfwdavfileinfo.h"
-#include "mdebug.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-// Destructor
-CRsfwDavTransaction::~CRsfwDavTransaction()
-    {
-    DEBUGSTRING(("WebDAV transaction %d in destructor ...", Id()));
-    iHttpTransaction.Close();
-    iBodyFile.Close();
-    delete iRequestBodyBuffer;
-    delete iPropFindPath;
-    delete iResponseBuffer;
-    DEBUGSTRING(("... done"));
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction:::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CRsfwDavTransaction* CRsfwDavTransaction::NewL(CRsfwDavSession* aWebDavSession,
-                                             TWebDavOp aWebDavOp,
-                                             const TUriC8& aUri,
-                                             RStringF aMethod,
-                                             TUint aTransactionId)
-    {
-    CRsfwDavTransaction* self = new (ELeave) CRsfwDavTransaction;
-    CleanupStack::PushL(self);
-    self->ConstructL(aWebDavSession,
-                     aWebDavOp,
-                     aUri,
-                     aMethod,
-                     aTransactionId);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::ConstructL(CRsfwDavSession* aWebDavSession,
-                                    TWebDavOp aWebDavOp,
-                                    const TUriC8& aUri, 
-                                    RStringF aMethod,
-                                    TInt aTransactionId)
-    {
-    iWebDavSession = aWebDavSession;
-    iTransactionId = aTransactionId;
-    // Borrow the file server from the parent
-    iFs = iWebDavSession->FileServerSession();
-    iWebDavOp = aWebDavOp;
-    // User may cancel the IAP selection
-    iStatus = KErrCancel;
-    iHttpTransaction = iWebDavSession->HttpSession().OpenTransactionL(aUri,
-                                                                      *this,
-                                                                      aMethod);
-    // Set body supplier as me
-    switch (aWebDavOp)
-        {
-    case EWebDavOpPut:
-    case EWebDavOpPropFindSingle:
-    case EWebDavOpPropFindMulti:
-    case EWebDavOpLock:
-        iHttpTransaction.Request().SetBody(*this);
-        break;
-
-    default:
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::SetBodyDataL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::SetBodyData(HBufC8* aRequestBodyBuffer)
-    {
-    iRequestBodyBuffer = aRequestBodyBuffer;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::SetBodyFileL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::SetBodyFileL(const TDesC& aPath,
-                                      TInt aOffset,
-                                      TInt* aLength,
-                                      TUint aFlags)
-    {
-    iBodyFilePath = aPath;
-    iBodyFileOffset = aOffset;
-    iBodyFileFlags = aFlags;
-   
-    iParsedBodyFilePath.Set(iBodyFilePath, NULL, NULL);
-    DEBUGBUFFER((iParsedBodyFilePath.FullName()));
-    if (iWebDavOp == EWebDavOpPut)
-        {
-        if (iBodyFilePath.Length())
-            {
-            
-            // Check it exists and open a file handle
-            if (!iFs.IsValidName(iBodyFilePath))
-                {
-                User::Leave(KErrPathNotFound);
-                }
-            TInt err = iBodyFile.Open(iFs,
-                                      iParsedBodyFilePath.FullName(),
-                                      EFileRead | EFileShareAny);
-            if (err != KErrNone)
-                {
-                DEBUGSTRING(("Cannot set body file (err=%d)", err));
-                User::Leave(err);
-                }
-            if ((*aLength) > 0) // partial PUT
-                {
-                iOverallDataSize =  *aLength;
-                }
-            else
-                {
-                User::LeaveIfError(iBodyFile.Size(iOverallDataSize));
-                iOverallDataSize -= iBodyFileOffset;
-                }
-            iRequestBodyBuffer = HBufC8::NewL(KDefaultSubmitSize);
-            }
-        }
-    else
-        {
-        // EWebDavOpGet
-        iClientsLength = aLength;
-        if (iClientsLength)
-            {
-            *iClientsLength = 0;
-            }
-        // store pointer to client's length variable and set it to zero
-        // we will later reset it based on the content-length header
-            
-        if (!iFs.IsValidName(iBodyFilePath))
-            {
-            User::Leave(KErrPathNotFound);
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::SetDavFileInfoL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::SetDavFileInfoL(CRsfwDavFileInfo** aDavFileInfo,
-                                         const TDesC& aPath)
-    {
-    if (aDavFileInfo)
-        {
-        iDavFileInfo = CRsfwDavFileInfo::NewL();
-        iDavFileInfo->SetNameL(aPath);
-        *aDavFileInfo = iDavFileInfo;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::SetPropFindDirEntryArray
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::SetPropFindDirEntryArray(
-    RPointerArray<CRsfwDirEnt>& aDirEnts)
-    {
-    // We do not get the ownership
-    iDirEnts = &aDirEnts;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::SetPropfindPath
-// ----------------------------------------------------------------------------
-void CRsfwDavTransaction::SetPropFindPath(HBufC* aPropFindPath)
-    {
-    // We get the ownership
-    iPropFindPath = aPropFindPath;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::Submit
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::SubmitL()
-    {
-    DEBUGSTRING(("submitting WebDav operation %d, id=%d ...",
-                 iWebDavOp,
-                 Id()));
-    TRAPD(err, iHttpTransaction.SubmitL());
-    if (err != KErrNone)
-        {
-        DEBUGSTRING(("WebDav transaction %d left with err %d!",
-                     Id(),
-                     err));
-        // Release resources
-        Cleanup();
-        User::Leave(err);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::Cancel
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::Cancel()
-    {
-    DEBUGSTRING(("Canceling WebDav transaction %d ...", Id()));
-    iHttpTransaction.Cancel();
-    // Cancel XML parsing, if ongoing
-    iWebDavSession->CancelParsing(iWebDavOp);
-    
-    // We don't receive any callback from the HTTP stack,
-    // as we have not registered a filter to get ECancel event,
-    // so we have to initiate the cleanup process ourselves...
-    iStatus = KErrCancel;
-    TransactionError();
-    }
-
-// ------------------------------------------------------------------
-// From MHTTPTransactionCallback
-// ------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::MHFRunL
-// Called when an action takes place on the transaction.
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::MHFRunL(RHTTPTransaction aTransaction,
-                                 const THTTPEvent& aEvent)
-    {
-    DEBUGSTRING(("MHFRunL() transaction %d (http id = %d) status: %d",
-                 iTransactionId,
-                 aTransaction.Id(),
-                 aEvent.iStatus));
-
-    TBool done = EFalse;
-    TBool ok = EFalse;
-    switch (aEvent.iStatus)
-        {
-    case THTTPEvent::EGotResponseHeaders:     // process the headers
-        {
-        // HTTP response headers have been received.
-        // We can determine now if there is
-        // going to be a response body to save.
-        RHTTPResponse response = aTransaction.Response();
-        iStatus = response.StatusCode();
-        DEBUGSTRING(("MHFRunL() THTTPEvent::EGotResponseHeaders, status %d",
-                     iStatus));
-        
-        if (iWebDavOp == EWebDavOpOptions)
-            {
-            // Get a pointer to the session owned by WebDavSession
-            RHTTPSession session = aTransaction.Session();
-            RHTTPHeaders hdr = response.GetHeaderCollection();
-            
-            // Get DAV:- header,
-            // which should be DAV: 1 if WebDAV v. 1 supported
-            // or DAV: 1, 2 if also WebDAV v. 2 is supported
-            TBuf8<KMaxDavVersionValue> davBuffer;
-            _LIT8(KDav, "DAV");
-            davBuffer.Append(KDav);
-            RStringF davString =
-                session.StringPool().OpenFStringL(davBuffer); 
-            THTTPHdrVal val;
-            TInt r = hdr.GetField(davString, 0, val);
-            davString.Close();
-            
-            if (r == KErrNone)
-                {
-                RStringF valStr;
-                valStr = val.StrF();
-                TPtrC8 davTag = valStr.DesC();
-                DEBUGSTRING8(("DAV: DAV=%S", &davTag));
-                TLex8 lex(davTag);        
-                // Skip over non-numeric chars as long as the list continues...
-                TChar theChar;
-                TInt supportedLevel = -1;
-                while (lex.Peek()) 
-                    {
-                    theChar = lex.Get();
-                    if (theChar.IsDigit()) 
-                    	{
-                    	supportedLevel = theChar.GetNumericValue();
-                    	}
-                    }
-                if (supportedLevel == -1) 
-                	{
-               		// DAV not supported...
-                    User::Leave(KErrNotSupported);	
-                	}
-                iWebDavSession->SetWebDavSupportClass(supportedLevel);
-                }
-            else
-                {
-                DEBUGSTRING(("DAV=<empty>"));
-                if (iStatus == HTTPStatus::EUnauthorized)
-                    {
-                    User::Leave(KErrAccessDenied);
-                    }
-                else
-                    {
-                    if (iStatus == HTTPStatus::EOk) 
-                    	{
-                    	// everything seemed to be ok,
-                    	// but no DAV: header
-                    	User::Leave(KErrNotSupported);
-                    	}
-                    else 
-                    	{
-                    	User::Leave(iStatus);
-                   		}
-                    }
-                }
-            }
-        // Get the content length and create iResponseBuffer,
-        // where the body will be stored.
-        // However, if we are copying file from the server,
-        // the body (file) will just be stored into
-        // the container file, no memory buffer is needed
-        if (response.HasBody() &&
-            // iStatus must be in 'Successful' range of HTTP codes 2xx
-            (iStatus >= 200) && 
-            (iStatus < 300) &&
-            (iStatus != HTTPStatus::ENoContent))
-            {
-            DEBUGSTRING(("MHFRunL() response has a body..."));
-            MHTTPDataSupplier* responseBody = response.Body();
-            switch (iWebDavOp)
-                {
-            case EWebDavOpGet:
-                {
-                // Prepare to dump the body to container file
-                TInt err;
-                if (iStatus == HTTPStatus::EPartialContent) 
-                    {
-                    err = iBodyFile.Open(iFs,
-                                         iParsedBodyFilePath.FullName(),
-                                         EFileWrite | EFileShareAny);
-                    if (err == KErrNone)
-                        {
-                        if (!(iBodyFileFlags &
-                              KRemoteAccessOptionGetToStartOfFile))
-                            {
-                            TInt pos = iBodyFileOffset;
-                            DEBUGSTRING(("Get: partial content received, seek to %d", pos));
-                            iBodyFile.Seek(ESeekStart, pos);
-                            if (pos != iBodyFileOffset)
-                                {
-                                // Should never happen
-                                DEBUGSTRING(("Get: seek to %d failed (pos=%d)",
-                                             iBodyFileOffset,
-                                             pos));
-                                User::Leave(KErrArgument);
-                                }
-                            }
-                        }
-                    else 
-                        {
-                        DEBUGSTRING(("Get: partial content received, will overwrite the cache file, err=%d", err));
-                        User::LeaveIfError(
-                            iBodyFile.Replace(
-                                iFs,
-                                iParsedBodyFilePath.FullName(),
-                                EFileWrite | EFileShareAny));
-                        }
-                    }
-                else // overwrite...
-                    {
-                    DEBUGSTRING(("Get: full content received"));
-                    User::LeaveIfError(
-                        iBodyFile.Replace(
-                            iFs,
-                            iParsedBodyFilePath.FullName(),
-                            EFileStream | EFileWrite | EFileShareAny));
-                    }
-                
-                // larger memory buffer
-                TInt dataSize = responseBody->OverallDataSize();
-                DEBUGSTRING(("MHFRunL() creating a response buffer, size=%d",
-                             dataSize));
-                if (dataSize <= KDefaultFileBufferSize) // 40k
-                    {
-                    iResponseBuffer = HBufC8::NewL(dataSize);
-                    }
-                else
-                    {
-                    iResponseBuffer = HBufC8::NewL(KDefaultFileBufferSize);
-                    }
-                
-                }
-                break;
-
-            case EWebDavOpPropFindSingle:
-            case EWebDavOpPropFindMulti:
-            case EWebDavOpLock:
-            case EWebDavOpRefreshLock:
-                {
-                if (iWebDavOp == EWebDavOpPropFindMulti)
-                    {
-                    PropFindResponseBeginL(KDavResourceTypeCollection);
-                    }
-                else if (iWebDavOp == EWebDavOpPropFindSingle)
-                    {
-                    PropFindResponseBeginL(KDavResourceTypeOther);
-                    }
-                else
-                    {
-                    LockQueryResponseBegin();
-                    }
-                }
-                break;
-                
-            default:
-                {
-                // We are not interested in any body
-                iDiscardBody = ETrue;
-                }
-                break;
-                }
-            }
-        else
-            {
-            DEBUGSTRING(("MHFRunL() response does not have a body..."));
-            iDiscardBody = ETrue;
-            }
-        }
-        break;
-
-    case THTTPEvent::EGotResponseBodyData:
-        {
-        DEBUGSTRING(("MHFRunL() THTTPEvent::EGotResponseBodyData"));
-        // Get the body data supplier
-        TBool allDone;
-        
-        MHTTPDataSupplier* responseBody = aTransaction.Response().Body();
-        ASSERT(responseBody);
-               
-        // Some (more) body data has been received (in the HTTP response)   
-        TPtrC8 bodyData;
-        allDone = responseBody->GetNextDataPart(bodyData);
-        DEBUGSTRING(("MHFRunL() body size = %d (all=%d)",
-                     bodyData.Length(),
-                     allDone));
-
-        if (!iDiscardBody)
-            {
-            switch (iWebDavOp) 
-                {
-            case EWebDavOpPropFindSingle:
-            case EWebDavOpPropFindMulti:
-                {
-                ParsePropFindResponseL(bodyData);
-                if (allDone)
-                    {
-                    PropFindResponseEndL();
-                    }             
-                }
-                break;
-            case EWebDavOpLock:
-            case EWebDavOpRefreshLock:
-                {
-                ParseLockResponseL(bodyData);
-                if (allDone)
-                    {
-                    LockResponseEndL();
-                    }             
-                }
-                break;
-            case EWebDavOpGet: 
-                {
-                // set client's length variable
-                // based on the amount of data fetched
-                if (iClientsLength) 
-                    {
-                    *iClientsLength += bodyData.Length();
-                    }
-           
-                TPtr8 responseBodyPtr = iResponseBuffer->Des();
-                if ((responseBodyPtr.Length() + bodyData.Length()) <=
-                    KDefaultFileBufferSize)
-                    {
-                    responseBodyPtr.Append(bodyData);
-                    }
-                else 
-                    {
-                    DEBUGSTRING(("Get: writing to cache file: %d bytes",
-                                 responseBodyPtr.Length()));
-                    User::LeaveIfError(iBodyFile.Write(responseBodyPtr));
-                    // Reset buffer with new data
-                    responseBodyPtr.Copy(bodyData);
-                    }
-                
-                if (allDone) // this was the last chunk
-                    {
-                    DEBUGSTRING(("Get: writing to cache file %d bytes and closing",
-                                 responseBodyPtr.Length()));
-                    User::LeaveIfError(iBodyFile.Write(responseBodyPtr));
-                    iBodyFile.Close();
-                    }
-                }
-                break;
-            
-            default:
-                break;
-                }
-            }
-        
-        // Done with that bit of body data
-        responseBody->ReleaseData();
-        }
-        break;
-        
-    case THTTPEvent::EResponseComplete:
-        {
-        // The transaction's response is complete
-        DEBUGSTRING(("Transaction Complete"));
-        }
-        break;
-
-    case THTTPEvent::ESucceeded:
-        {
-        DEBUGSTRING(("Transaction Successful"));
-        // We need to process the iStatus for the different cases
-        switch (iWebDavOp)
-            {
-        case EWebDavOpPropFindMulti:
-        case EWebDavOpPropFindSingle:
-            if (iStatus == RsfwDavStatus::EMultiStatus)
-                {
-                iStatus = KErrNone;
-                ok = ETrue;
-                }
-            break;                            
-            // Other states which need processing of reponses
-        case EWebDavOpDelete:
-            {
-            // DELETE contains the status of the response in a XML document
-            // STATUS tag which should be parsed to produce an error
-            // condition for this working is that we get back a
-            // status from the server of 204: No Content
-            if ((iStatus == HTTPStatus::ENoContent ||
-            	iStatus == HTTPStatus::EOk))
-                {
-                ok = ETrue;
-                }
-            
-            // Note that if the server reported an error they usually
-            // return 207 multistatus with an xml body
-            // containing the status of the DELETE
-            // should parse the body here
-            }
-            break;
-
-        case EWebDavOpMove:
-        case EWebDavOpMkCol:
-        case EWebDavOpPut:
-            if ((iStatus == HTTPStatus::EOk) ||
-            	(iStatus == HTTPStatus::ECreated) ||
-                (iStatus == HTTPStatus::ENoContent))
-                {
-                // 200, 201 or 204 would be the expected response
-                // that everything went well
-                DEBUGSTRING(("Move/MkCol/Put: status ok"));
-                ok = ETrue;
-                }
-            else
-                {
-                // 207 responses contains a status tag in xml data
-                // 409 would indicate there was a conflict
-                DEBUGSTRING(("Move/MkCol/Put: bad status!"));
-                }
-            break;
-
-        case EWebDavOpGet:
-            if ((iStatus == HTTPStatus::EOk) ||
-                (iStatus == HTTPStatus::EPartialContent))
-                {
-                ok = ETrue;
-                }
-            break;
-                
-        case EWebDavOpOptions: 
-            if (iStatus == 200) 
-                {
-                ok = ETrue;
-                }
-            break;
-            
-        case EWebDavOpLock:
-        case EWebDavOpRefreshLock:
-            {
-            if ((iStatus == HTTPStatus::ECreated) || 
-                (iStatus == HTTPStatus::EOk)) 
-                {
-                ok = ETrue;
-                }
-            }
-            break;
-
-        case EWebDavOpUnlock:
-            ok = ETrue;
-            break;
-
-        default:
-            break;
-            }
-
-        done = ETrue;
-        }
-        break;
-        
-    case THTTPEvent::EFailed:
-        {
-        switch (iWebDavOp)
-            {
-        case EWebDavOpOptions:
-            iStatus = KErrAccessDenied;
-            break;
-            
-        default:
-            break;
-            }
-        
-        DEBUGSTRING(("Transaction failed"));
-        done = ETrue;
-        }
-        break;
-        
-    case THTTPEvent::ERedirectedPermanently:
-    case KErrHttpRedirectNoLocationField:
-        {
-        DEBUGSTRING(("Permanent Redirection"));
-        iStatus = HTTPStatus::EMovedPermanently;
-        done = ETrue;
-        }
-        break;
-
-    case THTTPEvent::ERedirectedTemporarily:
-        {
-        DEBUGSTRING(("Temporary Redirection"));
-        iStatus = HTTPStatus::ETemporaryRedirect;
-        done = ETrue;
-        }
-        break;
-        
-    case THTTPEvent::ERedirectRequiresConfirmation:
-        iStatus = HTTPStatus::EMovedPermanently;
-        DEBUGSTRING(("Requires Confirmation"));
-        // we don't want to resend the request with the new url
-        // let's just close the request
-        iHttpTransaction.Close();
-        done = ETrue;
-        break;
-        
-    case THTTPEvent::EUnrecoverableError:
-        DEBUGSTRING(("Unrecoverable error"));
-        // Go on - we will end up to EFailed later
-        break;
-        
-    case THTTPEvent::ETooMuchRequestData:
-        DEBUGSTRING(("Too much request data"));
-        break;
-    // ESock errors:
-   	case KErrConnectionTerminated:
-        DEBUGSTRING(("Connection Terminated"));	
-        iStatus = KErrCommsLineFail;
-    	break;
-    default:
-        {
-        // Check the httperr.h header for the meaning of the different fields
-        DEBUGSTRING(("unrecognized event: %d", aEvent.iStatus));
-        iStatus = aEvent.iStatus;
-        // Close off the transaction if it's an error
-        if (iStatus < 0)
-            {
-            done = ETrue;
-            }       
-        }
-        break;
-        }
-
-    if (done)
-        {
-        if (ok)
-            {
-            TransactionCompleteL();
-            }
-        else
-            {
-            TransactionError();
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::MHFRunError
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavTransaction::MHFRunError(TInt aError,
-                                     RHTTPTransaction /* aTransaction*/ ,
-                                     const THTTPEvent& /* aEvent */)
-    {    
-    DEBUGSTRING(("MHFRunError() http transaction fired with error %d",
-                 aError));
-
-    iStatus = aError;
-    TransactionError();
-    return KErrNone;
-    }
-
-// ------------------------------------------------------------------
-// From MHTTPDataSupplier
-// ------------------------------------------------------------------
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::GetNextDataPart
-// return ETrue if all data has been sent, EFalse otherwise
-// ----------------------------------------------------------------------------
-//
-TBool CRsfwDavTransaction::GetNextDataPart(TPtrC8& aDataPart)
-    {
-    DEBUGSTRING(("GetNextDataPart() (iMoreToCome = EFalse)"));
-    // Read from the request body file
-    iMoreToCome = EFalse;
-
-    // we cannot supply more data if the condition is true
-    if ((!iRequestBodyBuffer) ||
-        (iOverallDataSize == 0 && iWebDavOp == EWebDavOpPut)) 
-        {
-        DEBUGSTRING(("All data supplied"));
-        return !iMoreToCome;
-        }
-
-    switch (iWebDavOp)
-        {
-    case EWebDavOpOptions:
-    case EWebDavOpPropFindSingle:
-    case EWebDavOpPropFindMulti:
-    case EWebDavOpLock:
-        {
-        // Called when the request body is being filled
-        aDataPart.Set(*iRequestBodyBuffer);
-        }
-        break;
-        
-    case EWebDavOpPut:
-        {
-        DEBUGSTRING(("Put: GetNextDataPart()"));
-        if (iSendDataCount == 0) 
-            {
-            // first run
-            DEBUGSTRING(("first run"));
-            TInt pos = iBodyFileOffset;
-            iBodyFile.Seek(ESeekStart, pos);            
-            }
-        else 
-            {
-            DEBUGSTRING(("%d bytes of data have been sent", iSendDataCount));
-            }
-            
-        // We read data that will be given to the stack next time,
-        // or we will find out that there is no more data...
-        TInt readLength;
-        if ((iOverallDataSize - iSendDataCount) >= KDefaultSubmitSize)
-            {
-            readLength = KDefaultSubmitSize;
-            }
-        else
-            {
-            readLength = iOverallDataSize - iSendDataCount;
-            }
-            
-        
-        TPtr8 requestBodyBufferPtr = iRequestBodyBuffer->Des();
-        TInt err = iBodyFile.Read(requestBodyBufferPtr, readLength);
-        iSendDataCount = iSendDataCount + iRequestBodyBuffer->Length();
-        if (err == KErrNone) 
-            {
-            DEBUGSTRING(("passing %d bytes of data to the HTTP stack", iRequestBodyBuffer->Length()));
-            if ((iSendDataCount < iOverallDataSize) &&  iRequestBodyBuffer->Length() > 0)
-                {  
-                DEBUGSTRING(("Put: More data to come (iMoreToCome = ETrue)"));
-                iMoreToCome = ETrue;
-                }
-             else 
-                {
-                DEBUGSTRING(("Put: all data has been exhausted"));
-                iMoreToCome = EFalse;
-                }
-            }
-        else
-            {
-            DEBUGSTRING(("Put: failed to read the local file (err=%d)",
-                         err));
-            iMoreToCome = EFalse;
-            }
-        aDataPart.Set(*iRequestBodyBuffer); 
-            
-        break;
-        }
-
-    default:
-        break;
-        }
-    
-    return !iMoreToCome;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::ReleaseData
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::ReleaseData()
-    {
-    if (iMoreToCome) 
-        {
-        TRAP_IGNORE(iHttpTransaction.NotifyNewRequestBodyPartL());
-        }
-    else 
-        {
-        DEBUGSTRING(("Releasing request body buffer"));
-        delete iRequestBodyBuffer;
-        iRequestBodyBuffer = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::OverallDataSize
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavTransaction::OverallDataSize()
-    {
-    TInt ods;
-    switch (iWebDavOp)
-        {
-    case EWebDavOpPut:
-        DEBUGSTRING(("Put: OverallDataSize returned %d",
-                     iOverallDataSize));
-        // the size of the file to be copied
-        ods = iOverallDataSize;
-        break;
-        
-    default:
-        if (!iRequestBodyBuffer) 
-            {
-            ods = 0;
-            }
-        else 
-            {
-            ods = iRequestBodyBuffer->Length();
-            }
-        
-        break;
-        }
-    return ods;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::Reset
-// ----------------------------------------------------------------------------
-//
-TInt CRsfwDavTransaction::Reset()
-    {
-    DEBUGSTRING(("Reset data suplier"));
-    switch (iWebDavOp)
-        {
-    case EWebDavOpPut:
-        iSendDataCount = 0;
-        break;
-        
-    default:
-        break;
-        }
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::TransactionComplete
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::TransactionCompleteL()
-    {
-    iStatus = KErrNone;
-    if (iWebDavOp == EWebDavOpOptions)
-        {
-        iWebDavSession->SetConnected(ETrue);
-        }
-    iWebDavOp = EWebDavOpNone;
-    iWebDavSession->WebDavTransactionCompleteL(this);
-    // Must not do anything with this transaction object
-    // after calling the completion callback because this will be destroyed
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::TransactionError
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::TransactionError()
-    {
-    Cleanup();
-    iWebDavOp = EWebDavOpNone;
-    iWebDavSession->WebDavTransactionError(this);
-    // Must not do anything with this transaction object
-    // after calling the error callback because this will be destroyed
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::Cleanup
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::Cleanup()
-    { 
-    // Cleanup (e.g., after a failed transaction).
-    // Only release resources that may block further transactions
-    // before this transaction has been destroyed.
-    switch (iWebDavOp)
-        {
-    case EWebDavOpGet:
-    case EWebDavOpPut:
-        iBodyFile.Close();
-        break;
-        
-    default:
-        break;
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::PropFindResponseBeginL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::PropFindResponseBeginL(TInt aDepth) 
-    {
-    iWebDavSession->SetPropFindParametersL(iDirEnts,
-                                          *iPropFindPath,
-                                          aDepth);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::LockQueryResponseBeginL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::LockQueryResponseBegin() 
-    {
-    iWebDavSession->SetLockQueryParameters(iDavFileInfo);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::PropFindResponseEndL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::PropFindResponseEndL()
-    {
-    iWebDavSession->PropFindResponseEndL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::LockResponseEndL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::LockResponseEndL()
-    {
-    iWebDavSession->LockResponseEndL();
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::ParsePropFindResponseL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::ParsePropFindResponseL(const TDesC8& aResponse)
-    { 
-    iWebDavSession->ParsePropFindResponseL(aResponse);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwDavTransaction::ParseLockResponseL
-// ----------------------------------------------------------------------------
-//
-void CRsfwDavTransaction::ParseLockResponseL(const TDesC8& aResponse)
-    { 
-    iWebDavSession->ParseLockResponseL(aResponse);
-    }
-
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwlockqueryparser.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Parse WebDAV LOCK method response body
- *
-*/
-
-
-// INCLUDE FILES
-#include "rsfwlockqueryparser.h"
-#include "rsfwdavfileinfo.h"
-#include "mdebug.h"
-
-// CONSTANTS
-_LIT(KTimeOutTag,"Second-");
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-CRsfwLockQueryParser* CRsfwLockQueryParser::NewLC()
-    {
-    CRsfwLockQueryParser* self = new(ELeave) CRsfwLockQueryParser;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-CRsfwLockQueryParser* CRsfwLockQueryParser::NewL()
-    {
-    CRsfwLockQueryParser* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CRsfwLockQueryParser::ConstructL()
-    {
-    /*
-      iParseState = ELooking;
-    */
-    }
-
-CRsfwLockQueryParser::~CRsfwLockQueryParser()
-    {
-    delete iContentString;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnStartDocumentL
-// This method is a callback to indicate the start of the document.
-// @param aDocParam Specifies the various parameters of the document.
-// @arg aDocParam.iCharacterSetName The character encoding of the document.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnStartDocumentL(
-    const Xml::RDocumentParameters& /* aDocParam */,
-    TInt /* aErrCode */)
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnStartDocumentL
-// This method is a callback to indicate the end of the document.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnEndDocumentL(TInt aErrCode)
-    {
-    if (aErrCode)
-        {
-        User::Leave(aErrCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnStartElementL
-// This method is a callback to indicate an element has been parsed.
-// @param aElement is a handle to the element's details.
-// @param aAttributes contains the attributes for the element.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnStartElementL(
-    const Xml::RTagInfo& aElement,
-    const Xml::RAttributeArray& /* aAttributes */,
-    TInt aErrorCode)
-    {
-    _LIT8(KLockType, "locktype");
-    _LIT8(KLockScope, "lockscope");
-    _LIT8(KDepth, "depth");
-    _LIT8(KTimeout, "timeout");
-    _LIT8(KLockToken, "locktoken");
-
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-
-    switch (iParseState)
-        {
-    case ELockType:
-        // Currently, write is the only acquired type, might change later
-        break;
-
-    case ELockScope:
-        // Currently, exclusive is the only acquired type, might change later
-        break;
-
-    case EDepth:
-        break;
-
-    case ETimeout:
-        break;
-
-    case ELockToken:
-        {
-        _LIT8(KHref, "href");
-        if (((aElement.LocalName()).DesC()).Compare(KHref) == 0)
-            {
-            iParseState = EHrefToken;
-            }
-        }
-        break;
-
-    case EHrefToken:
-        break;
-
-    case ELooking: // we are trying to find the next interesting tag
-        if (((aElement.LocalName()).DesC()).Compare(KLockType) == 0)
-            {
-            iParseState = ELockType;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KLockScope) == 0)
-            {
-            iParseState = ELockScope;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KDepth) == 0)
-            {
-            iParseState = EDepth;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KTimeout) == 0)
-            {
-            iParseState = ETimeout;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KLockToken) == 0)
-            {
-            iParseState = ELockToken;
-            }
-        else
-            {
-            // lint
-            }
-        break;
-
-    default:
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnEndElementL
-// This method is a callback to indicate that end of element has been reached.
-// @param aElement is a handle to the element's details.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnEndElementL(const Xml::RTagInfo& /* aElement */,
-                                     TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-
-    // otherwise we will continue reading
-    // if we have some interesting content
-    if ((iParseState != ELooking) && !iContentString)
-        {
-        iParseState = ELooking;
-        return;
-        }
-
-    switch (iParseState)
-        {
-    case ELockType:
-        break;
-
-    case ELockScope:
-        break;
-
-    case EDepth:
-        {
-        /*
-          TPtrC aux;
-          aux.Set(aBuf);
-          TLex lex(aux);
-          lex.Val(iDepth);
-        */
-        }
-        break;
-
-    case ETimeout:
-        {
-        if (iDavFileInfo)
-            {
-            _LIT8(KInfinite, "Infinite");
-            if (iContentString->Compare(KInfinite) == 0)
-                {
-                iDavFileInfo->SetTimeout(KMaxTUint);
-                }
-            else
-                {
-                // We expect 'Second-x" where x a positive integer
-                TInt timeout = 0;
-                if (iContentString->Length() > KTimeOutTag().Length())
-                    {
-                    TPtrC8 aux;
-                    aux.Set(*iContentString);
-                    TLex8 lex(aux);
-                    lex.SkipAndMark(KTimeOutTag().Length());
-                    lex.Val(timeout);
-                    }
-                iDavFileInfo->SetTimeout(timeout);
-                }
-            }
-        }
-        break;
-
-    case ELockToken:
-        break;
-
-    case EHrefToken:
-        if (iDavFileInfo)
-            {
-            iDavFileInfo->SetLockTokenL(*iContentString);
-            }
-        break;
-
-    case ELooking:
-        break;
-
-    default:
-        break;
-        }
-
-    delete iContentString;
-    iContentString = NULL;
-    iParseState = ELooking;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnContentL
-// This method is a callback that sends the content of the element.
-// Not all the content may be returned in one go.
-// The data may be sent in chunks.
-// When an OnEndElementL is received there is no more content to be sent.
-// @param aBytes is the raw content data for the element.
-// The client is responsible for converting the data to the
-// required character set if necessary.
-// In some instances the content may be binary and must not be converted.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-//
-void CRsfwLockQueryParser::OnContentL(const TDesC8& aBytes, TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-
-    // We want to add to contentstring only if we are in a state
-    // where the content is interesting to us
-    if ((iParseState == ETimeout) || (iParseState == EHrefToken))
-        {
-        if (!iContentString)
-            {
-            iContentString = HBufC8::NewL(aBytes.Length());
-            TPtr8 string = iContentString->Des();
-            string.Append(aBytes);
-            }
-        else
-            {
-            iContentString =
-                iContentString->ReAllocL(iContentString->Length() +
-                                         aBytes.Length());
-            TPtr8 string = iContentString->Des();
-            string.Append(aBytes);
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnStartPrefixMappingL
-// This method is a notification of the beginning of the scope of a prefix-URI
-// Namespace mapping.
-// This method is always called before corresponding OnStartElementL method.
-// @param aPrefix is the Namespace prefix being declared.
-// @param aUri is the Namespace URI the prefix is mapped to.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnStartPrefixMappingL(const RString& /* aPrefix */,
-                                             const RString& /* aUri */,
-                                             TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnEndPrefixMappingL
-// This method is a notification of end of the scope of a prefix-URI mapping.
-// This method is called after the corresponding DoEndElementL method.
-// @param aPrefix is the Namespace prefix that was mapped.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnEndPrefixMappingL(const RString& /* aPrefix */,
-                                           TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnIgnorableWhiteSpaceL
-// This method is a notification of ignorable whitespace in element content.
-// @param aBytes are the ignored bytes from the document being parsed.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnIgnorableWhiteSpaceL(const TDesC8& /* aBytes */,
-                                              TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnSkippedEntityL
-// This method is a notification of a skipped entity.
-// If the parser encounters an external entity it does not need to expand it -
-// it can return the entity as aName for the client to deal with.
-// @param aName is the name of the skipped entity.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnSkippedEntityL(const RString& /* aName */,
-                                        TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnProcessingInstructionL
-// This method is a receive notification of a processing instruction.
-// @param aTarget is the processing instruction target.
-// @param aData is the processing instruction data. If empty none was supplied.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::OnProcessingInstructionL(const TDesC8& /* aTarget */,
-                                                const TDesC8& /* aData */,
-                                                TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::OnError
-// This method indicates an error has occurred.
-// @param aErrorCode is the error code
-// ----------------------------------------------------------------------------
-//
-
-void CRsfwLockQueryParser::OnError(TInt aErrorCode)
-    {
-    DEBUGSTRING(("CRsfwLockQueryParser::OnError(%d)", aErrorCode));
-    iError = aErrorCode;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::GetExtendedInterface
-// This method obtains the interface matching the specified uid.
-// @return 0 if no interface matching the uid is found.
-// Otherwise, the this pointer cast to that interface.
-// @param aUid the uid identifying the required interface.
-// ----------------------------------------------------------------------------
-//
-TAny* CRsfwLockQueryParser::GetExtendedInterface(const TInt32 /* aUid */)
-    {
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwLockQueryParser::SetFileDavInfo
-// Set a pointer to the directory information structure to be filled.
-// ----------------------------------------------------------------------------
-//
-void CRsfwLockQueryParser::SetDavFileInfo(CRsfwDavFileInfo* aDavFileInfo)
-    {
-    iDavFileInfo = aDavFileInfo;
-    }
-    
-TInt CRsfwLockQueryParser::GetLastError() 
-	{
-	return iError;
-	}
-
-//  End of File
--- a/remotestoragefw/webdavaccessplugin/src/rsfwpropfindparser.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,590 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Parse WebDAV PROPFIND method response body
- *
-*/
-
-
-// INCLUDE FILES
-#include <f32file.h>
-#include <escapeutils.h>
-#include <tinternetdate.h>
-
-#include "rsfwpropfindparser.h"
-//#include "rsfwdirent.h"
-#include "rsfwdirentattr.h"
-#include "mdebug.h"
-#include "uri8.h"
-
-// ============================ MEMBER FUNCTIONS ==============================
-CRsfwPropFindParser* CRsfwPropFindParser::NewLC()
-    {
-    CRsfwPropFindParser* self = new (ELeave) CRsfwPropFindParser;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-CRsfwPropFindParser* CRsfwPropFindParser::NewL()
-    {
-    CRsfwPropFindParser* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CRsfwPropFindParser::ConstructL()
-    {
-    ClearDirEntryL();
-    iCurrentIsParent = EFalse;
-    }
-
-CRsfwPropFindParser::~CRsfwPropFindParser()
-    {
-    delete iDirEntry;
-    delete iContentString;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnStartDocumentL
-// This method is a callback to indicate the start of the document.
-// @param aDocParam Specifies the various parameters of the document.
-// @arg aDocParam.iCharacterSetName The character encoding of the document.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnStartDocumentL(
-    const Xml::RDocumentParameters& /* aDocParam */,
-    TInt aErrCode)
-    {
-    iError = KErrNone;    // discard the old error
-    if (!aErrCode)
-        {
-        iParseState = ELooking;
-        }
-    else
-        {
-        User::Leave(aErrCode);
-        }
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnStartDocumentL
-// This method is a callback to indicate the end of the document.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnEndDocumentL(TInt aErrCode)
-    {
-    if (aErrCode)
-        {
-        User::Leave(aErrCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnStartElementL
-// This method is a callback to indicate an element has been parsed.
-// @param aElement is a handle to the element's details.
-// @param aAttributes contains the attributes for the element.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnStartElementL(
-    const Xml::RTagInfo& aElement,
-    const Xml::RAttributeArray& /* aAttributes */,
-    TInt aErrorCode)
-    {
-    _LIT8(KResponseHeader, "response");
-    _LIT8(KContentType,    "getcontenttype");
-    _LIT8(KDate,           "creationdate");
-    _LIT8(KModified,       "getlastmodified");
-    _LIT8(KLength,         "getcontentlength");
-    _LIT8(KResourceType,   "resourcetype");
-    _LIT8(KEtag,           "getetag");
-
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-
-    switch (iParseState)
-        {
-    case EName:
-        break;
-
-    case EResponse:
-        {
-        _LIT8(KHRef, "href");
-        if (((aElement.LocalName()).DesC()).Compare(KHRef) == 0)
-            {
-            // href that follows response tag is the name of the file
-            iParseState = EName;
-            }
-        }
-        break;
-
-    case EModified:
-        break;
-
-    case ELength:
-        break;
-
-    case EDate:
-        break;
-
-    case EResourceType:
-        {
-        _LIT8(KCollection, "collection");
-        if (((aElement.LocalName()).DesC()).Compare(KCollection) == 0)
-            {
-            iDirEntry->Attr()->SetAtt(KEntryAttDir);
-            }
-        }
-        break;
-
-    case EContentType:
-        break;
-
-    case EETag:
-        break;
-
-    case ELooking: // we are trying to find the next interesting tag
-        if (((aElement.LocalName()).DesC()).Compare(KModified) == 0)
-            {
-            iParseState = EModified;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KLength) == 0)
-            {
-            iParseState = ELength;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KDate) == 0)
-            {
-            iParseState = EDate;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KResourceType) == 0)
-            {
-            iParseState = EResourceType;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KContentType) == 0)
-            {
-            iParseState = EContentType;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KResponseHeader) == 0)
-            {
-            iParseState = EResponse;
-            }
-        else if (((aElement.LocalName()).DesC()).Compare(KEtag) == 0)
-            {
-            iParseState = EETag;
-            }
-        else
-            {
-            // lint
-            }
-        break;
-
-    default:
-        break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnEndElementL
-// This method is a callback to indicate that end of element has been reached.
-// @param aElement is a handle to the element's details.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnEndElementL(const Xml::RTagInfo& aElement,
-                                    TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-
-    // If we reached </response> we can fill next entry in iDirEntArray
-    _LIT8(KResponse, "*response");
-    if (((aElement.LocalName()).DesC()).Match(KResponse) != KErrNotFound)
-        {
-        // Save the entry if depth = 0 or depth = 1 and
-        // this is not the parent directory
-        switch (iDepth)
-            {
-        case 0:
-            iDirEntArray->Append(iDirEntry);
-            // ownership transferred
-            iDirEntry = NULL;
-            break;
-
-        case 1:
-            if (!iCurrentIsParent)
-                {
-                iDirEntArray->Append(iDirEntry);
-                // ownership transferred
-                iDirEntry = NULL;
-                }
-            break;
-
-        default:
-            break;
-            }
-
-        if (iCurrentIsParent)
-            {
-            // We have 'seen' the end tag of parent directory
-            iCurrentIsParent = EFalse;
-            }
-
-        // In any case going through an entry is complete,
-        // reset iDirEntry
-        ClearDirEntryL();
-        delete iContentString;
-        iContentString = NULL;
-        iParseState = ELooking;
-        }
-
-    // otherwise we will continue reading
-    // if we have some interesting content
-    if ((iParseState != ELooking) && !iContentString)
-        {
-        iParseState = ELooking;
-        return;
-        }
-
-    switch (iParseState)
-        {
-    case EName:
-        {
-        // Figure out whether the entry we are currently reading
-        // is the directory itself.
-        // The directory itself is the first one in the reply that
-        // comes from server,
-        // and the last one that our XML-parser passes to us
-        
-        // if the name is fully qualified URI, only take the path
-        TPtrC8 uriPtr = iContentString->Des();
-        TPtrC8 pathPtr = uriPtr;
-        TUriParser8 uriParser;
-        if (uriParser.Parse(uriPtr) == KErrNone) 
-        {
-        	pathPtr.Set(uriParser.Extract(EUriPath));
-        }
-        
-        
-        HBufC* name = DecodeL(pathPtr);
-        CleanupStack::PushL(name);
-        
-        if (name->Compare(*iPropFindPath) == 0)
-            {
-            iCurrentIsParent = ETrue;
-            }
-        else
-            {
-            TPtrC namePtr = name->Des();
-            if ((namePtr.Length() > 1) &&
-                (namePtr[namePtr.Length() - 1] == '/'))
-                {
-                // strip off trailing '/'
-                namePtr.Set(namePtr.Left(namePtr.Length() - 1));
-                }
-
-            TInt pos = namePtr.LocateReverse('/');
-            // Shouldn't be negative as
-            // the path should always start with '/'
-            if ((pos >= 0) && (namePtr.Length() > 1))
-                {
-                namePtr.Set((namePtr.Right(namePtr.Length() - (pos + 1))));
-                }
-            iDirEntry->SetNameL(namePtr);
-            }
-        CleanupStack::PopAndDestroy(name);
-        }
-        break;
-
-    case EModified:
-        {
-        // Webdav sends dates in RFC 822 format
-        // (e.g., "Thu, 19 Dec 2002 13:51:16 GMT").
-        // We parse them as 8 bit data.
-        TInternetDate inetDate;
-        inetDate.SetDateL(*iContentString);
-        iDirEntry->Attr()->SetModified(inetDate.DateTime());
-        }
-        break;
-
-    case ELength:
-        {
-        // Convert to int
-        TLex8 lex(*iContentString);
-        TInt len;
-        User::LeaveIfError(lex.Val(len));
-        iDirEntry->Attr()->SetSize(len);
-        }
-        break;
-
-    case EETag:
-        // etag is stored for files
-        if (!(iDirEntry->Attr()->Att() & KEntryAttDir)) 
-            {
-            iDirEntry->Attr()->SetETagL(*iContentString);
-            }
-        
-        break;
-
-    case EContentType:
-        {
-        iDirEntry->Attr()->SetMimeTypeL(*iContentString);
-        }
-        break;
-
-    default:
-        break;
-        }
-
-    delete iContentString;
-    iContentString = NULL;
-    iParseState = ELooking;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnContentL
-// This method is a callback that sends the content of the element.
-// Not all the content may be returned in one go.
-// The data may be sent in chunks.
-// When an OnEndElementL is received there is no more content to be sent.
-// @param aBytes is the raw content data for the element.
-// The client is responsible for converting the data to the
-// required character set if necessary.
-// In some instances the content may be binary and must not be converted.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-//
-void CRsfwPropFindParser::OnContentL(const TDesC8& aBytes, TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-
-    // We want to add to contentstring only if we are in a state
-    // where the content is interesting to us
-    if ((iParseState == EName) || (iParseState == EModified) ||
-        (iParseState == ELength) || (iParseState ==EETag) ||
-        (iParseState == EContentType))
-        {
-        if (!iContentString)
-            {
-            iContentString = HBufC8::NewL(aBytes.Length());
-            TPtr8 string = iContentString->Des();
-            string.Append(aBytes);
-            }
-        else
-            {
-            iContentString =
-                iContentString->ReAllocL(iContentString->Length() +
-                                         aBytes.Length());
-            TPtr8 string = iContentString->Des();
-            string.Append(aBytes);
-            }
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnStartPrefixMappingL
-// This method is a notification of the beginning of the scope of a prefix-URI
-// Namespace mapping.
-// This method is always called before corresponding OnStartElementL method.
-// @param aPrefix is the Namespace prefix being declared.
-// @param aUri is the Namespace URI the prefix is mapped to.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnStartPrefixMappingL(const RString& /* aPrefix */,
-                                            const RString& /* aUri */,
-                                            TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnEndPrefixMappingL
-// This method is a notification of end of the scope of a prefix-URI mapping.
-// This method is called after the corresponding DoEndElementL method.
-// @param aPrefix is the Namespace prefix that was mapped.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnEndPrefixMappingL(const RString& /* aPrefix */,
-                                          TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnIgnorableWhiteSpaceL
-// This method is a notification of ignorable whitespace in element content.
-// @param aBytes are the ignored bytes from the document being parsed.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnIgnorableWhiteSpaceL(const TDesC8& /* aBytes */,
-                                             TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnSkippedEntityL
-// This method is a notification of a skipped entity.
-// If the parser encounters an external entity it does not need to expand it -
-// it can return the entity as aName for the client to deal with.
-// @param aName is the name of the skipped entity.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnSkippedEntityL(const RString& /* aName */,
-                                       TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnProcessingInstructionL
-// This method is a receive notification of a processing instruction.
-// @param aTarget is the processing instruction target.
-// @param aData is the processing instruction data. If empty none was supplied.
-// @param aErrorCode is the error code.
-// If this is not KErrNone then special action may be required.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnProcessingInstructionL(const TDesC8& /* aTarget */,
-                                               const TDesC8& /* aData */,
-                                               TInt aErrorCode)
-    {
-    if (aErrorCode)
-        {
-        User::Leave(aErrorCode);
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::OnError
-// This method indicates an error has occurred.
-// @param aErrorCode is the error code
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::OnError(TInt aErrorCode)
-    {
-    DEBUGSTRING(("CRsfwPropFindParser::OnError(%d)", aErrorCode));
-    iError = aErrorCode;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::GetExtendedInterface
-// This method obtains the interface matching the specified uid.
-// @return 0 if no interface matching the uid is found.
-// Otherwise, the this pointer cast to that interface.
-// @param aUid the uid identifying the required interface.
-// ----------------------------------------------------------------------------
-//
-TAny* CRsfwPropFindParser::GetExtendedInterface(const TInt32 /* aUid */)
-    {
-    return NULL;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::SetDirEntArray
-// Set a pointer to the directory entry array to be filled.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::SetDirEntArray(RPointerArray<CRsfwDirEnt>* aDirEntArray)
-    {
-    iDirEntArray = aDirEntArray;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::SetTargetDirectory
-// Set the directory for which PROPFIND was targeted.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::SetTargetDirectory(const TDesC& aPropFindPath,
-                                         TInt aDepth)
-    {
-    iPropFindPath = &aPropFindPath;
-    iDepth = aDepth;
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::ClearDirEntryL()
-// Clear directory entry for later use.
-// ----------------------------------------------------------------------------
-//
-void CRsfwPropFindParser::ClearDirEntryL()
-    {
-    delete iDirEntry;
-    iDirEntry = NULL;
-    TPtrC noName;
-    iDirEntry = CRsfwDirEnt::NewL(noName, NULL);
-    // Will be changed to directory, if we ran into ´<collection> tag
-    iDirEntry->Attr()->SetAtt(KEntryAttNormal);
-    }
-
-// ----------------------------------------------------------------------------
-// CRsfwPropFindParser::DecodeL()
-// First UTF-8 decode and then escape decode data.
-// ----------------------------------------------------------------------------
-//
-HBufC* CRsfwPropFindParser::DecodeL(const TDesC8& aData)
-    {
-    HBufC8* utf8Data = EscapeUtils::EscapeDecodeL(aData);
-    CleanupStack::PushL(utf8Data);
-    HBufC* data = NULL;
-    // if converting to unicode fails, just return the escapedecoded string.
-    TRAPD(err, data = EscapeUtils::ConvertToUnicodeFromUtf8L(*utf8Data));
-    if (err) 
-        {
-        data = HBufC::NewMaxL(utf8Data->Length());
-        TPtr dataPtr = data->Des();
-        dataPtr.Copy(*utf8Data);
-        }
-    CleanupStack::PopAndDestroy(utf8Data);
-    return data;    
-
-    }
-    
-TInt CRsfwPropFindParser::GetLastError() 
-	{
-	return iError;
-	}
-	
-
-//  End of File
--- a/rsfw_plat/rsfw_access_protocol_plugin_api/group/bld.inf	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 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:  File that exports the files belonging to 
-:                Remote Storage FW MountMan API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/rsfwmountentryitem.h     MW_LAYER_PUBLIC_EXPORT_PATH(rsfwmountentryitem.h)
-../inc/rsfwmountman.h     MW_LAYER_PUBLIC_EXPORT_PATH(rsfwmountman.h)
-../inc/rsfwmountentry.h     MW_LAYER_PUBLIC_EXPORT_PATH(rsfwmountentry.h)
--- a/rsfw_plat/rsfw_access_protocol_plugin_api/inc/rsfwmountentry.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mount configuration entry
-*
-*/
-
-
-#ifndef CRSFWMOUNTENTRY_H
-#define CRSFWMOUNTENTRY_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-#include <rsfwmountentryitem.h>
-
-
-// Drive entry constants
-// these come from UI specification
-const TInt KMaxMountNameLength = 20;
-const TInt KMaxMountUriLength = 200;
-const TInt KMaxMountUserNameLength = 50;
-const TInt KMaxMountPasswordLength = 50;
-const TInt KMaxMountAuxDataLength  = 64;
-const TInt KMaxMountConfItemLength = 200; // Longest possible conf item value.
-const TInt KMaxMountConfLength     = 512; // Buffer for sending all drive 
-                                          // configuration values
-const TInt KIndexAsStringLength = 4; // how wide string for index
-
-
-// CLASS DECLARATION
-/**
-*  Remote drive (configuration) entry
-*
-*  Drive configuration entry consists of the following values:
-*  - Index of the entry. Optional.
-*  - Friendly name. Mandatory.
-*  - Drive letter. Optional.
-*  - Drive URL. Mandatory.
-*  - User name. Optional.
-*  - Password. Optional
-*  - Internet Access point. Optional.
-*
-*  Maximum lengths for the strings:
-*   - Friendly name 20 characters
-*   - Drive URL 200 characters
-*   - User name 50 characters
-*   - Password 50 characters
-*  Setter functions leave with KErrArgument, if longer values are attempted
-*
-*  Drive Letter must be between J: and Y:
-*  (see also RFs::DriveList() documentation)¨
-*
-*  Drive Url must begin with a valid scheme (e.g. https:// or upnp://)
-*
-*  @lib mountstore.dll
-*  @since Series 60 3.1
-*/
-class CRsfwMountEntry: public CBase
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static CRsfwMountEntry* NewL();
-
-    /**
-     * Two-phased constructor
-     */
-    IMPORT_C static CRsfwMountEntry* NewLC();
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CRsfwMountEntry();
-
-    /**
-     * Sets an item value
-     * @param aIndex item index
-     * @param aValue string value
-     * @leave KErrArgument, incorrect index or value
-     */
-    IMPORT_C void SetItemL(TInt aIndex, const TDesC8& aValue);
-
-    /**
-     * Sets an item value
-     * @param aIndex item index
-     * @param aValue string value
-     * @leave KErrArgument, incorrect index or value
-     */
-    IMPORT_C void SetItemL(TInt aIndex, const TDesC& aValue);
-
-    /**
-     * Sets all item values 
-     * @param aIndex index (only used for positioning the entry - not stored)
-     * @param aName name
-     * @param aDriveLetter drive letter
-     * @param aUri URI
-     * @param aUserName user name
-     * @param aPassword password
-     * @param aIap IAP name
-     * @leave KErrArgument, one or more parameters incorrect
-     */
-    IMPORT_C void SetEntryL(TInt aIndex,
-                            const TDesC& aName,
-                            TChar aDriveLetter,
-                            const TDesC& aUrl,
-                            const TDesC& aUserName,
-                            const TDesC& aPassword,
-                            const TDesC& aIap);
-
-    /**
-     * Returns an item value
-     * An empty value may be an empty string or NULL
-     */
-    IMPORT_C const HBufC* Item(TInt aIndex) const;
-    
-    /**
-     * Clear the entry - the items are set to NULL
-     */
-    IMPORT_C void Clear();
-
-    /**
-     * Clone the entry - the items are are copied to the newly created entry
-     * @return cloned entry
-     */
-    IMPORT_C CRsfwMountEntry* CloneL() const;
-
-private:
-    CRsfwMountEntry();
-    void ConstructL();
-
-private: // Data
-    RFs iFs;
-    HBufC* iMountEntryItems[EMountEntryItemCount];
-    };
-
-#endif // CRSFWMOUNTENTRY_H
-
-// End of File
--- a/rsfw_plat/rsfw_access_protocol_plugin_api/inc/rsfwmountentryitem.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Mount entry item definitions
-*
-*/
-
-
-#ifndef RSFWMOUNTENTRYITEM_H
-#define RSFWMOUNTENTRYITEM_H
-
-// DATA TYPES
-enum TMountEntryItemIndex
-    {
-    EMountEntryItemIndex, // used for positioning the entry
-    EMountEntryItemName,
-    EMountEntryItemDrive,
-    EMountEntryItemUri,
-    EMountEntryItemUserName,
-    EMountEntryItemPassword,
-    EMountEntryItemIap,
-    EMountEntryItemInactivityTimeout,
-    EMountEntryItemReserved,
-    EMountEntryItemCount
-    };
-
-#endif // RSFWMOUNTENTRYITEM_H
-
-// End of File
--- a/rsfw_plat/rsfw_access_protocol_plugin_api/inc/rsfwmountman.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,391 +0,0 @@
-/*
-* Copyright (c) 2004-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:  RSFW Mount Manager API
-*
-*/
-
-
-#ifndef CRSFWMOUNTMAN_H
-#define CRSFWMOUNTMAN_H
-
-#include <e32cmn.h>
-#include <e32base.h>
-#include <f32file.h>
-#include <s32strm.h>
-
-#include <rsfwmountentry.h> // mount entry constants
-
-class TRsfwMountInfo;
-
-// FORWARD DECLARATIONS
-class CRsfwMountEntry;
-class CRsfwMountManImpl;
-class CDesC16Array;
-
-// CONSTANTS
-// the secure UID of the server, used as a P&S key category
-const TUid KRfeServerSecureUid = { 0x101F970D };
-//the maximum number of remote drives
-const TInt KMaxRemoteDrives = 9;
-
-// DATA TYPES
-// Event types for MRsfwMountManObserver
-enum TMountManEvent
-    {
-    EMountManEventMountConfigurationChanged = 1,
-    EMountManEventMounted
-    };
-
-// P&S keys
-// for notifying UI that a remote drive has been connected or disconnected
-enum TRfePSKeys
-	{
-	ERsfwPSKeyConnect
-	};
-
-// Connection states
-const TUint KMountStronglyConnected = 0x01;
-const TUint KMountConnecting = 0x02; // temporary state during establishing a connection
-                                     // to the drive, not to be used via MountMan API
-const TUint KMountNotConnected      = 0x03;
-
-// CLASS DECLARATION
-/**
- *  Interface for receiving mounting events
- *
- *  @lib mountman.dll
- *  @since Series 60 3.1
- */
-
-class MRsfwMountManObserver
-    {
-public:
-    /**
-     * Handles an event emanating from a CRsfwMountMan class
-     *
-     * @param aEventType type of the event
-     * @param aStatus status code
-     * @param aArg miscellaneous arguments
-     */
-    virtual void HandleMountManEventL(TMountManEvent aEvent,
-                                      TInt aStatus,
-                                      TAny* aArg) = 0;
-    };
-
-/**
- *  Encapsulates remote mount configuration.
- *
- *  @lib rsfwmountman.dll
- *  @since Series 60 3.1
- */
-class TRsfwMountConfig
-    {
-public:   // New functions
-    IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-    IMPORT_C void InternalizeL(RReadStream& aStream);
-
-public:   // Data
-    TChar                         iDriveLetter;
-    TBuf<KMaxMountNameLength>     iName;
-    TBuf<KMaxMountUriLength>      iUri;
-    TBuf<KMaxMountUserNameLength> iUserName;
-    TBuf<KMaxMountPasswordLength> iPassword;
-    TBuf<KMaxMountAuxDataLength>  iAuxData;
-    TUint                         iFlags;
-    TInt                          iInactivityTimeout;
-    };
-    
-
-/**
- *  Encapsulates remote mount status information.
- *
- *  @lib rsfwmountman.dll
- *  @since Series 60 3.1
- */
-class TRsfwMountStatus
-    {
-public:   // Data
-    TInt                          iVolumeId;
-    /** iMountState is not used and will be removed */
-    TUint                         iMountState;  
-    /** see KMountStronglyConnected and other connection states */
-    TUint                         iConnectionState; 
-    TInt                          iCachedSize;
-    TInt                          iInactivityTime;
-    TInt                          iInactivityTimeout;
-    TBool                         iPermanence;
-    };
-    
-
-/**
- *  Encapsulates all information about a mount.
- *
- *  @lib rsfwmountman.dll
- *  @since Series 60 3.1
- */
-class TRsfwMountInfo
-    {
-public:   // New functions
-    void ExternalizeL(RWriteStream& aStream) const;
-    void InternalizeL(RReadStream& aStream);
-
-public:   // Data
-    TRsfwMountConfig                  iMountConfig;
-    TRsfwMountStatus                  iMountStatus;
-    }; 
-    
-
-
-
-// CLASS DECLARATION
-
-/**
- *  Class for managing mounts to remote file repositories
- *
- *  @lib mountman.dll
- *  @since Series 60 3.1
- */
-
-class CRsfwMountMan : public CBase
-    {
-public: // Constructors and destructor
-    /**
-     * Two-phased constructor.
-     *
-     * @param aDefaultFlags must be set to KMountFlagInteractive
-     *   if the user is to be prompted during the mount procedure.
-     *   Otherwise the parameter can be set to zero.
-     * @param mount event observer
-     * @return pointer to the created CRsfwMountMan object instance
-     */
-    IMPORT_C static CRsfwMountMan* NewL(TUint aDefaultFlags,
-                                    MRsfwMountManObserver* aMountManObserver);
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~CRsfwMountMan();
-
-public: // New functions
-    /**
-     * Returns a list of friendly names of all mount configurations
-     * in the mount configuration repository.
-     * The entries are returned in the order that they appear in the
-     * repository.
-     * @param aNames friendly names
-     * @return nothing
-     */
-    IMPORT_C void GetMountNamesL(CDesC16Array* aNames) const;
-
-    /**
-     * Gets the mount configuration entry having the given friendly name.
-     * The caller must make sure that the name is unique.
-     * @param aId friendly name
-     * @return a pointer to the configuration entry or NULL if not found
-     */
-    IMPORT_C const CRsfwMountEntry* MountEntryL(const TDesC& aName) const;
-
-    /**
-     * Gets the mount configuration entry for the given drive letter.
-     * @param aDriveLetter drive letter
-     * @return a pointer to the configuration entry or NULL if not found
-     */
-    IMPORT_C const CRsfwMountEntry* MountEntryL(TChar aDriveLetter) const;
-
-    /**
-     * Adds a mount configuration entry in the configurations and
-     * mounts the drive in the File Server.
-     * If the drive letter item is not set in the configuration,
-     * a free letter will be allocated.
-     * Then the EMountEntryItemDrive value in aMountEntry will be changed.
-     * The EMountEntryItemIndex item of aMountEntry is used for
-     * positioning the entry in a specific order in the configuration database
-     * (the index itself is not stored)
-     *
-     * @param aMountEntry mount configuration entry
-     *  the ownership of the pointer is transferred to CRsfwMountMan
-     * @return nothing
-     * @leave KErrInUse selected drive letter already in used
-     * @leave KErrInUse selected name is in use
-     * @leave KErrInUse 9 remote drives already define
-     * (Number of remote drives is limited by default to 9 so that drive 
-     *  letters are also available for other technologies)
-     * @leave KErrAccessDenied program does not have sufficient capabilities
-     *        required capabilities are DiskAdmin (to mount new remote drive in 
-     *        File Server) and WriteDeviceData (to add new remote drive to
-     *         Central Repository)
-     * @leave KErrNotFound
-     *        File System plug-in, Central Repository table etc. not found
-     */
-    IMPORT_C void AddMountEntryL(CRsfwMountEntry* aMountEntry);
-
-    /**
-     * Deletes a mount entry from the configurations and unmounts the drive.
-     * Nothing is done if the entry does not exist.
-     *
-     * @param aName name
-     * @return nothing
-     */
-    IMPORT_C void DeleteMountEntryL(const TDesC& aName);
-
-    /**
-     * Deletes a mount entry from the configurations and unmounts the drive.
-     * Nothing is done if the entry does not exist.
-     *
-     * @param aDriveLetter drive letter
-     * @return nothing
-     */
-    IMPORT_C void DeleteMountEntryL(TChar aDriveLetter);
-
-  
-    /**
-     * Gets a list of all drives as seen by the File Server
-     *
-     * Returns drive letters. 
-     * Letters for local drives are in the front of the list
-     * Letters for remote drives in order defined in CenRep
-     *   The number of the drives is the same as the length of the list
-     *
-     * @param aDriveList returned drive list
-     * @return number of remote drives
-     */
-    IMPORT_C TInt GetAllDrivesL(TDriveList& aDriveList) const;
-
-    /**
-     * Gets a list of all remote drives as seen by the File Server
-     *
-     * The list contains the letters of the remote drives.
-     * Letters for remote drives in order defined in CenRep
-     *   The number of the drives is the same as the length of the list
-     *
-     * @param aDriveList returned drive list
-     * @return number of remote drives
-     */
-    IMPORT_C TInt GetRemoteMountListL(TDriveList& aDriveList) const;
-    
-    /**
-     * Gets mount information for an active remote drive.
-     *
-     * The information consists of static configuration information and
-     *   status information (such as strongly or weakly connected).
-     * Note that if the drive is not atctive this function will 
-     * return -1, you need to use MountEntryL to get just the static 
-     * configuration information
-     *
-     * @param aDriveLetter drive letter of the mount
-     * @param aMountInfo returned information
-     * @return error code
-     */
-    IMPORT_C TInt GetMountInfo(TChar aDriveLetter, TRsfwMountInfo& aMountInfo) const;
-
-    /**
-     * Sets the connection state of a mount for an active remote drive
-     *
-     * @param aDriveLetter drive letter of the mount
-     * @param aConnectionState
-     *   The following connection states have been defined:
-     *     KMountStronglyConnected = strongly connected state
-     *     KMountWeaklyConnected   = weakly connected state
-     *     KMountNotConnected      = disconnected state
-     *
-     * @return error code
-     */
-    IMPORT_C TInt SetMountConnectionState(TChar aDriveLetter,
-                                          TUint aConnectionState);
-
-    /**
-     * Changes a mount configuration entry in the configurations
-     *  
-     * @param aMountEntry mount configuration entry
-     *  the ownership of the pointer is transferred to CRsfwMountMan
-     * @return nothing
-     * @leave KErrInUse if the name of the mount is used by other mount
-     * @leave KErrAccessDenied program does not have sufficient capabilities
-     *        required capabilities are DiskAdmin (to mount new remote drive in 
-     *        File Server) and WriteDeviceData (to add new remote drive to
-     *         Central Repository)
-     * @leave KErrNotFound if mount with given letter not found or
-     *        File System plug-in, Central Repository table etc. not found
-     */
-    IMPORT_C void EditMountEntryL(CRsfwMountEntry* aMountEntry);
-    
-    
-     /**
-     * Refresh a remote directory
-     *
-     * Ensures that contents of a remote directory are up to date.
-     * Synchronous variant deletes the currently cached version.
-     * Note that this function intentionally does not return directory
-     * contents. All data should be read through the File Server instead.
-     *
-     * @return KErrArgument Path refers to a file
-     *         KErrNotFound path is not found from cache
-     */
-    IMPORT_C TInt RefreshDirectory(const TDesC& aPath);
-
-    /**
-     * Some applications have problems with handling remote files.
-     * Function checks whether app with given UID is one of them.
-     *  
-     * @param aUid UID of the application
-     * @return ETrue if it is on the black list, otherwise EFalse
-     */    
-    IMPORT_C TBool IsAppOnBlackList(TUid aUid) const;
-    
-    
-     /**
-     * Cancels an active remote file upload or download
-     * 
-     * @param aFile file name
-     * @return one of the system wide error codes.
-     */    
-    IMPORT_C TInt CancelRemoteTransfer(const TDesC& aFile);
-    
-    
-    /**
-     * Sets the connection state of a mount for an active remote drive
-     * sends a bling request, does not wait for reply
-     *
-     * @param aDriveLetter drive letter of the mount
-     * @param aConnectionState
-     *   The following connection states have been defined:
-     *     KMountStronglyConnected = strongly connected state
-     *     KMountWeaklyConnected   = weakly connected state
-     *     KMountNotConnected      = disconnected state
-     *
-     * @return error code
-     */
-    IMPORT_C TInt SetMountConnectionStateBlind(TChar aDriveLetter,
-                                          TUint aConnectionState);
-
-    
-private:
-    /**
-     * C++ default constructor
-     */
-    CRsfwMountMan();
-    
-    /**
-     * Second phase constructor
-     */
-    void ConstructL(TUint aDefaultFlags,
-                    MRsfwMountManObserver* aMountManObserver);
-
-private: // Data
-    CRsfwMountManImpl* iMountManImpl; // implementation
-    };
-
-#endif // CRSFWMOUNTMAN_H
-
-// End of File
--- a/rsfw_plat/rsfw_access_protocol_plugin_api/remote_storage_fw_mountman_api.metaxml	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="7a70cfbb928715aa4d102f59db155e58" dataversion="2.0">
-  <name>Remote Storage FW MountMan API</name>
-  <description>Provides control functions that can be used to mount and unmount remote storages, make queries about active mounts, their connection properties (server name etc.) and connection state (connected/disconnected). It can also be used to set the connection state of some active mount.</description>
-  <type>c++</type>
-  <collection>remotestoragefw</collection>
-  <libs>
-    <lib name="rsfwmountman.lib" />
-  </libs>
-  <release category="platform"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>no</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/sysdef_1_4_0.dtd	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>