diff options
author | Jose <jose@zeroc.com> | 2017-10-13 18:41:38 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-10-13 18:41:38 +0200 |
commit | d46f067bb9efca15b3fc69ed81d54dbe59d6686e (patch) | |
tree | 5f5fab14cbf919c64a272a25944bbcefb324726a /matlab/src/Logger.cpp | |
parent | Remove extra ICE_MATLAB_API macros (diff) | |
download | ice-d46f067bb9efca15b3fc69ed81d54dbe59d6686e.tar.bz2 ice-d46f067bb9efca15b3fc69ed81d54dbe59d6686e.tar.xz ice-d46f067bb9efca15b3fc69ed81d54dbe59d6686e.zip |
Replace SELF/DEREF macros with deref template function
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) { |