- VS 80 build & OS version detection

- SF #3564756: iOS trunk compile fix
This commit is contained in:
Aleksandar Fabijanic
2012-09-11 02:02:23 +00:00
parent 70dbe84a31
commit 69be5d7e98
25 changed files with 177 additions and 33 deletions

View File

@@ -88,6 +88,9 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
virtual void bind(std::size_t pos, const long& val, Direction dir = PD_IN); virtual void bind(std::size_t pos, const long& val, Direction dir = PD_IN);
/// Binds a long. /// Binds a long.
virtual void bind(std::size_t pos, const unsigned long& val, Direction dir = PD_IN);
/// Binds an unsigned long.
#endif #endif
virtual void bind(std::size_t pos, const bool& val, Direction dir); virtual void bind(std::size_t pos, const bool& val, Direction dir);

View File

@@ -95,6 +95,10 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
virtual bool extract(std::size_t pos, long& val); virtual bool extract(std::size_t pos, long& val);
/// Extracts a long. Returns false if null was received. /// Extracts a long. Returns false if null was received.
virtual bool extract(std::size_t pos, unsigned long& val);
/// Extracts an unsigned long. Returns false if null was received.
#endif #endif
virtual bool extract(std::size_t pos, bool& val); virtual bool extract(std::size_t pos, bool& val);

View File

@@ -114,6 +114,13 @@ void Binder::bind(std::size_t pos, const long& val, Direction dir)
poco_assert(dir == PD_IN); poco_assert(dir == PD_IN);
realBind(pos, MYSQL_TYPE_LONGLONG, &val, 0); realBind(pos, MYSQL_TYPE_LONGLONG, &val, 0);
} }
void Binder::bind(std::size_t pos, const unsigned long& val, Direction dir)
{
poco_assert(dir == PD_IN);
realBind(pos, MYSQL_TYPE_LONGLONG, &val, 0);
}
#endif #endif

View File

@@ -104,9 +104,14 @@ bool Extractor::extract(std::size_t pos, Poco::UInt64& val)
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
bool Extractor::extract(std::size_t pos, long& val) bool Extractor::extract(std::size_t pos, long& val)
/// Extracts a long. Returns false if null was received.
{ {
return realExtractFixed(pos, MYSQL_TYPE_LONGLONG, &val); return realExtractFixed(pos, MYSQL_TYPE_LONG, &val);
}
bool Extractor::extract(std::size_t pos, unsigned long& val)
{
return realExtractFixed(pos, MYSQL_TYPE_LONG, &val);
} }
#endif #endif

View File

