Symbian3/SDK/Source/GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita
changeset 7 51a74ef9ed63
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,65 @@
+<?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-21CF1D5F-44C5-5407-B3C9-8BC103C97079" xml:lang="en"><title>File
+Stores Overview</title><shortdesc>Provides a summary of APIs related to the File Store and their
+uses.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-D44D9C54-8783-4D88-A7D8-F25FFE754802"><title>Purpose</title> <p>Provides
+file-based structured data storage, using networks of streams.</p> </section>
+<section id="GUID-C7FB5BC3-D5FE-451D-990C-E68F28215A4C"><title>Architectural
+relationships</title> <p>The File Stores API is based on the abstract store
+types defined by the Stores API. The underlying file handling is provided
+by the File Server.</p> <p>The permanent file stores defined in this API are
+used by the relational database API, DBMS, for data storage.</p> </section>
+<section id="GUID-AD9259E7-ABE2-4EE7-B316-7B24EBE5353E"><title>Description</title> <p>The
+API has five key concepts: file store base (<codeph>CFileStore</codeph>),
+direct file store (<codeph>CDirectFileStore</codeph>), permanent file store
+(<codeph>CPermanentFileStore</codeph>), dictionary file store (<codeph>CDictionaryFileStore</codeph>),
+and file streams (<codeph>RFileWriteStream</codeph> and <codeph>RFileReadStream</codeph>).</p> <p><b>File
+store base</b> </p> <p>This abstract base class provides basic behaviour for
+file stores, such as reading a store from a specified file. </p> <p>File stores
+are derived from the persistent store base (<codeph>CPersistentStore</codeph>)
+provided by the Stores API. This means that they have a root stream, from
+which all other streams within the store can be found.</p> <p>The file store
+base class is <codeph>CFileStore</codeph>.</p> <p><b>Direct file store</b> </p> <p>A
+direct file store implements a file store in which once the streams have been
+committed and closed, they cannot subsequently be changed. They are used by
+the type of application that treats the in-memory copy of its data as its
+prime copy, and on saving, replaces the entire store. </p> <p>The direct file
+store is a concrete type, derived from <codeph>CFileStore</codeph>, and is
+provided by <codeph>CDirectFileStore</codeph>.</p> <p><b>Permanent file store</b> </p> <p>A
+permanent file store implements a file store in which existing streams within
+the store can be changed. They are used by the type of application which treats
+the data in the store as its prime copy. Typically, the object network comprising
+the application’s data is structured so that sections of data can be loaded
+in, and, if changed, written back to the store. Memory is used as a workplace
+for changing data.</p> <p>The permanent file store is a concrete type, derived
+from <codeph>CFileStore</codeph>, and is provided by <codeph>CPermanentFileStore</codeph>.</p> <p><b>Dictionary
+file store</b> </p> <p>The dictionary file store implements a dictionary store,
+a network of streams each of which can be accessed via a UID, in file storage.</p> <p>The
+dictionary file store is a concrete type, derived from <codeph>CDictionaryStore</codeph>,
+and is provided by <codeph>CDictionaryFileStore</codeph>.</p> <p><b>File streams</b> </p> <p>File
+streams allow standard files (<xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref> objects as defined
+in the File Server Client Side API), not file stores, to be written to as
+streams. This can be simpler and more efficient than using the equivalent <xref href="GUID-BE0804F6-4375-3C8A-8C83-968F510466E0.dita"><apiname>RFile</apiname></xref> functions. </p> <p>The
+file stream classes are <codeph>RFileReadStream</codeph> and <codeph>RFileWriteStream</codeph>.</p> </section>
+</conbody><related-links>
+<linklist>
+<link href="GUID-5EAED550-5FFC-54A6-BB4A-720975B127B8.dita"><linktext>Stores Overview</linktext>
+</link>
+<link href="GUID-66ACFC54-5671-5B72-9DBC-A76F7A112D63.dita"><linktext>Store Streams
+Overview</linktext></link>
+<link href="GUID-744ACF2C-963B-5E2F-A6B3-220AB899FD23.dita"><linktext>Streaming
+Overview</linktext></link>
+<link href="GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita"><linktext>DBMS Overview</linktext>
+</link>
+</linklist>
+</related-links></concept>
\ No newline at end of file