From f2daaf7df1d875e52866bef149da9e0651cdd8d6 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Sep 2017 10:12:56 +0200 Subject: [PATCH] feat(c-tools): add doc on c wrapped object creation --- src/c-wrapper/c-tools.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/c-wrapper/c-tools.h b/src/c-wrapper/c-tools.h index da273b3a0..0f11c3c2d 100644 --- a/src/c-wrapper/c-tools.h +++ b/src/c-wrapper/c-tools.h @@ -259,6 +259,8 @@ private: LINPHONE_END_NAMESPACE +#define L_INTERNAL_C_STRUCT_NO_XTOR(OBJECT) + #define L_INTERNAL_DECLARE_C_STRUCT_FUNCTIONS(CPP_CLASS, C_TYPE, C_NAME, CONSTRUCTOR, DESTRUCTOR) \ BELLE_SIP_DECLARE_VPTR_NO_EXPORT(Linphone ## C_TYPE); \ Linphone ## C_TYPE *_linphone_ ## C_NAME ## _init() { \ @@ -289,8 +291,7 @@ LINPHONE_END_NAMESPACE // C object declaration. // ----------------------------------------------------------------------------- -#define L_C_STRUCT_NO_XTOR(OBJECT) - +// Declare wrapped C object with constructor/destructor. #define L_DECLARE_C_STRUCT_IMPL_WITH_XTORS(CPP_CLASS, C_TYPE, C_NAME, CONSTRUCTOR, DESTRUCTOR, ...) \ struct _Linphone ## C_TYPE { \ belle_sip_object_t base; \ @@ -299,14 +300,16 @@ LINPHONE_END_NAMESPACE }; \ L_INTERNAL_DECLARE_C_STRUCT_FUNCTIONS(CPP_CLASS, C_TYPE, C_NAME, CONSTRUCTOR, DESTRUCTOR) +// Declare wrapped C object. #define L_DECLARE_C_STRUCT_IMPL(CPP_CLASS, C_TYPE, C_NAME, ...) \ struct _Linphone ## C_TYPE { \ belle_sip_object_t base; \ std::shared_ptr cppPtr; \ __VA_ARGS__ \ }; \ - L_INTERNAL_DECLARE_C_STRUCT_FUNCTIONS(CPP_CLASS, C_TYPE, C_NAME, L_C_STRUCT_NO_XTOR, L_C_STRUCT_NO_XTOR) + L_INTERNAL_DECLARE_C_STRUCT_FUNCTIONS(CPP_CLASS, C_TYPE, C_NAME, L_INTERNAL_C_STRUCT_NO_XTOR, L_INTERNAL_C_STRUCT_NO_XTOR) +// Declare clonable wrapped C object. #define L_DECLARE_C_CLONABLE_STRUCT_IMPL(CPP_CLASS, C_TYPE, C_NAME, ...) \ struct _Linphone ## C_TYPE { \ belle_sip_object_t base; \