@@ -199,6 +199,9 @@ public:
void bind(std::size_t pos, const long& val, Direction dir); void bind(std::size_t pos, const long& val, Direction dir);
/// Binds a long. /// Binds a long.
void bind(std::size_t pos, const unsigned long& val, Direction dir);
/// Binds an unsigned long.
void bind(std::size_t pos, const std::vector<long>& val, Direction dir); void bind(std::size_t pos, const std::vector<long>& val, Direction dir);
/// Binds a long vector. /// Binds a long vector.
@@ -1120,6 +1123,12 @@ inline void Binder::bind(std::size_t pos, const long& val, Direction dir)
} }
inline void Binder::bind(std::size_t pos, const unsigned long& val, Direction dir)
{
bindImpl(pos, val, SQL_C_SLONG, dir);
}
inline void Binder::bind(std::size_t pos, const std::vector<long>& val, Direction dir) inline void Binder::bind(std::size_t pos, const std::vector<long>& val, Direction dir)
{ {
bindImplVec(pos, val, SQL_C_SLONG, dir); bindImplVec(pos, val, SQL_C_SLONG, dir);

View File

@@ -177,6 +177,9 @@ public:
bool extract(std::size_t pos, long& val); bool extract(std::size_t pos, long& val);
/// Extracts a long. /// Extracts a long.
bool extract(std::size_t pos, unsigned long& val);
/// Extracts an unsigned long.
bool extract(std::size_t pos, std::vector<long>& val); bool extract(std::size_t pos, std::vector<long>& val);
/// Extracts a long vector. /// Extracts a long vector.

View File

@@ -226,6 +226,9 @@ public:
void prepare(std::size_t pos, const long& val); void prepare(std::size_t pos, const long& val);
/// Prepares a long. /// Prepares a long.
void prepare(std::size_t pos, const unsigned long& val);
/// Prepares an unsigned long.
void prepare(std::size_t pos, const std::vector<long>& val); void prepare(std::size_t pos, const std::vector<long>& val);
/// Prepares a long vector. /// Prepares a long vector.
@@ -875,6 +878,12 @@ inline void Preparator::prepare(std::size_t pos, const long&)
} }
inline void Preparator::prepare(std::size_t pos, const unsigned long&)
{
prepareFixedSize<long>(pos, SQL_C_SLONG);
}
inline void Preparator::prepare(std::size_t pos, const std::vector<long>& val) inline void Preparator::prepare(std::size_t pos, const std::vector<long>& val)
{ {
prepareFixedSize<long>(pos, SQL_C_SLONG, val.size()); prepareFixedSize<long>(pos, SQL_C_SLONG, val.size());

View File

@@ -517,6 +517,15 @@ bool Extractor::extract(std::size_t pos, long& val)
} }
bool Extractor::extract(std::size_t pos, unsigned long& val)
{
if (Preparator::DE_MANUAL == _dataExtraction)
return extractManualImpl(pos, val, SQL_C_SLONG);
else
return extractBoundImpl(pos, val);
}
bool Extractor::extract(std::size_t pos, std::vector<long>& val) bool Extractor::extract(std::size_t pos, std::vector<long>& val)
{ {
if (Preparator::DE_BOUND == _dataExtraction) if (Preparator::DE_BOUND == _dataExtraction)

View File

@@ -90,6 +90,9 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
void bind(std::size_t pos, const long &val, Direction dir); void bind(std::size_t pos, const long &val, Direction dir);
/// Binds a long /// Binds a long
void bind(std::size_t pos, const unsigned long &val, Direction dir);
/// Binds an unsigned long
#endif #endif
void bind(std::size_t pos, const bool &val, Direction dir); void bind(std::size_t pos, const bool &val, Direction dir);

View File

@@ -99,6 +99,9 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
bool extract(std::size_t pos, long& val); bool extract(std::size_t pos, long& val);
/// Extracts a long. /// Extracts a long.
bool extract(std::size_t pos, unsigned long& val);
/// Extracts an unsigned long.
#endif #endif
bool extract(std::size_t pos, bool& val); bool extract(std::size_t pos, bool& val);

View File

@@ -85,6 +85,13 @@ void Binder::bind(std::size_t pos, const long &val, Direction dir)
int rc = sqlite3_bind_int(_pStmt, (int) pos, tmp); int rc = sqlite3_bind_int(_pStmt, (int) pos, tmp);
checkReturn(rc); checkReturn(rc);
} }
void Binder::bind(std::size_t pos, const unsigned long &val, Direction dir)
{
long tmp = static_cast<long>(val);
int rc = sqlite3_bind_int(_pStmt, (int) pos, tmp);
checkReturn(rc);
}
#endif #endif

View File

@@ -92,6 +92,14 @@ bool Extractor::extract(std::size_t pos, long& val)
val = sqlite3_column_int(_pStmt, (int) pos); val = sqlite3_column_int(_pStmt, (int) pos);
return true; return true;
} }
bool Extractor::extract(std::size_t pos, unsigned long& val)
{
if (isNull(pos)) return false;
val = sqlite3_column_int(_pStmt, (int) pos);
return true;
}
#endif #endif

View File

@@ -288,7 +288,7 @@ void SQLiteTest::testBinding()
tmp << "SELECT name FROM sqlite_master WHERE tbl_name=?", use(tableName), into(result), now; tmp << "SELECT name FROM sqlite_master WHERE tbl_name=?", use(tableName), into(result), now;
assert (result == tableName); assert (result == tableName);
// following will not compile: // following should not compile:
//tmp << "INSERT INTO Simpsons VALUES(?, ?, ?, ?)", use("Simpson"), use("Bart"), use("Springfield"), use(age), now; //tmp << "INSERT INTO Simpsons VALUES(?, ?, ?, ?)", use("Simpson"), use("Bart"), use("Springfield"), use(age), now;
//tmp << "INSERT INTO Simpsons VALUES(?, ?, ?, ?)", use(lastName), use(firstName), use(address), use(12), now; //tmp << "INSERT INTO Simpsons VALUES(?, ?, ?, ?)", use(lastName), use(firstName), use(address), use(12), now;
//tmp << "INSERT INTO Simpsons VALUES(?, ?, ?, ?)", useRef(lastName), useRef(firstName), useRef(address), useRef(12), now; //tmp << "INSERT INTO Simpsons VALUES(?, ?, ?, ?)", useRef(lastName), useRef(firstName), useRef(address), useRef(12), now;

View File

@@ -190,6 +190,9 @@ public:
virtual void bind(std::size_t pos, const long& val, Direction dir = PD_IN) = 0; virtual void bind(std::size_t pos, const long& val, Direction dir = PD_IN) = 0;
/// Binds a long. /// Binds a long.
virtual void bind(std::size_t pos, const unsigned long& val, Direction dir = PD_IN) = 0;
/// Binds an unsiged long.
virtual void bind(std::size_t pos, const std::vector<long>& val, Direction dir = PD_IN); virtual void bind(std::size_t pos, const std::vector<long>& val, Direction dir = PD_IN);
/// Binds a long vector. /// Binds a long vector.

