Revision as of 17:41, 20 June 2009 by savaj (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Get private path in Qt

From Nokia Developer Wiki
Jump to: navigation, search


Platform Security introduces the data caging concept. There are some folders on Symbian OS v9 that can only be accessed with certain privileges. The private folder, \private\<sid>, is one of them. It is a folder where an application can store sensitive data. Other applications, except the one with AllFiles capability, cannot read/write to the folder. In Qt you will get full path of private folder using QDir::currentPath() method. QDir::currentPath() will returns the absolute path of the application's current directory.

Source code

/* This method will return private path as C:/Private/ed8788dc
assuming application installed on c drive and has UID ed8788dc */

QString privatePathQt(QDir::currentPath());

Converting path from Qt format to Symbian format

In Qt, directory separator is forwardslah ("/"), whlie in Symbian directory seperator is backslash ("\"). So if we use Mobile Extension APIs then we need convert path from Qt format to Symbian format.

Source code

/* this code will convert path from C:/Private/ed8788dc to C:\Private\ed8788dc */
QString privatePathQt(QDir::currentPath());
QString privatePathSymbian(privatePathQt.replace("/","\\"));

Converting path from Symbian format to Qt format

Similarly we can convert back it to Qt format as follows.

Source code

/* this code will convert path from C:\Private\ed8788dc to C:/Private/ed8788dc */
QString privatePathSymbian("C:\Private\ed8788dc");
QString privatePathQt(privatePathSymbian.replace("\\","/"));
62 page views in the last 30 days.