--- 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