View File

@@ -178,6 +178,9 @@ public:
virtual bool extract(std::size_t pos, long& val) = 0; virtual bool extract(std::size_t pos, long& val) = 0;
/// Extracts a long. Returns false if null was received. /// Extracts a long. Returns false if null was received.
virtual bool extract(std::size_t pos, unsigned long& val) = 0;
/// Extracts an unsigned long. Returns false if null was received.
virtual bool extract(std::size_t pos, std::vector<long>& val); virtual bool extract(std::size_t pos, std::vector<long>& val);
/// Extracts a long vector. /// Extracts a long vector.

View File

@@ -184,6 +184,9 @@ public:
virtual void prepare(std::size_t pos, const long&) = 0; virtual void prepare(std::size_t pos, const long&) = 0;
/// Prepares a long. /// Prepares a long.
virtual void prepare(std::size_t pos, const unsigned long&) = 0;
/// Prepares an unsigned long.
virtual void prepare(std::size_t pos, const std::vector<long>& val); virtual void prepare(std::size_t pos, const std::vector<long>& val);
/// Prepares a long vector. /// Prepares a long vector.

View File

@@ -94,6 +94,11 @@ void Binder::bind(std::size_t pos, const Poco::UInt64 &val, Direction dir)
void Binder::bind(std::size_t pos, const long& val, Direction dir) void Binder::bind(std::size_t pos, const long& val, Direction dir)
{ {
} }
void Binder::bind(std::size_t pos, const unsigned long& val, Direction dir)
{
}
#endif #endif

View File

@@ -81,6 +81,9 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
void bind(std::size_t pos, const long& val, Direction dir); void bind(std::size_t pos, const long& val, Direction dir);
/// Binds a long. /// Binds a long.
void bind(std::size_t pos, const unsigned long& val, Direction dir);
/// Binds an unsigned long.
#endif #endif
void bind(std::size_t pos, const bool &val, Direction dir); void bind(std::size_t pos, const bool &val, Direction dir);

View File

@@ -105,6 +105,13 @@ bool Extractor::extract(std::size_t pos, long& val)
val = 0; val = 0;
return true; return true;
} }
bool Extractor::extract(std::size_t pos, unsigned long& val)
{
val = 0;
return true;
}
#endif #endif

View File

@@ -87,6 +87,9 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
bool extract(std::size_t pos, long& val); bool extract(std::size_t pos, long& val);
/// Extracts a long. /// Extracts a long.
bool extract(std::size_t pos, unsigned long& val);
/// Extracts an unsigned long.
#endif #endif
bool extract(std::size_t pos, bool& val); bool extract(std::size_t pos, bool& val);

View File

@@ -94,6 +94,11 @@ void Preparator::prepare(std::size_t pos, const Poco::UInt64&)
void Preparator::prepare(std::size_t pos, const long&) void Preparator::prepare(std::size_t pos, const long&)
{ {
} }
void Preparator::prepare(std::size_t pos, const unsigned long&)
{
}
#endif #endif

View File

@@ -82,6 +82,9 @@ public:
#ifndef POCO_LONG_IS_64_BIT #ifndef POCO_LONG_IS_64_BIT
void prepare(std::size_t pos, const long&); void prepare(std::size_t pos, const long&);
/// Preparations a long. /// Preparations a long.
void prepare(std::size_t pos, const unsigned long&);
/// Preparations an unsigned long.
#endif #endif
void prepare(std::size_t pos, const bool&); void prepare(std::size_t pos, const bool&);

View File

