--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotestoragefw/remotefileengine/src/rsfwrfesyncoperation.cpp Wed Sep 01 12:15:08 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* 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);
+ }
+