Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



File Server Client Side Overview


Purpose

Provides an application interface to file systems.

[Top]


Architectural relationships

File access is provided by an EPOC server, the file server. It provides local file systems (ROM, RAM and removable media), and an interface to allow dynamically installable file systems, such as those required to communicate with remote disks over a network.

The drive, directory and file hierarchy is VFAT, thus making the file system naturally compatible with desktop PCs.

Stream stores, as defined in the Stores API, provides a layer over the file interface, and are commonly used instead of the file API directly.

The application architecture, as defined in the Application Architecture Framework API, and associated components, provide the policy for file locations. Because of this, most application programs do not need to know the details of the directory-related APIs.

Some additional utilities are provided in the Application Utilities API.

[Top]


Description

The API has seven key concepts: file server session; file; directory; units, drives and volumes; path and filename parser; file management; and file search.


File server session

All access from client to server is through a file server session. It provides file system manipulation functions, including adding, removing, moving and renaming files and directories; inspecting and changing file and directory attributes and entry details; and requesting notifications of when significant change occurs.

The file server session is provided by RFs.


File

A specified file can be opened, created, or replaced. Files must be opened before they are read from or written to. Data in read and write operations is passed through descriptors. Files can also be read and written through the file stream classes provided by the File Stores API.

The file interface is provided by RFile.


Directory

A directory entry is a directory, file or volume label. Directory entries can be read and sorted.

To read through a directory one entry at a time, use RDir. To read many entries at a time, use RFs functions and the associated CDir. The directory entry class is TEntry.


Units, drives and volumes

A unit is a device which may or may not have a drive in it. For removable media, the unit is always present, but a drive may not be. A drive can have up to four partitions, representing volumes, on it.

RFs provides means to find out which units, drives and volumes are present. Information for them is encapsulated in TDriveUnit, TDriveInfo and TVolumeInfo.


Path and filename parser

A filename has the logical parts of drive, path, name, and extension. An interface to manipulate filenames is provided by TParseBase. Concrete implementations are provided by the derived classes, TParse, TParsePtr and TParsePtrC.


File management

Efficient large-scale copying, moving and other file management operations, are provided by CFileMan.


File search

High-level file finding functionality is provided by TFindFile.

[Top]


See also

Application Utilities Overview

File Stores Overview

Client/Server Overview

Stores Overview