File Store Type and Layout

File stores can be given a unique identity, known as the file store type, in order to differentiate them from each other.

The file store type is defined as a TUidType which can be constructed from one, two or three UIDs, i.e. TUid components.

The first UID component identifies the layout of the file store; i.e. it identifies the file store as either a direct file store or a permanent file store. The second and/or the third UID components are application dependent.

After creating a new file store, an application must set the type of the file store using the file store's SetTypeL() member function.

As a minimum requirement, the first UID component of the TUidType , which identifies the layout of the file store, must be specified. This component takes one of the values:

  • KPermanentFileStoreLayout to identify a permanent file store.

  • KDirectFileStoreLayout to identify a direct file store.

The following code fragment is typical:

      
       
      
      ...
CFileStore* store = CDirectFileStore::ReplaceLC(...,...,...);
store->SetTypeL(KDirectFileStoreLayoutUid);
...
     

If an application needs to explicitly set the second or the third UID component, then the TUidType object must be constructed explicitly and passed to SetTypeL() ; for example:

      
       
      
      ...
 CFileStore* store = CDirectFileStore::ReplaceLC(...,...,...);
 TUidType thetype(KDirectFileStoreLayoutUid,...,...);
 store->SetTypeL(thetype);
 ...
     

The file store's type can be retrieved by calling the file store’s Type( ) member function.

The file store's layout can be retrieved by calling the file store’s Layout() member function.

Related concepts
UID manipulation