Symbian3/SDK/Source/GUID-B69FE02E-3A78-5438-BA7C-F7BB4CD3EB76.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 7 51a74ef9ed63
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"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: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-B69FE02E-3A78-5438-BA7C-F7BB4CD3EB76" xml:lang="en"><title>File
Server Client Side Overview</title><shortdesc> This topic describes the File Server Client Side overview.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-149CB1F9-E225-4CF7-A442-0C1AFE4DFB83"><title>Purpose</title> <p>Provides an application interface to file
systems. </p> </section>
<section id="GUID-5607FE87-C867-4FFA-8998-A816AAC84323"><title>Architectural relationships</title> <p>File access is provided
by an Symbian platform server, the file server. It provides local
file systems (ROM, NAND/NOR flash and removable media), and an interface to
allow dynamically installable file systems, such as those required to communicate
with remote disks over a network. </p> <p>The drive, directory and file hierarchy
is VFAT, thus making the file system naturally compatible with desktop PCs. </p> <p>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. </p> <p>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. </p> <p>Some additional utilities are provided in the Application Utilities
API. </p> </section>
<section id="GUID-0CBC1E5E-DDC9-42F8-8D21-56C3C0FC53D0"><title>Description</title> <p>The API has seven key concepts: file
server session, file, directory, drives and volumes, path and filename parser,
file management, file searching and directory scanning. </p> <p><b>File
server session</b> </p> <p>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. </p> <p>The file server session is provided
by <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref>. </p> <p><b>File</b> </p> <p>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. </p> <p>The file
interface is provided by <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref>. </p> <p><b>Directory</b> </p> <p>A directory entry is a directory, file or volume
label. Directory entries can be read and sorted. </p> <p>To read through a
directory one entry at a time, use <xref href="GUID-12AE154F-7741-38C0-ADFE-9784FCF5E516.dita"><apiname>RDir</apiname></xref>. To read many entries
at a time, use <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> functions and the associated <xref href="GUID-15AEDE72-80FF-3689-A771-E00F1CF3EB88.dita"><apiname>CDir</apiname></xref>.
The directory entry class is <xref href="GUID-1F240E05-55D4-3161-B22E-B48D93A981DF.dita"><apiname>TEntry</apiname></xref>. </p> <p><b> Drives and volumes</b> </p> <p>A drive corresponds to a logical device.
A volume applies to removable media. As users insert and remove individual
devices, so different volumes are said to be mounted and demounted. For media
types that can be split into partitions, each partition corresponds to a separate
volume. </p> <p> <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita"><apiname>RFs</apiname></xref> provides means to find out which drives
and volumes are present. Information for them is encapsulated in <xref href="GUID-9BDD476C-04E1-3271-AFD9-8F86D818CE46.dita"><apiname>TDriveUnit</apiname></xref>, <xref href="GUID-4D883FA4-115C-3425-8A34-B00D1D4BBCF9.dita"><apiname>TDriveInfo</apiname></xref> and <xref href="GUID-F7AECD65-6C3C-3056-847A-FD49BB2E927F.dita"><apiname>TVolumeInfo</apiname></xref>. </p> <p><b>Path
and filename parser</b> </p> <p>A filename has the logical parts of drive,
path, name, and extension. An interface to manipulate filenames is provided
by <xref href="GUID-F673F02A-AC5B-3D0F-8D14-21E6221E5015.dita"><apiname>TParseBase</apiname></xref>. Concrete implementations are provided by
the derived classes, <xref href="GUID-E79A3B03-F8CB-37DB-A2A8-1C6C4E4D739A.dita"><apiname>TParse</apiname></xref>, <xref href="GUID-A6268E58-68EC-3041-93FD-5368CD230947.dita"><apiname>TParsePtr</apiname></xref> and <xref href="GUID-C65BCDAB-0476-3EAC-9BFC-37243AE43FE9.dita"><apiname>TParsePtrC</apiname></xref>. </p> <p><b>File management</b> </p> <p>Efficient large-scale copying, moving and
other file management operations, are provided by <xref href="GUID-82CEC14F-1479-3922-846A-9FCDB6465EF7.dita"><apiname>CFileMan</apiname></xref>. </p> <p><b>File searching</b> </p> <p>High-level file finding functionality is provided
by <xref href="GUID-98CC1E75-D2DE-3700-928C-7D530237ECBA.dita"><apiname>TFindFile</apiname></xref>. </p> <p><b>Directory
scanning</b> </p> <p> <xref href="GUID-C657AF2D-1183-3CD2-ACAF-3B0B00FC91BB.dita"><apiname>CDirScan</apiname></xref> can be used to scan through
a directory hierarchy, either up or down, returning a filtered list of the
entries contained in each directory. </p> </section>
<section id="GUID-34812989-AF66-4A81-A2AD-145FF01EDEFE"><title>See also</title> <p> <xref href="GUID-D80D6D46-27B7-500E-A83C-63EF038606BF.dita">Application
Utilities Overview</xref>  </p> <p> <xref href="GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita">File
Stores Overview</xref>  </p> <p> <xref href="GUID-D0D27AEA-FDDB-5F6F-94F6-ADDF5910DC47.dita">Client/Server
Overview</xref>  </p> <p> <xref href="GUID-5EAED550-5FFC-54A6-BB4A-720975B127B8.dita">Stores
Overview</xref>  </p> </section>
</conbody></concept>