Get private path in Qt
m (private path in qt) |
|||
| Line 14: | Line 14: | ||
==Converting path from Qt format to Symbian format== | ==Converting path from Qt format to Symbian format== | ||
| − | In Qt, directory separator is forwardslah ("/"), | + | In Qt, directory separator is forwardslah ("/"), while 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''' | '''Source code''' | ||
Revision as of 17:46, 20 June 2009
Description
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 ("/"), while 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("\\","/"));

