diff -r 87c71b25c937 -r 88ee4cf65e19 remotestoragefw/remotefileengine/src/rsfwremoteaccesssync.cpp --- 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 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& 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