[DEV] update logs
This commit is contained in:
parent
000be3f640
commit
115506ff9b
@ -14,6 +14,9 @@
|
||||
#include <esignal/Signal.h>
|
||||
#include <esignal/Interface.h>
|
||||
|
||||
#undef __class__
|
||||
#define __class__ "ISignal<T_ARGS>"
|
||||
|
||||
namespace esignal {
|
||||
/**
|
||||
* @brief Sigla same as @ref esignal::Signal withe a name and a description to manage a list of signals.
|
||||
@ -65,3 +68,6 @@ esignal::ISignal<T_ARGS...>::ISignal(CLASS_TYPE* _class,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#undef __class__
|
||||
#define __class__ nullptr
|
||||
|
@ -19,6 +19,9 @@
|
||||
#include <utility>
|
||||
#include <mutex>
|
||||
|
||||
#undef __class__
|
||||
#define __class__ "Signal<T_ARGS>"
|
||||
|
||||
namespace esignal {
|
||||
/**
|
||||
* @brief Basic signal base
|
||||
@ -169,12 +172,14 @@ namespace esignal {
|
||||
template<class... T_ARGS>
|
||||
template< class OBSERVER_TYPE >
|
||||
esignal::Connection esignal::Signal<T_ARGS...>::connect(OBSERVER_TYPE&& _observer ) {
|
||||
ESIGNAL_DEBUG("esignal: '" << getName() << "' try connect: '" << getName() << "' (observer)");
|
||||
std::unique_ptr<Executor> executer(new Executor(std::forward<OBSERVER_TYPE>(_observer)));
|
||||
std::size_t uid = executer->m_uid;
|
||||
m_executors.push_back(std::move(executer));
|
||||
if (m_connectionObserver!=nullptr) {
|
||||
m_connectionObserver(m_executors.size());
|
||||
}
|
||||
ESIGNAL_DEBUG(" '" << getName() << "' new count: " << m_executors.size());
|
||||
return esignal::Connection(Base::m_shared, uid);
|
||||
}
|
||||
|
||||
@ -183,8 +188,9 @@ template<class CLASS_TYPE, class FUNC_TYPE, class... FUNC_ARGS_TYPE>
|
||||
esignal::Connection esignal::Signal<T_ARGS...>::connect(CLASS_TYPE* _class,
|
||||
FUNC_TYPE _func,
|
||||
FUNC_ARGS_TYPE... _arg) {
|
||||
ESIGNAL_DEBUG("esignal: '" << getName() << "' try connect: '" << getName() << "' (reference)");
|
||||
if (_class == nullptr) {
|
||||
// ERROR
|
||||
ESIGNAL_ERROR(" '" << getName() << "' Class pointer in nullptr");
|
||||
return esignal::Connection();
|
||||
}
|
||||
std::unique_ptr<Executor> executer(new Executor([=](const T_ARGS& ... _argBase){
|
||||
@ -192,9 +198,10 @@ esignal::Connection esignal::Signal<T_ARGS...>::connect(CLASS_TYPE* _class,
|
||||
}));
|
||||
std::size_t uid = executer->m_uid;
|
||||
m_executors.push_back(std::move(executer));
|
||||
if (m_connectionObserver!=nullptr) {
|
||||
if (m_connectionObserver != nullptr) {
|
||||
m_connectionObserver(m_executors.size());
|
||||
}
|
||||
ESIGNAL_DEBUG(" '" << getName() << "' new count: " << m_executors.size());
|
||||
return Connection(Base::m_shared, uid);
|
||||
}
|
||||
|
||||
@ -203,13 +210,14 @@ template<class PARENT_CLASS_TYPE, class CLASS_TYPE, typename... FUNC_ARGS_TYPE>
|
||||
void esignal::Signal<T_ARGS...>::connect(const std::shared_ptr<PARENT_CLASS_TYPE>& _class,
|
||||
void (CLASS_TYPE::*_func)(const T_ARGS&..., FUNC_ARGS_TYPE...),
|
||||
FUNC_ARGS_TYPE... _args) {
|
||||
ESIGNAL_DEBUG("esignal: '" << getName() << "' try connect: '" << getName() << "' (weak pointer)");
|
||||
if (_class == nullptr) {
|
||||
// ERROR
|
||||
ESIGNAL_ERROR(" '" << getName() << "' Class pointer in nullptr");
|
||||
return;
|
||||
}
|
||||
std::shared_ptr<CLASS_TYPE> obj2 = std::dynamic_pointer_cast<CLASS_TYPE>(_class);
|
||||
if (obj2 == nullptr) {
|
||||
ESIGNAL_ERROR("Can not bind signal ...");
|
||||
ESIGNAL_ERROR("Can not connect signal ...");
|
||||
return;
|
||||
}
|
||||
CLASS_TYPE* directPointer = obj2.get();
|
||||
@ -221,6 +229,7 @@ void esignal::Signal<T_ARGS...>::connect(const std::shared_ptr<PARENT_CLASS_TYPE
|
||||
if (m_connectionObserver!=nullptr) {
|
||||
m_connectionObserver(m_executors.size());
|
||||
}
|
||||
ESIGNAL_DEBUG(" '" << getName() << "' new count: " << m_executors.size());
|
||||
}
|
||||
|
||||
template<class... T_ARGS>
|
||||
@ -232,3 +241,5 @@ esignal::Signal<T_ARGS...>::Signal(CLASS_TYPE* _class,
|
||||
// nothing to do
|
||||
}
|
||||
|
||||
#undef __class__
|
||||
#define __class__ nullptr
|
||||
|
@ -10,6 +10,9 @@
|
||||
#include <esignal/ISignal.h>
|
||||
#include <esignal/details/Signal.hxx>
|
||||
|
||||
#undef __class__
|
||||
#define __class__ "ISignal<T_ARGS>"
|
||||
|
||||
template<class... T_ARGS>
|
||||
esignal::ISignal<T_ARGS...>::ISignal(esignal::Interface* _signalInterfaceLink,
|
||||
const std::string& _name,
|
||||
@ -40,4 +43,6 @@ const std::string& esignal::ISignal<T_ARGS...>::getDescription() const {
|
||||
return m_description;
|
||||
}
|
||||
|
||||
#undef __class__
|
||||
#define __class__ nullptr
|
||||
|
||||
|
@ -28,8 +28,9 @@ void esignal::Signal<T_ARGS...>::emit(const T_ARGS&... _args) {
|
||||
#endif
|
||||
// TODO : Add protection ... but how ...
|
||||
m_callInProgress++;
|
||||
ESIGNAL_DEBUG(esignal::logIndent(m_callInProgress-1) << " signal{" << tmpID << "} :");
|
||||
ESIGNAL_DEBUG(esignal::logIndent(m_callInProgress-1) << " signal{" << tmpID << "} : '" << getName() << "' ***/" << m_executors.size());
|
||||
for (size_t iii=0; iii < m_executors.size(); ++iii) {
|
||||
ESIGNAL_VERBOSE(esignal::logIndent(m_callInProgress-1) << " {" << tmpID << "} : " << iii);
|
||||
m_executors[iii]->emit(_args...);
|
||||
}
|
||||
if (m_callInProgress == 1) {
|
||||
@ -181,4 +182,7 @@ bool esignal::Signal<T_ARGS...>::ExecutorShared::isSharedPtr(const std::shared_p
|
||||
return false;
|
||||
}
|
||||
|
||||
#undef __class__
|
||||
#define __class__ nullptr
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user