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