summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qfunctions_winrt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qfunctions_winrt.h')
-rw-r--r--src/corelib/kernel/qfunctions_winrt.h61
1 files changed, 32 insertions, 29 deletions
diff --git a/src/corelib/kernel/qfunctions_winrt.h b/src/corelib/kernel/qfunctions_winrt.h
index 04ebda5cfe..2bec1fc2ff 100644
--- a/src/corelib/kernel/qfunctions_winrt.h
+++ b/src/corelib/kernel/qfunctions_winrt.h
@@ -42,21 +42,36 @@
#include <QtCore/QAbstractEventDispatcher>
#include <QtCore/qt_windows.h>
-QT_BEGIN_NAMESPACE
+// Convenience macros for handling HRESULT values
+#define RETURN_IF_FAILED(msg, ret) \
+ if (FAILED(hr)) { \
+ qErrnoWarning(hr, msg); \
+ ret; \
+ }
-#ifdef QT_BUILD_CORE_LIB
-#endif
+#define RETURN_HR_IF_FAILED(msg) RETURN_IF_FAILED(msg, return hr)
+#define RETURN_OK_IF_FAILED(msg) RETURN_IF_FAILED(msg, return S_OK)
+#define RETURN_FALSE_IF_FAILED(msg) RETURN_IF_FAILED(msg, return false)
+#define RETURN_VOID_IF_FAILED(msg) RETURN_IF_FAILED(msg, return)
-QT_END_NAMESPACE
+#define Q_ASSERT_SUCCEEDED(hr) \
+ Q_ASSERT_X(SUCCEEDED(hr), Q_FUNC_INFO, qPrintable(qt_error_string(hr)));
#ifdef Q_OS_WINRT
+QT_BEGIN_NAMESPACE
+
+#ifdef QT_BUILD_CORE_LIB
+#endif
+
// Environment ------------------------------------------------------
errno_t qt_winrt_getenv_s(size_t*, char*, size_t, const char*);
errno_t qt_winrt__putenv_s(const char*, const char*);
void qt_winrt_tzset();
void qt_winrt__tzset();
+QT_END_NAMESPACE
+
// As Windows Runtime lacks some standard functions used in Qt, these got
// reimplemented. Other projects do this as well. Inline functions are used
// that there is a central place to disable functions for newer versions if
@@ -69,42 +84,42 @@ void qt_winrt__tzset();
#define generate_inline_return_func0(funcname, returntype) \
inline returntype funcname() \
{ \
- return qt_winrt_##funcname(); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(); \
}
#define generate_inline_return_func1(funcname, returntype, param1) \
inline returntype funcname(param1 p1) \
{ \
- return qt_winrt_##funcname(p1); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1); \
}
#define generate_inline_return_func2(funcname, returntype, param1, param2) \
inline returntype funcname(param1 p1, param2 p2) \
{ \
- return qt_winrt_##funcname(p1, p2); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1, p2); \
}
#define generate_inline_return_func3(funcname, returntype, param1, param2, param3) \
inline returntype funcname(param1 p1, param2 p2, param3 p3) \
{ \
- return qt_winrt_##funcname(p1, p2, p3); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1, p2, p3); \
}
#define generate_inline_return_func4(funcname, returntype, param1, param2, param3, param4) \
inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4) \
{ \
- return qt_winrt_##funcname(p1, p2, p3, p4); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1, p2, p3, p4); \
}
#define generate_inline_return_func5(funcname, returntype, param1, param2, param3, param4, param5) \
inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4, param5 p5) \
{ \
- return qt_winrt_##funcname(p1, p2, p3, p4, p5); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1, p2, p3, p4, p5); \
}
#define generate_inline_return_func6(funcname, returntype, param1, param2, param3, param4, param5, param6) \
inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4, param5 p5, param6 p6) \
{ \
- return qt_winrt_##funcname(p1, p2, p3, p4, p5, p6); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1, p2, p3, p4, p5, p6); \
}
#define generate_inline_return_func7(funcname, returntype, param1, param2, param3, param4, param5, param6, param7) \
inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4, param5 p5, param6 p6, param7 p7) \
{ \
- return qt_winrt_##funcname(p1, p2, p3, p4, p5, p6, p7); \
+ return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1, p2, p3, p4, p5, p6, p7); \
}
typedef unsigned (__stdcall *StartAdressExFunc)(void *);
@@ -116,23 +131,7 @@ generate_inline_return_func2(_putenv_s, errno_t, const char *, const char *)
generate_inline_return_func0(tzset, void)
generate_inline_return_func0(_tzset, void)
-#endif // Q_OS_WINRT
-
-// Convenience macros for handling HRESULT values
-#define RETURN_IF_FAILED(msg, ret) \
- if (FAILED(hr)) { \
- qErrnoWarning(hr, msg); \
- ret; \
- }
-
-#define RETURN_HR_IF_FAILED(msg) RETURN_IF_FAILED(msg, return hr)
-#define RETURN_OK_IF_FAILED(msg) RETURN_IF_FAILED(msg, return S_OK)
-#define RETURN_FALSE_IF_FAILED(msg) RETURN_IF_FAILED(msg, return false)
-#define RETURN_VOID_IF_FAILED(msg) RETURN_IF_FAILED(msg, return)
-
-#define Q_ASSERT_SUCCEEDED(hr) \
- Q_ASSERT_X(SUCCEEDED(hr), Q_FUNC_INFO, qPrintable(qt_error_string(hr)));
-
+QT_BEGIN_NAMESPACE
namespace Microsoft { namespace WRL { template <typename T> class ComPtr; } }
@@ -207,6 +206,10 @@ static inline HRESULT await(const Microsoft::WRL::ComPtr<T> &asyncOp, U *results
} // QWinRTFunctions
+QT_END_NAMESPACE
+
+#endif // Q_OS_WINRT
+
#endif // Q_OS_WIN
#endif // QFUNCTIONS_WINRT_H