--- a/secureswitools/swisistools/source/dbmanager/dbprocessor.h Tue Jul 06 14:23:31 2010 +0300
+++ b/secureswitools/swisistools/source/dbmanager/dbprocessor.h Wed Aug 18 09:55:45 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -32,7 +32,12 @@
#include "./sqlite/sqlite3.h"
#include "symbiantypes.h"
#include <string>
+
+#ifdef __linux__
+typedef void* HINSTANCE;
+#else
#include <windows.h>
+#endif // __linux__
// Forward declarations
class CStatement;
@@ -107,6 +112,50 @@
};
+#ifdef __TOOLS2_LINUX__
+typedef enum {
+ allowSlashConversion = 0,
+ avoidSlashConversion
+} SlashConversionFlags;
+
+// utf16WString represents the UTF-16 data(WINDOWS wstring).
+typedef std::basic_string<unsigned short int> utf16WString;
+
+
+inline void ConvertToWindowsSpecificPaths(std::wstring& aPath)
+{
+ std::wstring::size_type idx = 0;
+ while( (idx = aPath.find(L"//", idx)) != std::wstring::npos)
+ {
+ aPath.replace( idx, 2, L"\\\\" );
+ }
+
+ idx = 0;
+
+ while( (idx = aPath.find(L"/", idx)) != std::wstring::npos)
+ {
+ aPath.replace( idx, 1, L"\\" );
+ }
+}
+
+inline void ConvertToLinuxSpecificPaths(std::wstring& aPath)
+{
+ std::wstring::size_type idx = 0;
+ while( (idx = aPath.find(L"\\\\", idx)) != std::wstring::npos)
+ {
+ aPath.replace( idx, 2, L"//" );
+ }
+
+ idx = 0;
+
+ while( (idx = aPath.find(L"\\", idx)) != std::wstring::npos)
+ {
+ aPath.replace( idx, 1, L"/" );
+ }
+}
+
+#endif
+
/**
An instance of this class is used to execute all types of SQL statements with or without
parameters.
@@ -183,8 +232,16 @@
@param aParameterIndex The index value identifying the parameter; the first parameter
has an index of 1.
@param aParameterStr The 16-bit descriptor whose content is to be assigned to the parameter.
+ @param aConvertSlash The integer value which is used only under LINUX platform specifies whether
+ to convert any LINUX specific paths to WINDOWS specific paths in aParameterStr.
+ This helps in avoiding the wrong interpretation of the DataType strings
+ having the syntax (DataType/Format) as PATHs.
*/
- void BindStr(int aParameterIndex, const std::wstring& aParameterStr);
+ #ifdef __TOOLS2_LINUX__
+ void BindStr(TInt aParameterIndex, const std::wstring &aParameterStr, int aConvertSlash=allowSlashConversion);
+ #else
+ void BindStr(TInt aParameterIndex, const std::wstring &aParameterStr);
+ #endif
void BindBinary(int aParameterIndex, const std::string &aParameterStr);
@@ -265,4 +322,4 @@
TDbLibrary iLibraryHandler;
};
-#endif // DBPROCESSOR_H
\ No newline at end of file
+#endif // DBPROCESSOR_H