You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by he...@apache.org on 2014/06/25 13:28:21 UTC
git commit: THRIFT-2579 C++ lib Windows CE support
Repository: thrift
Updated Branches:
refs/heads/master ff296c884 -> c9bdd5027
THRIFT-2579 C++ lib Windows CE support
Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/c9bdd502
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/c9bdd502
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/c9bdd502
Branch: refs/heads/master
Commit: c9bdd50270d2eb60488ef38c56f990b781bbb3d2
Parents: ff296c8
Author: henrique <he...@apache.org>
Authored: Wed Jun 25 13:13:23 2014 +0200
Committer: henrique <he...@apache.org>
Committed: Wed Jun 25 13:13:23 2014 +0200
----------------------------------------------------------------------
lib/cpp/src/thrift/transport/PlatformSocket.h | 6 +++++-
lib/cpp/src/thrift/windows/WinFcntl.cpp | 6 ++++++
lib/cpp/src/thrift/windows/WinFcntl.h | 8 ++++++++
lib/cpp/src/thrift/windows/config.h | 5 ++++-
4 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/thrift/blob/c9bdd502/lib/cpp/src/thrift/transport/PlatformSocket.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/transport/PlatformSocket.h b/lib/cpp/src/thrift/transport/PlatformSocket.h
index 019f4cb..d28978e 100644
--- a/lib/cpp/src/thrift/transport/PlatformSocket.h
+++ b/lib/cpp/src/thrift/transport/PlatformSocket.h
@@ -50,7 +50,11 @@
# define THRIFT_READ _read
# define THRIFT_FSTAT _fstat
# define THRIFT_STAT _stat
-# define THRIFT_GAI_STRERROR gai_strerrorA
+# ifdef _WIN32_WCE
+# define THRIFT_GAI_STRERROR(...) thrift_wstr2str(gai_strerrorW(__VA_ARGS__))
+# else
+# define THRIFT_GAI_STRERROR gai_strerrorA
+# endif
# define THRIFT_SSIZET ptrdiff_t
# define THRIFT_SNPRINTF _snprintf
# define THRIFT_SLEEP_SEC thrift_sleep
http://git-wip-us.apache.org/repos/asf/thrift/blob/c9bdd502/lib/cpp/src/thrift/windows/WinFcntl.cpp
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/windows/WinFcntl.cpp b/lib/cpp/src/thrift/windows/WinFcntl.cpp
index f7b4337..3dd4e3d 100644
--- a/lib/cpp/src/thrift/windows/WinFcntl.cpp
+++ b/lib/cpp/src/thrift/windows/WinFcntl.cpp
@@ -102,3 +102,9 @@ int thrift_poll(THRIFT_POLLFD *fdArray, ULONG nfds, INT timeout)
}
#endif // WINVER
+#ifdef _WIN32_WCE
+std::string thrift_wstr2str(std::wstring ws) {
+ std::string s(ws.begin(), ws.end());
+ return s;
+}
+#endif
http://git-wip-us.apache.org/repos/asf/thrift/blob/c9bdd502/lib/cpp/src/thrift/windows/WinFcntl.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/windows/WinFcntl.h b/lib/cpp/src/thrift/windows/WinFcntl.h
index f30c0de..118c9a4 100644
--- a/lib/cpp/src/thrift/windows/WinFcntl.h
+++ b/lib/cpp/src/thrift/windows/WinFcntl.h
@@ -28,6 +28,10 @@
#error This is a MSVC header only.
#endif
+#ifdef _WIN32_WCE
+#include <string>
+#endif
+
// Win32
#include <Winsock2.h>
#include <thrift/transport/PlatformSocket.h>
@@ -45,4 +49,8 @@ int thrift_fcntl(THRIFT_SOCKET fd, int cmd, int flags);
int thrift_poll(THRIFT_POLLFD *fdArray, ULONG nfds, INT timeout);
}
+#ifdef _WIN32_WCE
+std::string thrift_wstr2str(std::wstring ws);
+#endif
+
#endif // _THRIFT_WINDOWS_FCNTL_H_
http://git-wip-us.apache.org/repos/asf/thrift/blob/c9bdd502/lib/cpp/src/thrift/windows/config.h
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/windows/config.h b/lib/cpp/src/thrift/windows/config.h
index 0555e07..dca55c9 100644
--- a/lib/cpp/src/thrift/windows/config.h
+++ b/lib/cpp/src/thrift/windows/config.h
@@ -84,7 +84,10 @@ typedef boost::uint8_t uint8_t;
// windows
#include <Winsock2.h>
#include <ws2tcpip.h>
+#ifdef _WIN32_WCE
+#pragma comment(lib, "Ws2.lib")
+#else
#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib, "advapi32.lib") //For security APIs in TPipeServer
-
+#endif
#endif // _THRIFT_WINDOWS_CONFIG_H_