Symbian3/SDK/Source/GUID-74CBD580-01F8-5C68-A5FD-6331AAE7DF62.dita
changeset 7 51a74ef9ed63
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-74CBD580-01F8-5C68-A5FD-6331AAE7DF62.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,12 @@
+<?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 xml:lang="en" id="GUID-74CBD580-01F8-5C68-A5FD-6331AAE7DF62"><title>Introduction to store streams </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Store streams provide concrete stream types suitable for use in stores. The API is based on the stream interfaces defined by the Streaming API.</p> <p>Streams are usually created in the context of a <keyword>store</keyword>. Objects can be externalised to any store type, and then later re-internalised.</p> <p>Various types of stream are possible, such as streams which do encryption/decryption, or streams which convey data over a communications channel. Because the stream interface is polymorphic, <codeph>ExternalizeL()</codeph> and <codeph>InternalizeL()</codeph> functions work with any stream type.</p> <p>Streams within stores are encapsulated by one of two concrete classes:</p> <ul><li id="GUID-3D98CA10-F906-5760-AA9B-821CEA3C7633"><p>  <codeph>RStoreWriteStream</codeph> represents a stream which is being written. The class supports the creation and manipulation of a stream in a store.</p> </li> <li id="GUID-3B3FD174-8CC2-5A4D-BA93-A421818690C5"><p><codeph>RStoreReadStream</codeph> represents a stream which is being read. The class supports the opening and manipulation of an existing stream in a store.</p> </li> </ul> <p>Both concrete classes are derived from their respective abstract base classes, the write stream interface <codeph>RWriteStream</codeph>, and the read stream interface <codeph>RReadStream</codeph>.</p> <p>A stream which is being written is referred to as a <i>write stream</i> while a stream which is being read is referred to as a <i>read stream</i>.</p> <p>Applications must construct and open an <codeph>RStoreReadStream</codeph> object before they can read from a store stream and they must must construct an <codeph>RStoreWriteStream</codeph> object before they can write to a store stream.</p> <p>Although an application constructs <codeph>RStoreWriteStream</codeph> and <codeph>RStoreReadStream</codeph> objects to represent streams in a store, application objects only need to refer to the <codeph>RWriteStream</codeph> and <codeph>RReadStream</codeph> base classes, when externalising or internalising themselves to the stream.</p> <section id="GUID-7B87D875-3F37-4306-A44D-F99B679C7DC0"><title>See also</title> <p><xref href="GUID-6BF09365-09D7-5596-B802-1BE1757F51F6.dita">Streaming</xref> </p> <p><xref href="GUID-5CF5B8D6-C477-55D2-A036-2C090FA41D33.dita">The write stream interface</xref> </p> <p><xref href="GUID-E3210353-EEC2-56CB-AD75-309E5DCDEDD1.dita">The read stream interface</xref> </p> </section> </conbody></concept>
\ No newline at end of file