class RFs : public RSessionBase |
A handle to a file server session.
A program or thread may have arbitrarily many sessions open simultaneously.
Use this class for all file system manipulation, including:
1. adding, removing, moving and renaming files and directories
2. inspecting and changing file attributes and directory entry details. These include the time and date when the file or directory was last written to, its size and various attribute flags such as read-only, hidden, archive or system.
3. finding a file s real name; if the file system on which it is stored has to "mangle" the name into a shorter format
4. getting directory listings
5. maintaining a default path; unlike some other systems, there is a single system default path, rather than one for each drive: the default path consists of a drive and a path specification.
6. performing context-sensitive parses using TParse objects, and the session path
7. obtaining information on drives and volumes
8. formatting and labelling volumes
9. obtaining a list of valid drives
10. emulating the DOS subst command, which allows any directory to appear as if it were a separate drive
11. requesting notification of when significant change occurs. This can be used for programs which maintain file lists, but must update those lists when change occurs.
12. finding the version number of the file server
13. resource counting to ensure that all resources are closed when the session terminates.
This class is not intended for user derivation.
The following restrictions apply when a path is specified:
1. its total length must not exceed 256 characters
2. wildcards cannot be used in the drive or in any directory name, although they may be allowed in the filename and extension.
3. double backslashes are not allowed in the path.
4. the following characters must not be included anywhere in the path: < > " / |
5. a colon may only be included between the drive and path
6. no directory name or filename plus extension may consist solely of space characters, or of a single or double dot.
7. spaces between the drive, if specified, and the first directory in the path are illegal, although there may be spaces between other path components, for instance between directories.
Protected Member Functions | |
---|---|
TInt | SendReceive(TInt, const TIpcArgs &) |
Private Member Functions | |
---|---|
void | DoGetDirL(TUint, CDir *&, RDir &) |
IMPORT_C TInt | DoMountProxyDrive(const TIpcArgs &) |
void | GetDirL(const TDesC &, TUint, TUint, CDir *&, CDir *&, RDir &) |
void | GetDirL(const TDesC &, TUint, TUint, CDir *&, RDir &) |
void | GetDirL(const TDesC &, const TUidType &, TUint, CDir *&, RDir &) |
TInt | GetOpenFileList(TInt &, TInt &, TThreadId &, TEntryArray &) |
EFSRV_IMPORT_C TInt | ReadFileSection_RESERVED(const TDesC &, TInt, TDes8 &, TInt) |
Public Member Enumerations | |
---|---|
enum | anonymous { KRootFileSystem = 0x00800000, KFirstChildFileSystem = 0 } |
enum | TFinaliseDrvMode { EFinal_RW, EFinal_RO, EForceUnfinalise } |
Inherited Enumerations | |
---|---|
RHandleBase:TAttributes | |
RSessionBase:TAttachMode |
Inherited Attributes | |
---|---|
RHandleBase::iHandle |
EFSRV_IMPORT_C TInt | AddCompositeMount | ( | const TDesC & | aFileSystemName, |
TInt | aLocalDriveToMount, | |||
TInt | aCompositeDrive, | |||
TBool | aSync | |||
) | const |
EFSRV_IMPORT_C TInt | AddExtension | ( | const TDesC & | aFileName | ) |
const TDesC & aFileName |
EFSRV_IMPORT_C TInt | AddFileSystem | ( | const TDesC & | aFileName | ) | const |
const TDesC & aFileName |
EFSRV_IMPORT_C TInt | AddPlugin | ( | const TDesC & | aFileName | ) | const |
const TDesC & aFileName |
IMPORT_C TInt | AddProxyDrive | ( | const TDesC & | aFileName | ) |
const TDesC & aFileName |
EFSRV_IMPORT_C TInt | CheckDisk | ( | const TDesC & | aDrive | ) | const |
const TDesC & aDrive |
EFSRV_IMPORT_C TInt | ClearPassword | ( | TInt | aDrv, |
const TMediaPassword & | aPswd | |||
) |
TInt aDrv | |
const TMediaPassword & aPswd |
EFSRV_IMPORT_C TInt | Connect | ( | TInt | aMessageSlots = KFileServerDefaultMessageSlots | ) |
TInt aMessageSlots = KFileServerDefaultMessageSlots |
EFSRV_IMPORT_C TInt | ControlIo | ( | TInt | aDrive, |
TInt | aCommand, | |||
TDes8 & | aParam1 | |||
) |
EFSRV_IMPORT_C TInt | ControlIo | ( | TInt | aDrive, |
TInt | aCommand, | |||
TDes8 & | aParam1, | |||
TDes8 & | aParam2 | |||
) |
EFSRV_IMPORT_C TInt | ControlIo | ( | TInt | aDrive, |
TInt | aCommand, | |||
TAny * | aParam1, | |||
TAny * | aParam2 | |||
) |
EFSRV_IMPORT_C void | DebugNotify | ( | TInt | aDrive, |
TUint | aNotifyType, | |||
TRequestStatus & | aStat | |||
) |
TInt aDrive | |
TUint aNotifyType | |
TRequestStatus & aStat |
EFSRV_IMPORT_C TInt | DismountExtension | ( | const TDesC & | aExtensionName, |
TInt | aDrive | |||
) |
EFSRV_IMPORT_C TInt | DismountFileSystem | ( | const TDesC & | aFileSystemName, |
TInt | aDrive | |||
) | const |
EFSRV_IMPORT_C TInt | DismountPlugin | ( | const TDesC & | aPluginName | ) | const |
const TDesC & aPluginName |
EFSRV_IMPORT_C TInt | DismountPlugin | ( | const TDesC & | aPluginName, |
TInt | aDrive | |||
) | const |
EFSRV_IMPORT_C TInt | DismountPlugin | ( | const TDesC & | aPluginName, |
TInt | aDrive, | |||
TInt | aPos | |||
) | const |
IMPORT_C TInt | DismountProxyDrive | ( | const TUint | aDrive | ) |
const TUint aDrive |
void | DoGetDirL | ( | TUint | anEntrySortKey, |
CDir *& | anEntryList, | |||
RDir & | aDir | |||
) | const [private] |
IMPORT_C TInt | DoMountProxyDrive | ( | const TIpcArgs & | ipcArgs | ) | [private] |
const TIpcArgs & ipcArgs |
EFSRV_IMPORT_C TInt | Drive | ( | TDriveInfo & | anInfo, |
TInt | aDrive = KDefaultDrive | |||
) | const |
TDriveInfo & anInfo | |
TInt aDrive = KDefaultDrive |
EFSRV_IMPORT_C TInt | DriveList | ( | TDriveList & | aList | ) | const |
TDriveList & aList |
EFSRV_IMPORT_C TInt | DriveList | ( | TDriveList & | aList, |
TUint | aFlags | |||
) | const |
TDriveList & aList | |
TUint aFlags |
EFSRV_IMPORT_C TInt | ExtensionName | ( | TDes & | aExtensionName, |
TInt | aDrive, | |||
TInt | aPos | |||
) |
EFSRV_IMPORT_C TInt | FileSystemSubType | ( | TInt | aDriveNo, |
TDes & | aName | |||
) | const |
EFSRV_IMPORT_C TInt | FinaliseDrive | ( | TInt | aDriveNo, |
TFinaliseDrvMode | aMode | |||
) | const |
TInt aDriveNo | |
TFinaliseDrvMode aMode |
EFSRV_IMPORT_C TInt | GetDir | ( | const TDesC & | aName, |
TUint | anEntryAttMask, | |||
TUint | anEntrySortKey, | |||
CDir *& | anEntryList | |||
) | const |
EFSRV_IMPORT_C TInt | GetDir | ( | const TDesC & | aName, |
TUint | anEntryAttMask, | |||
TUint | anEntrySortKey, | |||
CDir *& | anEntryList, | |||
CDir *& | aDirList | |||
) | const |
EFSRV_IMPORT_C TInt | GetDir | ( | const TDesC & | aName, |
const TUidType & | anEntryUid, | |||
TUint | anEntrySortKey, | |||
CDir *& | aFileList | |||
) | const |
void | GetDirL | ( | const TDesC & | aMatchName, |
TUint | anEntryAttMask, | |||
TUint | anEntrySortKey, | |||
CDir *& | anEntryList, | |||
CDir *& | aDirList, | |||
RDir & | aDir | |||
) | const [private] |
void | GetDirL | ( | const TDesC & | aMatchName, |
TUint | anEntryAttMask, | |||
TUint | anEntrySortKey, | |||
CDir *& | anEntryList, | |||
RDir & | aDir | |||
) | const [private] |
void | GetDirL | ( | const TDesC & | aMatchName, |
const TUidType & | aUidType, | |||
TUint | anEntrySortKey, | |||
CDir *& | anEntryList, | |||
RDir & | aDir | |||
) | const [private] |
EFSRV_IMPORT_C TInt | GetLongName | ( | const TDesC & | aShortName, |
TDes & | aLongName | |||
) | const |
EFSRV_IMPORT_C TInt | GetMediaSerialNumber | ( | TMediaSerialNumber & | aSerialNum, |
TInt | aDrive | |||
) |
TMediaSerialNumber & aSerialNum | |
TInt aDrive |
TInt | GetOpenFileList | ( | TInt & | aSessionNum, |
TInt & | aLocalPos, | |||
TThreadId & | aThreadId, | |||
TEntryArray & | anArray | |||
) | const [private] |
TInt & aSessionNum | |
TInt & aLocalPos | |
TThreadId & aThreadId | |
TEntryArray & anArray |
EFSRV_IMPORT_C TInt | GetShortName | ( | const TDesC & | aLongName, |
TDes & | aShortName | |||
) | const |
EFSRV_IMPORT_C TInt | InitialisePropertiesFile | ( | const TPtrC8 & | aPtr | ) | const |
const TPtrC8 & aPtr |
EFSRV_IMPORT_C TUint8 * | IsFileInRom | ( | const TDesC & | aFileName | ) | const |
const TDesC & aFileName |
EFSRV_IMPORT_C TInt | IsFileOpen | ( | const TDesC & | aFile, |
TBool & | anAnswer | |||
) | const |
EFSRV_IMPORT_C TBool | IsValidName | ( | const TDesC & | anEntryName | ) | const |
const TDesC & anEntryName |
EFSRV_IMPORT_C TBool | IsValidName | ( | const TDesC & | aFileName, |
TText & | aBadChar | |||
) | const |
EFSRV_IMPORT_C TBool | IsValidName | ( | const TDesC & | aName, |
TNameValidParam & | aParam | |||
) |
const TDesC & aName | |
TNameValidParam & aParam |
EFSRV_IMPORT_C TInt | LoaderHeapFunction | ( | TInt | aFunction, |
TAny * | aArg1 = NULL, | |||
TAny * | aArg2 = NULL | |||
) |
EFSRV_IMPORT_C TInt | LockDrive | ( | TInt | aDrv, |
const TMediaPassword & | aOld, | |||
const TMediaPassword & | aNew, | |||
TBool | aStr | |||
) |
TInt aDrv | |
const TMediaPassword & aOld | |
const TMediaPassword & aNew | |
TBool aStr |
EFSRV_IMPORT_C TInt | MkDirAll | ( | const TDesC & | aPath | ) |
const TDesC & aPath |
EFSRV_IMPORT_C TInt | Modified | ( | const TDesC & | aName, |
TTime & | aTime | |||
) | const |
EFSRV_IMPORT_C TInt | MountExtension | ( | const TDesC & | aExtensionName, |
TInt | aDrive | |||
) |
EFSRV_IMPORT_C TInt | MountFileSystem | ( | const TDesC & | aFileSystemName, |
TInt | aDrive | |||
) | const |
EFSRV_IMPORT_C TInt | MountFileSystem | ( | const TDesC & | aFileSystemName, |
TInt | aDrive, | |||
TBool | aIsSync | |||
) | const |
EFSRV_IMPORT_C TInt | MountFileSystem | ( | const TDesC & | aFileSystemName, |
const TDesC & | aExtensionName, | |||
TInt | aDrive | |||
) |
EFSRV_IMPORT_C TInt | MountFileSystem | ( | const TDesC & | aFileSystemName, |
const TDesC & | aExtensionName, | |||
TInt | aDrive, | |||
TBool | aIsSync | |||
) |
EFSRV_IMPORT_C TInt | MountFileSystemAndScan | ( | const TDesC & | aFileSystemName, |
TInt | aDrive, | |||
TBool & | aIsMountSuccess | |||
) | const |
EFSRV_IMPORT_C TInt | MountFileSystemAndScan | ( | const TDesC & | aFileSystemName, |
const TDesC & | aExtensionName, | |||
TInt | aDrive, | |||
TBool & | aIsMountSuccess | |||
) | const |
EFSRV_IMPORT_C TInt | MountPlugin | ( | const TDesC & | aPluginName | ) | const |
const TDesC & aPluginName |
EFSRV_IMPORT_C TInt | MountPlugin | ( | const TDesC & | aPluginName, |
TInt | aDrive | |||
) | const |
EFSRV_IMPORT_C TInt | MountPlugin | ( | const TDesC & | aPluginName, |
TInt | aDrive, | |||
TInt | aPos | |||
) | const |
TInt | MountProxyDrive | ( | const TUint | aDrive, |
const TDesC & | aName, | |||
T0 | a0, | |||
T1 | a1 | |||
) | [inline] |
EFSRV_IMPORT_C void | NotifyChange | ( | TNotifyType | aType, |
TRequestStatus & | aStat | |||
) |
TNotifyType aType | |
TRequestStatus & aStat |
EFSRV_IMPORT_C void | NotifyChange | ( | TNotifyType | aType, |
TRequestStatus & | aStat, | |||
const TDesC & | aPathName | |||
) |
TNotifyType aType | |
TRequestStatus & aStat | |
const TDesC & aPathName |
EFSRV_IMPORT_C void | NotifyChangeCancel | ( | TRequestStatus & | aStat | ) |
TRequestStatus & aStat |
EFSRV_IMPORT_C void | NotifyDiskSpace | ( | TInt64 | aThreshold, |
TInt | aDrive, | |||
TRequestStatus & | aStat | |||
) |
TInt64 aThreshold | |
TInt aDrive | |
TRequestStatus & aStat |
EFSRV_IMPORT_C void | NotifyDiskSpaceCancel | ( | TRequestStatus & | aStat | ) |
TRequestStatus & aStat |
EFSRV_IMPORT_C void | NotifyDismount | ( | TInt | aDrive, |
TRequestStatus & | aStat, | |||
TNotifyDismountMode | aMode = EFsDismountRegisterClient | |||
) | const |
TInt aDrive | |
TRequestStatus & aStat | |
TNotifyDismountMode aMode = EFsDismountRegisterClient |
EFSRV_IMPORT_C void | NotifyDismountCancel | ( | TRequestStatus & | aStat | ) | const |
TRequestStatus & aStat |
EFSRV_IMPORT_C TInt | Parse | ( | const TDesC & | aName, |
const TDesC & | aRelated, | |||
TParse & | aParse | |||
) | const |
EFSRV_IMPORT_C TInt | PluginName | ( | TDes & | aPluginName, |
TInt | aDrive, | |||
TInt | aPos | |||
) |
EFSRV_IMPORT_C TInt | QueryVolumeInfoExt | ( | TInt | aDrive, |
TQueryVolumeInfoExtCmd | aCommand, | |||
TDes8 & | aInfo | |||
) | const |
TInt aDrive | |
TQueryVolumeInfoExtCmd aCommand | |
TDes8 & aInfo |
EFSRV_IMPORT_C TInt | ReadFileSection | ( | const TDesC & | aName, |
TInt64 | aPos, | |||
TDes8 & | aDes, | |||
TInt | aLength | |||
) | const |
EFSRV_IMPORT_C TInt | ReadFileSection_RESERVED | ( | const TDesC & | aName, |
TInt | aPos, | |||
TDes8 & | aDes, | |||
TInt | aLength | |||
) | const [private] |
EFSRV_IMPORT_C TInt | RealName | ( | const TDesC & | aName, |
TDes & | aResult | |||
) | const |
EFSRV_IMPORT_C TInt | ReleaseReserveAccess | ( | TInt | aDriveNo | ) |
TInt aDriveNo |
EFSRV_IMPORT_C TInt | RemountDrive | ( | TInt | aDrive, |
const TDesC8 * | aMountInfo = NULL, | |||
TUint | aFlags = 0 | |||
) |
EFSRV_IMPORT_C TInt | RemoveExtension | ( | const TDesC & | aExtensionName | ) |
const TDesC & aExtensionName |
EFSRV_IMPORT_C TInt | RemoveFileSystem | ( | const TDesC & | aFileSystemName | ) | const |
const TDesC & aFileSystemName |
EFSRV_IMPORT_C TInt | RemovePlugin | ( | const TDesC & | aPluginName | ) | const |
const TDesC & aPluginName |
IMPORT_C TInt | RemoveProxyDrive | ( | const TDesC & | aDriveName | ) |
const TDesC & aDriveName |
EFSRV_IMPORT_C TInt | Rename | ( | const TDesC & | anOldName, |
const TDesC & | aNewName | |||
) |
EFSRV_IMPORT_C TInt | Replace | ( | const TDesC & | anOldName, |
const TDesC & | aNewName | |||
) |
EFSRV_IMPORT_C TInt | ScanDrive | ( | const TDesC & | aDrive | ) | const |
const TDesC & aDrive |
TInt | SendReceive | ( | TInt | aFunction, |
const TIpcArgs & | aArgs | |||
) | const [protected] |
Issues a synchronous request to the server with the specified function number and arguments.
KErrNone, if the send operation is successful; KErrServerTerminated, if the server no longer present; KErrServerBusy, if there are no message slots available; KErrNoMemory, if there is insufficient memory available.
panic
USER 72 if the function number is negative.
EFSRV_IMPORT_C TInt | SetAtt | ( | const TDesC & | aName, |
TUint | aSetAttMask, | |||
TUint | aClearAttMask | |||
) |
EFSRV_IMPORT_C TInt | SetDriveName | ( | TInt | aDrive, |
const TDesC & | aDriveName | |||
) |
EFSRV_IMPORT_C TInt | SetEntry | ( | const TDesC & | aName, |
const TTime & | aTime, | |||
TUint | aSetAttMask, | |||
TUint | aClearAttMask | |||
) |
EFSRV_IMPORT_C TInt | SetLocalDriveMapping | ( | const TDesC8 & | aMapping | ) |
const TDesC8 & aMapping |
EFSRV_IMPORT_C TInt | SetModified | ( | const TDesC & | aName, |
const TTime & | aTime | |||
) |
EFSRV_IMPORT_C TInt | SetNotifyChange | ( | TBool | aNotifyChange | ) |
TBool aNotifyChange |
EFSRV_IMPORT_C TInt | SetSessionPath | ( | const TDesC & | aPath | ) |
const TDesC & aPath |
EFSRV_IMPORT_C TInt | SetStartupConfiguration | ( | TInt | aCommand, |
TAny * | aParam1, | |||
TAny * | aParam2 | |||
) | const |
EFSRV_IMPORT_C TInt | SetSubst | ( | const TDesC & | aPath, |
TInt | aDrive = KDefaultDrive | |||
) |
const TDesC & aPath | |
TInt aDrive = KDefaultDrive |
EFSRV_IMPORT_C TInt | SetSystemDrive | ( | TDriveNumber | aSystemDrive | ) |
TDriveNumber aSystemDrive |
EFSRV_IMPORT_C TInt | SetVolumeLabel | ( | const TDesC & | aName, |
TInt | aDrive = KDefaultDrive | |||
) |
const TDesC & aName | |
TInt aDrive = KDefaultDrive |
EFSRV_IMPORT_C void | StartupInitComplete | ( | TRequestStatus & | aStat | ) |
TRequestStatus & aStat |
EFSRV_IMPORT_C TInt | Subst | ( | TDes & | aPath, |
TInt | aDrive = KDefaultDrive | |||
) | const |
TDes & aPath | |
TInt aDrive = KDefaultDrive |
EFSRV_IMPORT_C TInt | SupportedFileSystemName | ( | TDes & | aName, |
TInt | aDrive, | |||
TInt | aFsEnumerator | |||
) | const |
EFSRV_IMPORT_C TInt | SwapFileSystem | ( | const TDesC & | aOldFileSystemName, |
const TDesC & | aNewFileSystemName, | |||
TInt | aDrive | |||
) | const |
TInt | Unclamp | ( | const RFileClamp & | aHandle | ) |
const RFileClamp & aHandle |
EFSRV_IMPORT_C TInt | UnlockDrive | ( | TInt | aDrv, |
const TMediaPassword & | Pswd, | |||
TBool | aStr | |||
) |
TInt aDrv | |
const TMediaPassword & Pswd | |
TBool aStr |
EFSRV_IMPORT_C TInt | Volume | ( | TVolumeInfo & | aVol, |
TInt | aDrive = KDefaultDrive | |||
) | const |
TVolumeInfo & aVol | |
TInt aDrive = KDefaultDrive |
EFSRV_IMPORT_C void | Volume | ( | TVolumeInfo & | aVol, |
TInt | aDrive, | |||
TRequestStatus & | aStat | |||
) | const |
TVolumeInfo & aVol | |
TInt aDrive | |
TRequestStatus & aStat |
EFSRV_IMPORT_C TInt | VolumeIOParam | ( | TInt | aDriveNo, |
TVolumeIOParamInfo & | aParamInfo | |||
) | const |
TInt aDriveNo | |
TVolumeIOParamInfo & aParamInfo |
Special enumerator values for the SupportedFileSystemName() API
KRootFileSystem = 0x00800000 | |
KFirstChildFileSystem = 0 |