diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita --- a/Symbian3/SDK/Source/GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,64 +1,64 @@ - - - - - -Direct -File StoreThe main characteristic of a direct file store is that streams -can be created and objects externalized to them but, once the streams have -been committed and closed, they cannot subsequently be changed. -

Once the streams have been committed and closed, they cannot be replaced, -deleted, extended or changed in any way. A direct file store is useful for -the type of application which treats the in-memory copy of its data as its -prime copy, such as a word processor which implements the classic load/save -paradigm. In this paradigm:

- -

With a direct file store, a stream may not be appended once it has been -written and closed. Writing to different streams may not be interleaved. The -root stream must be the last stream to be written. The direct file store is -very efficient as the allocation of new streams, and finding existing streams, -are trivially mapped onto the most efficient operations of the underlying -file system.

-

For this type of application, the most efficient file format is obtained -when all the data is written in sequence to the file. Any references within -the file are to data which was written earlier. When reading the file back, -it is read in several sections starting with a section that is at the end of -the file.

-

A typical relationship between a direct file store and its contained streams -is shown below. In this stream network streams I and J must -be written before stream A; stream K must be written before -stream C; streams A,B and C must be written before -the root stream.

- -Streams linked in a store - - -

Direct file stores are encapsulated by the CDirectFileStore class.

-
-Store Streams - + + + + + +Direct +File StoreThe main characteristic of a direct file store is that streams +can be created and objects externalized to them but, once the streams have +been committed and closed, they cannot subsequently be changed. +

Once the streams have been committed and closed, they cannot be replaced, +deleted, extended or changed in any way. A direct file store is useful for +the type of application which treats the in-memory copy of its data as its +prime copy, such as a word processor which implements the classic load/save +paradigm. In this paradigm:

+
    +
  • application data is +first created, in an internal, non-persistent, form — i.e., in RAM

  • +
  • when the file is first +saved, the data is externalised to the file store. When saving its data, an +application writes the whole object network forming the data to a new direct +file store, replacing any existing file of the same name. The last stream +written is always the root stream.

  • +
  • the application can +exit

  • +
  • when the application +is started again, it can open the file store and read in the persistent data. +It need not load the whole object network into memory; the loading of objects +can be deferred by using Swizzles.

  • +
  • the data is edited in +its internal, non-persistent form

  • +
  • when data is saved again, +the old file is erased (or renamed for safety!) and completely rewritten

  • +
+

With a direct file store, a stream may not be appended once it has been +written and closed. Writing to different streams may not be interleaved. The +root stream must be the last stream to be written. The direct file store is +very efficient as the allocation of new streams, and finding existing streams, +are trivially mapped onto the most efficient operations of the underlying +file system.

+

For this type of application, the most efficient file format is obtained +when all the data is written in sequence to the file. Any references within +the file are to data which was written earlier. When reading the file back, +it is read in several sections starting with a section that is at the end of +the file.

+

A typical relationship between a direct file store and its contained streams +is shown below. In this stream network streams I and J must +be written before stream A; stream K must be written before +stream C; streams A,B and C must be written before +the root stream.

+ +Streams linked in a store + + +

Direct file stores are encapsulated by the CDirectFileStore class.

+
+Store Streams +
\ No newline at end of file