From 8d075bbd27febc85f0b39991cb3cd2d542aaa220 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 22 Sep 2017 16:32:31 +0200 Subject: [PATCH] feat(c-wrapper): set/get UserData are simple functions now --- src/c-wrapper/internal/c-tools.h | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/c-wrapper/internal/c-tools.h b/src/c-wrapper/internal/c-tools.h index 026080352..9a6c4458f 100644 --- a/src/c-wrapper/internal/c-tools.h +++ b/src/c-wrapper/internal/c-tools.h @@ -25,7 +25,7 @@ // TODO: From coreapi. Remove me later. #include "private.h" -#include "variant/variant.h" +#include "object/property-container.h" // ============================================================================= // Internal. @@ -215,28 +215,24 @@ public: // Get/set user data. // --------------------------------------------------------------------------- - template - static void *getUserData (const std::shared_ptr &cppPtr) { - Variant v = cppPtr->getProperty("LinphonePrivate::Wrapper::userData"); - return v.getValue(); + static inline void *getUserData (const std::shared_ptr &propertyContainer) { + L_ASSERT(propertyContainer); + return propertyContainer->getProperty("LinphonePrivate::Wrapper::userData").getValue(); } - template - static void *getUserData (T *cppPtr) { - Variant v = cppPtr->getProperty("LinphonePrivate::Wrapper::userData"); - return v.getValue(); + static inline void *getUserData (const PropertyContainer *propertyContainer) { + L_ASSERT(propertyContainer); + return propertyContainer->getProperty("LinphonePrivate::Wrapper::userData").getValue(); } - template - static inline void setUserData (const std::shared_ptr &object, void *value) { - L_ASSERT(object); - object->setProperty("LinphonePrivate::Wrapper::userData", value); + static inline void setUserData (const std::shared_ptr &propertyContainer, void *value) { + L_ASSERT(propertyContainer); + propertyContainer->setProperty("LinphonePrivate::Wrapper::userData", value); } - template - static inline void setUserData (T *object, void *value) { - L_ASSERT(object); - object->setProperty("LinphonePrivate::Wrapper::userData", value); + static inline void setUserData (PropertyContainer *propertyContainer, void *value) { + L_ASSERT(propertyContainer); + propertyContainer->setProperty("LinphonePrivate::Wrapper::userData", value); } // ---------------------------------------------------------------------------