diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-5592E9C1-D490-538F-9B11-5EFB72DEDBE2.dita --- a/Symbian3/PDK/Source/GUID-5592E9C1-D490-538F-9B11-5EFB72DEDBE2.dita Tue Mar 30 11:42:04 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-5592E9C1-D490-538F-9B11-5EFB72DEDBE2.dita Tue Mar 30 11:56:28 2010 +0100 @@ -1,99 +1,98 @@ - - - - - -File -based dictionary store -

CDictionaryFileStore is a concrete implementation of a -dictionary store and uses a file store in its implementation.

-

Although the need for a file based dictionary store is driven by the application -architecture, the following code fragments illustrate the way this store can -be used.

-

The code fragments shown here create and read a file based dictionary store. -This dictionary store is differentiated from other dictionary stores by the -UID whose value is 0x0001.

-

It should be noted that the values assigned to the UIDs are purely arbitrary and -are used for illustrative purposes only.

-
Creating the dictionary store

This code fragment -constructs an object of type TClass and stores it in the -dictionary store, associating the stream with the UID whose value is 0x0002.

Note -that a dictionary write stream is needed to write streams to a dictionary -store.

_LIT(KFileName,"C:\\data\\stdict.dat"); -_LIT(KTxtData,"Text type data"): -TParse dictionaryname; -... -fsSession.Parse(KFileName,dictionaryname); -... - // Open the dictionary store (create if it doesn't exist) -CDictionaryStore* dictstore = CDictionaryFileStore::OpenLC (fsSession, dictionaryname.FullName(),TUid::Uid(0x0001) ); - - // Construct a TClass and put some data into it -TClass thedata; -thedata.iFixBuf = KTxtData; -thedata.iUintValue = 1; -thedata.iIntValue = -2; -thedata.iRealValue = 3.4; - - // construct the dictionary write stream and - // associate the stream with the UID - // whose value is 0x0002 -RDictionaryWriteStream out; -out.AssignLC(*dictstore,TUid::Uid(0x0002)); - - // write the TClass data to the stream -out << thedata; - - // Commit changes to the stream -out.CommitL(); - - // Cleanup the dictionary stream object -CleanupStack::PopAndDestroy(); - - // Now commit all changes to the store -dictstore->CommitL(); - - // Close the dictionary store (closes the - // associated file and destroys the - // dictionary store object) -CleanupStack::PopAndDestroy();
-
Reopening the dictionary store

This code fragment -re-opens the dictionary store and restores the -<code>TClass</code> object from the stream associated with the UID whose -value is <code>0x0002</code> -

0x0002_LIT(KFileName,"C:\\data\\stdict.dat"); -TParse dictionaryname; -... -fsSession.Parse(KFileName,dictionaryname); -... - // Open the dictionary store -CDictionaryStore* dictstore=CDictionaryFileStore::OpenLC(fsSession, dictionaryname.FullName(), TUid::Uid(0x0001) ); - - // construct the dictionary read stream. - // Prepare to read the stream associated with - // the unique identifier whose value is 0x0002 -RDictionaryReadStream in; -in.OpenLC(*dictstore,TUid::Uid(0x0002)); - - // Construct a TClass object ... -TClass thedata; - - // ... and read data from the stream -in >> thedata; - - // Cleanup the dictionary stream object - // and ... - // Close the dictionary store - // (closes the associated file and destroys the - // dictionary store object) -CleanupStack::PopAndDestroy(2); -
-
See also

Dictionary -stores

-
\ No newline at end of file + + + + + +File +Based Dictionary StoreCDictionaryFileStore is a concrete implementation +of a dictionary store and uses a file store in its implementation. +

Although the need for a file based dictionary store is driven by the application +architecture, the following code fragments illustrate the way this store can +be used.

+

The code fragments shown here create and read a file based dictionary store. +This dictionary store is differentiated from other dictionary stores by the +UID whose value is 0x0001.

+

It should be noted that the values assigned to the UIDs are purely arbitrary and +are used for illustrative purposes only.

+
Creating the +dictionary store

This code fragment constructs an object of type TClass and +stores it in the dictionary store, associating the stream with the UID whose +value is 0x0002.

Note that a dictionary write stream is needed to write +streams to a dictionary store.

_LIT(KFileName,"C:\\data\\stdict.dat"); +_LIT(KTxtData,"Text type data"): +TParse dictionaryname; +... +fsSession.Parse(KFileName,dictionaryname); +... + // Open the dictionary store (create if it doesn't exist) +CDictionaryStore* dictstore = CDictionaryFileStore::OpenLC (fsSession, dictionaryname.FullName(),TUid::Uid(0x0001) ); + + // Construct a TClass and put some data into it +TClass thedata; +thedata.iFixBuf = KTxtData; +thedata.iUintValue = 1; +thedata.iIntValue = -2; +thedata.iRealValue = 3.4; + + // construct the dictionary write stream and + // associate the stream with the UID + // whose value is 0x0002 +RDictionaryWriteStream out; +out.AssignLC(*dictstore,TUid::Uid(0x0002)); + + // write the TClass data to the stream +out << thedata; + + // Commit changes to the stream +out.CommitL(); + + // Cleanup the dictionary stream object +CleanupStack::PopAndDestroy(); + + // Now commit all changes to the store +dictstore->CommitL(); + + // Close the dictionary store (closes the + // associated file and destroys the + // dictionary store object) +CleanupStack::PopAndDestroy();
+
Reopening the +dictionary store

This code fragment re-opens the dictionary store +and restores the <code>TClass</code> object from the stream associated +with the UID whose value is <code>0x0002</code>

0x0002_LIT(KFileName,"C:\\data\\stdict.dat"); +TParse dictionaryname; +... +fsSession.Parse(KFileName,dictionaryname); +... + // Open the dictionary store +CDictionaryStore* dictstore=CDictionaryFileStore::OpenLC(fsSession, dictionaryname.FullName(), TUid::Uid(0x0001) ); + + // construct the dictionary read stream. + // Prepare to read the stream associated with + // the unique identifier whose value is 0x0002 +RDictionaryReadStream in; +in.OpenLC(*dictstore,TUid::Uid(0x0002)); + + // Construct a TClass object ... +TClass thedata; + + // ... and read data from the stream +in >> thedata; + + // Cleanup the dictionary stream object + // and ... + // Close the dictionary store + // (closes the associated file and destroys the + // dictionary store object) +CleanupStack::PopAndDestroy(2); +
+
+Dictionary +stores +
\ No newline at end of file