@@ -41,7 +41,56 @@
#define Foundation_Platform_WIN32_INCLUDED #define Foundation_Platform_WIN32_INCLUDED
#if defined(_MSC_VER) && !defined(POCO_MSVC_SECURE_WARNINGS) #include "Poco/UnWindows.h"
// determine the real version
#if defined(_WIN32_WINNT_WIN7)
//Windows 7 _WIN32_WINNT_WIN7 (0x0601)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_WIN7
#elif defined (_WIN32_WINNT_WS08)
//Windows Server 2008 _WIN32_WINNT_WS08 (0x0600)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_WS08
#elif defined (_WIN32_WINNT_VISTA) || defined (_WIN32_WINNT_LONGHORN)
//Windows Vista _WIN32_WINNT_VISTA (0x0600)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_VISTA
#elif defined (_WIN32_WINNT_WS03)
//Windows Server 2003 with SP1,
//Windows XP with SP2 _WIN32_WINNT_WS03 (0x0502)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_WS03
#elif defined (_WIN32_WINNT_WINXP)
//Windows Server 2003, Windows XP _WIN32_WINNT_WINXP (0x0501)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_WINXP
#elif defined (_WIN32_WINNT_WIN2K)
//Windows 2000 _WIN32_WINNT_WIN2K (0x0500)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_WIN2K
#elif defined (WINVER)
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT WINVER
#endif
#if defined(_MSC_VER) && !defined(POCO_MSVC_SECURE_WARNINGS) && !defined(_CRT_SECURE_NO_DEPRECATE)
#define _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_DEPRECATE
#endif #endif
@@ -59,34 +108,6 @@
#endif #endif
#if !defined(_WIN32_WINNT)
#if defined(_WIN32_WINNT_WIN7)
//Windows 7 _WIN32_WINNT_WIN7 (0x0601)
#define _WIN32_WINNT _WIN32_WINNT_WIN7
#elif defined (_WIN32_WINNT_WS08)
//Windows Server 2008 _WIN32_WINNT_WS08 (0x0600)
#define _WIN32_WINNT _WIN32_WINNT_WS08
#elif defined (_WIN32_WINNT_VISTA) || defined (_WIN32_WINNT_LONGHORN)
//Windows Vista _WIN32_WINNT_VISTA (0x0600)
#define _WIN32_WINNT _WIN32_WINNT_VISTA
#elif defined (_WIN32_WINNT_WS03)
//Windows Server 2003 with SP1,
//Windows XP with SP2 _WIN32_WINNT_WS03 (0x0502)
#define _WIN32_WINNT _WIN32_WINNT_WS03
#elif defined (_WIN32_WINNT_WINXP)
//Windows Server 2003, Windows XP _WIN32_WINNT_WINXP (0x0501)
#define _WIN32_WINNT _WIN32_WINNT_WINXP
#elif defined (_WIN32_WINNT_WIN2K)
//Windows 2000 _WIN32_WINNT_WIN2K (0x0500)
#define _WIN32_WINNT _WIN32_WINNT_WIN2K
#elif defined (WINVER)
#define _WIN32_WINNT WINVER
#else
#define _WIN32_WINNT 0x0601
#endif
#endif
#if (_MSC_VER >= 1300) && (_MSC_VER < 1400) // Visual Studio 2003, MSVC++ 7.1 #if (_MSC_VER >= 1300) && (_MSC_VER < 1400) // Visual Studio 2003, MSVC++ 7.1
#define POCO_MSVS_VERSION 2003 #define POCO_MSVS_VERSION 2003
#define POCO_MSVC_VERSION 71 #define POCO_MSVC_VERSION 71

View File

@@ -54,6 +54,11 @@
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Foundation_UnWindows_INCLUDED
#define Foundation_UnWindows_INCLUDED
// Reduce bloat // Reduce bloat
#if defined(_WIN32) #if defined(_WIN32)
#if !defined(WIN32_LEAN_AND_MEAN) && !defined(POCO_BLOATED_WIN32) #if !defined(WIN32_LEAN_AND_MEAN) && !defined(POCO_BLOATED_WIN32)
@@ -62,12 +67,20 @@
#endif #endif
#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0501)
#error unsupported OS version
#elif !defined(_WIN32_WINNT)
// define minimum supported
#define _WIN32_WINNT 0x0501
#endif
#include <windows.h> #include <windows.h>
#if !defined(POCO_NO_UNWINDOWS) #if !defined(POCO_NO_UNWINDOWS)
// A list of annoying macros to #undef. // A list of annoying macros to #undef.
// Feel free to extend as required. // Extend as required.
#undef GetBinaryType #undef GetBinaryType
#undef GetShortPathName #undef GetShortPathName
#undef GetLongPathName #undef GetLongPathName
@@ -115,3 +128,5 @@
#undef GetVersion #undef GetVersion
#undef GetObject #undef GetObject
#endif // POCO_NO_UNWINDOWS #endif // POCO_NO_UNWINDOWS
#endif // Foundation_UnWindows_INCLUDED

View File

@@ -41,6 +41,9 @@
#ifndef PDF_PDF_INCLUDED #ifndef PDF_PDF_INCLUDED
#define PDF_PDF_INCLUDED #define PDF_PDF_INCLUDED
#if defined(_MSC_VER) && !defined(POCO_MSVC_SECURE_WARNINGS) && !defined(_CRT_SECURE_NO_DEPRECATE)
#define _CRT_SECURE_NO_DEPRECATE
#endif
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
#include "hpdf.h" #include "hpdf.h"