diff -r e5618cc85d74 -r 6c158198356e javacommons/utils/inc/javacommonutils.h --- a/javacommons/utils/inc/javacommonutils.h Thu Jul 15 18:31:06 2010 +0300 +++ b/javacommons/utils/inc/javacommonutils.h Thu Aug 19 09:48:13 2010 +0300 @@ -87,6 +87,23 @@ OS_IMPORT static std::string base64encode(const std::string& aData); /** + * Encode wstring to base64 wstring byte by byte. + * + * wstring aData is base64 encoded as a byte array. + * If the wstring has been created from TDesC16 in Symbian it contains + * UTF-16LE (UCS-2) encoded 16-bit characters. + * The result is byte array that contains 8-bit ASCII characters. + * Each of these 8-bit character is converted to the corresponding + * wchar and appended to the result wstring. + * + * @see \sf\app\jrt\javamanager\javainstaller\installer\javasrc\com\nokia + * \mj\impl\installer\utils\Args.java, decodeBase64Args() + * @param aData wstring containing the data to be encoded. + * @return base64 encoded result wstring. + */ + OS_IMPORT static std::wstring wbase64encode(const std::wstring& aData); + + /** * Decode base64 string. * * @param aData base64 encoded string. @@ -105,6 +122,33 @@ */ OS_IMPORT static std::wstring percentDecode(const std::wstring& str); + /** + * This function checks whether is it called during the first device boot + * and stores the information to static data so that isFirstBoot() can + * return it. + * + * Call this function always when the process is starting. + * + * This function creates a flag file to the private data cage / work directory + * of the process. + * + * In Symbian this method can be called only from Java Installer or + * Java MIDP processes. + * + * Return 0 if check was made successfully. Otherwise it returns errno + * defined in STDLIBS errno.h + */ + OS_IMPORT static int initIsFirstBoot(); + + /** + * This function returns true if it called during the first boot. + * Otherwise it returns false. + * + * initIsFirstBoot() must be called before this function can be called. + */ + OS_IMPORT static bool isFirstBoot(); + + public: /** * Decodes one % sequence. @@ -114,6 +158,10 @@ * @throws ExceptionBase if and are not hexadecimal characters */ static char decodeOnePercentSeq(wchar_t first, wchar_t sec); + +private: + static bool mFirstBoot; + }; // A simple class for storing char array that is deleted automatically