Zsh has no platform security capabilities, that is, it cannot directly access the private directories on a device. However, you can make use of two library functions from the static library ( copydatafile.lib ) to copy data between public and private directories:
static TInt CopyDataFile::CopyToPrivateL(TDesC& aFileName) : This function copies data from the public directory ( c:\shellpub\<SID> where SID refers to the Secure ID of the application) to the private directory.
static TInt CopyDataFile::CopyToPublicL(TDesC& aFileName) : This function copies data from the private directory to the public directory ( c:\shellpub\<SID> ).
These library functions can be linked to External Programs to copy the data under a private directory to and from a public directory, c:\shellpub . Note that these functions are not part of Zsh; they are in a separate library and it is not mandatory to use them.
Using these library functions, here is one way of copying data, so that it can be accessed with Zsh:
To copy the files from public directory c:\shellpub\<SID> to \private\<SID> , call the CopyToPrivateL() function while you start the application.
As the c:\shellpub directory is public, you can view or modify files in it from Zsh.
Each application replicates its directory structure under c:\shellpub starting with <SID> so that they do not overwrite private files of the same name belonging to other applications.
To copy the files from \private\<SID> to a public directory c:\shellpub\<SID> , call the CopyToPublicL() function while you exit the application.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License v1.0.