diff options
Diffstat (limited to 'matlab/src/Logger.cpp')
-rw-r--r-- | matlab/src/Logger.cpp | 22 |
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) { |