summaryrefslogtreecommitdiff
path: root/matlab/src/Logger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'matlab/src/Logger.cpp')
-rw-r--r--matlab/src/Logger.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/matlab/src/Logger.cpp b/matlab/src/Logger.cpp
index 7e7421231c6..104b1789248 100644
--- a/matlab/src/Logger.cpp
+++ b/matlab/src/Logger.cpp
@@ -11,9 +11,6 @@
#include "Logger.h"
#include "Util.h"
-#define DEREF(x) (*(reinterpret_cast<shared_ptr<Ice::Logger>*>(x)))
-#define SELF DEREF(self)
-
using namespace std;
using namespace IceMatlab;
@@ -29,7 +26,7 @@ extern "C"
mxArray*
Ice_Logger_unref(void* self)
{
- delete &SELF;
+ delete reinterpret_cast<shared_ptr<Ice::Logger>*>(self);
return 0;
}
@@ -38,7 +35,7 @@ Ice_Logger_print(void* self, mxArray* message)
{
try
{
- SELF->print(getStringFromUTF16(message));
+ deref<Ice::Logger>(self)->print(getStringFromUTF16(message));
}
catch(const std::exception& ex)
{
@@ -52,7 +49,7 @@ Ice_Logger_trace(void* self, mxArray* category, mxArray* message)
{
try
{
- SELF->trace(getStringFromUTF16(category), getStringFromUTF16(message));
+ deref<Ice::Logger>(self)->trace(getStringFromUTF16(category), getStringFromUTF16(message));
}
catch(const std::exception& ex)
{
@@ -66,7 +63,7 @@ Ice_Logger_warning(void* self, mxArray* message)
{
try
{
- SELF->warning(getStringFromUTF16(message));
+ deref<Ice::Logger>(self)->warning(getStringFromUTF16(message));
}
catch(const std::exception& ex)
{
@@ -80,7 +77,7 @@ Ice_Logger_error(void* self, mxArray* message)
{
try
{
- SELF->error(getStringFromUTF16(message));
+ deref<Ice::Logger>(self)->error(getStringFromUTF16(message));
}
catch(const std::exception& ex)
{
@@ -94,7 +91,7 @@ Ice_Logger_getPrefix(void* self)
{
try
{
- return createResultValue(createStringFromUTF8(SELF->getPrefix()));
+ return createResultValue(createStringFromUTF8(deref<Ice::Logger>(self)->getPrefix()));
}
catch(const std::exception& ex)
{
@@ -104,12 +101,13 @@ Ice_Logger_getPrefix(void* self)
}
mxArray*
-Ice_Logger_cloneWithPrefix(void* self, mxArray* prefix, void** newLogger)
+Ice_Logger_cloneWithPrefix(void* self, mxArray* prefix, void** r)
{
try
{
- shared_ptr<Ice::Logger> l = SELF->cloneWithPrefix(getStringFromUTF16(prefix));
- *newLogger = l.get() == SELF.get() ? 0 : new shared_ptr<Ice::Logger>(move(l));
+ auto logger = deref<Ice::Logger>(self);
+ auto newLogger = logger->cloneWithPrefix(getStringFromUTF16(prefix));
+ *r = newLogger == logger ? 0 : new shared_ptr<Ice::Logger>(move(newLogger));
}
catch(const std::exception& ex)
{