summaryrefslogtreecommitdiff
path: root/public/include/client-glue/WXMP_Common.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'public/include/client-glue/WXMP_Common.hpp')
-rw-r--r--public/include/client-glue/WXMP_Common.hpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/public/include/client-glue/WXMP_Common.hpp b/public/include/client-glue/WXMP_Common.hpp
index b21e67e..4d6eaab 100644
--- a/public/include/client-glue/WXMP_Common.hpp
+++ b/public/include/client-glue/WXMP_Common.hpp
@@ -33,12 +33,13 @@ struct WXMP_Result {
extern "C" {
#endif
+#define PropagateException(res) \
+ if ( res.errMessage != 0 ) throw XMP_Error ( res.int32Result, res.errMessage );
+
#ifndef TraceXMPCalls
#define TraceXMPCalls 0
#endif
- #define PropagateException(res) \
- if ( res.errMessage != 0 ) throw XMP_Error ( res.int32Result, res.errMessage );
#if ! TraceXMPCalls
#define InvokeCheck(WCallProto) \
WXMP_Result wResult; \
@@ -73,10 +74,18 @@ extern "C" {
InvokeCheck(WCallProto); \
XMPIteratorRef result = XMPIteratorRef(wResult.ptrResult)
+#define WrapCheckDocOpsRef(result,WCallProto) \
+ InvokeCheck(WCallProto); \
+ XMPDocOpsRef result = XMPDocOpsRef(wResult.ptrResult)
+
#define WrapCheckBool(result,WCallProto) \
InvokeCheck(WCallProto); \
bool result = bool(wResult.int32Result)
+#define WrapCheckTriState(result,WCallProto) \
+ InvokeCheck(WCallProto); \
+ XMP_TriState result = XMP_TriState(wResult.int32Result)
+
#define WrapCheckOptions(result,WCallProto) \
InvokeCheck(WCallProto); \
XMP_OptionBits result = XMP_OptionBits(wResult.int32Result)
@@ -101,6 +110,10 @@ extern "C" {
InvokeCheck(WCallProto); \
double result = wResult.floatResult
+#define WrapCheckFormat(result,WCallProto) \
+ InvokeCheck(WCallProto); \
+ XMP_FileFormat result = wResult.int32Result
+
// =================================================================================================
#if __cplusplus