diff --git a/bin/dbus/dbusclient.cpp b/bin/dbus/dbusclient.cpp index e13b4c681..4fd4a721e 100644 --- a/bin/dbus/dbusclient.cpp +++ b/bin/dbus/dbusclient.cpp @@ -223,13 +223,13 @@ DBusClient::initLibrary(int flags) if (!DRing::init(static_cast(flags))) return -1; - registerCallHandlers(callEvHandlers); - registerConfHandlers(configEvHandlers); - registerPresHandlers(presEvHandlers); - registerPresHandlers(audioEvHandlers); - registerDataXferHandlers(dataXferEvHandlers); + registerSignalHandlers(callEvHandlers); + registerSignalHandlers(configEvHandlers); + registerSignalHandlers(presEvHandlers); + registerSignalHandlers(audioEvHandlers); + registerSignalHandlers(dataXferEvHandlers); #ifdef RING_VIDEO - registerVideoHandlers(videoEvHandlers); + registerSignalHandlers(videoEvHandlers); #endif if (!DRing::start()) diff --git a/bin/jni/jni_interface.i b/bin/jni/jni_interface.i index 74261791e..a7bf63e78 100644 --- a/bin/jni/jni_interface.i +++ b/bin/jni/jni_interface.i @@ -293,11 +293,11 @@ void init(ConfigurationCallback* confM, Callback* callM, PresenceCallback* presM if (!DRing::init(static_cast(DRing::DRING_FLAG_DEBUG))) return; - registerCallHandlers(callEvHandlers); - registerConfHandlers(configEvHandlers); - registerPresHandlers(presenceEvHandlers); - registerDataXferHandlers(dataTransferEvHandlers); - registerVideoHandlers(videoEvHandlers); + registerSignalHandlers(callEvHandlers); + registerSignalHandlers(configEvHandlers); + registerSignalHandlers(presenceEvHandlers); + registerSignalHandlers(dataTransferEvHandlers); + registerSignalHandlers(videoEvHandlers); DRing::start(); } diff --git a/bin/nodejs/nodejs_interface.i b/bin/nodejs/nodejs_interface.i index 88e0dc539..3df6ee43c 100644 --- a/bin/nodejs/nodejs_interface.i +++ b/bin/nodejs/nodejs_interface.i @@ -156,8 +156,8 @@ void init(const v8::Handle &funcMap){ if (!DRing::init(static_cast(DRing::DRING_FLAG_DEBUG))) return; - registerConfHandlers(configEvHandlers); - registerCallHandlers(callEvHandlers); + registerSignalHandlers(configEvHandlers); + registerSignalHandlers(callEvHandlers); DRing::start(); } diff --git a/bin/osxmain.cpp b/bin/osxmain.cpp index 073bdc53a..fee2070ef 100644 --- a/bin/osxmain.cpp +++ b/bin/osxmain.cpp @@ -151,12 +151,8 @@ osxTests() DRing::init(static_cast(ringFlags)); - registerCallHandlers(std::map>()); - registerConfHandlers(std::map>()); - registerPresHandlers(std::map>()); -#ifdef RING_VIDEO - registerVideoHandlers(std::map>()); -#endif + registerSignalHandlers(std::map>()); + if (!DRing::start()) return -1; diff --git a/bin/restcpp/restclient.cpp b/bin/restcpp/restclient.cpp index 362645df4..ab8fc68b8 100644 --- a/bin/restcpp/restclient.cpp +++ b/bin/restcpp/restclient.cpp @@ -119,13 +119,13 @@ RestClient::initLib(int flags) if (!DRing::init(static_cast(flags))) return -1; - registerConfHandlers(configEvHandlers); + registerSignalHandlers(configEvHandlers); // Dummy callbacks are registered for the other managers - registerCallHandlers(std::map>()); - registerPresHandlers(std::map>()); + registerSignalHandlers(std::map>()); + registerSignalHandlers(std::map>()); #ifdef RING_VIDEO - registerVideoHandlers(std::map>()); + registerSignalHandlers(std::map>()); #endif if (!DRing::start()) diff --git a/bin/winmain.cpp b/bin/winmain.cpp index 1bf98b978..41ce46ef6 100644 --- a/bin/winmain.cpp +++ b/bin/winmain.cpp @@ -172,7 +172,7 @@ run() callHandlers.insert(DRing::exportable_callback (std::bind(&IncomingCall, _1, _2, _3))); - registerCallHandlers(callHandlers); + registerSignalHandlers(callHandlers); if (!DRing::start()) return -1; diff --git a/configure.ac b/configure.ac index 9d72238c1..7cd9248cf 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Ring - configure.ac for automake 1.9 and autoconf 2.59 dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.65]) -AC_INIT([Ring Daemon],[5.1.0],[ring@gnu.org],[ring]) +AC_INIT([Ring Daemon],[5.2.0],[ring@gnu.org],[ring]) AC_COPYRIGHT([[Copyright (c) Savoir-faire Linux 2004-2018]]) AC_REVISION([$Revision$]) diff --git a/doc/doxygen/core-doc.cfg.in b/doc/doxygen/core-doc.cfg.in index b1a27ce32..b27b529c0 100644 --- a/doc/doxygen/core-doc.cfg.in +++ b/doc/doxygen/core-doc.cfg.in @@ -31,7 +31,7 @@ PROJECT_NAME = "Ring Daemon" # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 5.1.0 +PROJECT_NUMBER = 5.2.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/src/client/callmanager.cpp b/src/client/callmanager.cpp index e8e2ef15c..7ebf928a8 100644 --- a/src/client/callmanager.cpp +++ b/src/client/callmanager.cpp @@ -39,18 +39,9 @@ namespace DRing { void registerCallHandlers(const std::map>& handlers) + std::shared_ptr>&handlers) { - auto& handlers_ = ring::getSignalHandlers(); - for (auto& item : handlers) { - auto iter = handlers_.find(item.first); - if (iter == handlers_.end()) { - RING_ERR("Signal %s not supported", item.first.c_str()); - continue; - } - - iter->second = std::move(item.second); - } + registerSignalHandlers(handlers); } std::string diff --git a/src/client/configurationmanager.cpp b/src/client/configurationmanager.cpp index 30e30308e..7da80a2c7 100644 --- a/src/client/configurationmanager.cpp +++ b/src/client/configurationmanager.cpp @@ -73,18 +73,9 @@ using ring::HookPreference; void registerConfHandlers(const std::map>& handlers) + std::shared_ptr>&handlers) { - auto& handlers_ = ring::getSignalHandlers(); - for (auto& item : handlers) { - auto iter = handlers_.find(item.first); - if (iter == handlers_.end()) { - RING_ERR("Signal %s not supported", item.first.c_str()); - continue; - } - - iter->second = std::move(item.second); - } + registerSignalHandlers(handlers); } std::map diff --git a/src/client/datatransfer.cpp b/src/client/datatransfer.cpp index b4882fb95..3a7f63eb3 100644 --- a/src/client/datatransfer.cpp +++ b/src/client/datatransfer.cpp @@ -27,18 +27,10 @@ namespace DRing { void -registerDataXferHandlers(const std::map>& handlers) +registerDataXferHandlers(const std::map>& handlers) { - auto& handlers_ = ring::getSignalHandlers(); - for (const auto& item : handlers) { - auto iter = handlers_.find(item.first); - if (iter == handlers_.end()) { - RING_ERR("Signal %s not supported", item.first.c_str()); - continue; - } - - iter->second = std::move(item.second); - } + registerSignalHandlers(handlers); } std::vector diff --git a/src/client/presencemanager.cpp b/src/client/presencemanager.cpp index ca12c0664..caa3bbb30 100644 --- a/src/client/presencemanager.cpp +++ b/src/client/presencemanager.cpp @@ -46,18 +46,9 @@ using ring::SIPAccount; void registerPresHandlers(const std::map>& handlers) + std::shared_ptr>&handlers) { - auto& handlers_ = ring::getSignalHandlers(); - for (auto& item : handlers) { - auto iter = handlers_.find(item.first); - if (iter == handlers_.end()) { - RING_ERR("Signal %s not supported", item.first.c_str()); - continue; - } - - iter->second = std::move(item.second); - } + registerSignalHandlers(handlers); } /** diff --git a/src/client/ring_signal.cpp b/src/client/ring_signal.cpp index b9343f58b..d3ae15717 100644 --- a/src/client/ring_signal.cpp +++ b/src/client/ring_signal.cpp @@ -117,3 +117,22 @@ getSignalHandlers() } }; // namespace ring + +namespace DRing { + +void +registerSignalHandlers(const std::map>&handlers) +{ + auto& handlers_ = ring::getSignalHandlers(); + for (auto& item : handlers) { + auto iter = handlers_.find(item.first); + if (iter == handlers_.end()) { + RING_ERR("Signal %s not supported", item.first.c_str()); + continue; + } + iter->second = std::move(item.second); + } +} + +} \ No newline at end of file diff --git a/src/client/videomanager.cpp b/src/client/videomanager.cpp index b13be1538..c78c15daa 100644 --- a/src/client/videomanager.cpp +++ b/src/client/videomanager.cpp @@ -41,21 +41,11 @@ namespace DRing { void registerVideoHandlers(const std::map>& handlers) + std::shared_ptr>&handlers) { - auto& handlers_ = ring::getSignalHandlers(); - for (auto& item : handlers) { - auto iter = handlers_.find(item.first); - if (iter == handlers_.end()) { - RING_ERR("Signal %s not supported", item.first.c_str()); - continue; - } - - iter->second = std::move(item.second); - } + registerSignalHandlers(handlers); } - std::vector getDeviceList() { diff --git a/src/dring/callmanager_interface.h b/src/dring/callmanager_interface.h index 6f8bc4249..eed3204ff 100644 --- a/src/dring/callmanager_interface.h +++ b/src/dring/callmanager_interface.h @@ -33,6 +33,7 @@ namespace DRing { +[[deprecated("Replaced by registerSignalHandlers")]] void registerCallHandlers(const std::map>&); /* Call related methods */ diff --git a/src/dring/configurationmanager_interface.h b/src/dring/configurationmanager_interface.h index b79a8b1a1..eff380709 100644 --- a/src/dring/configurationmanager_interface.h +++ b/src/dring/configurationmanager_interface.h @@ -40,6 +40,9 @@ namespace DRing { +[[deprecated("Replaced by registerSignalHandlers")]] +void registerConfHandlers(const std::map>&); + struct Message { std::string from; @@ -47,8 +50,6 @@ struct Message uint64_t received; }; -void registerConfHandlers(const std::map>&); - std::map getAccountDetails(const std::string& accountID); std::map getVolatileAccountDetails(const std::string& accountID); void setAccountDetails(const std::string& accountID, const std::map& details); diff --git a/src/dring/datatransfer_interface.h b/src/dring/datatransfer_interface.h index 97ef49b6f..b7ca5cbc3 100644 --- a/src/dring/datatransfer_interface.h +++ b/src/dring/datatransfer_interface.h @@ -31,6 +31,9 @@ namespace DRing { +[[deprecated("Replaced by registerSignalHandlers")]] +void registerDataXferHandlers(const std::map>&); + using DataTransferId = uint64_t; enum class DataTransferEventCode : uint32_t @@ -158,9 +161,6 @@ DataTransferError dataTransferInfo(const DataTransferId& id, DataTransferInfo& i DataTransferError dataTransferBytesProgress(const DataTransferId& id, int64_t& total, int64_t& progress) noexcept; -// Signal handlers registration -void registerDataXferHandlers(const std::map>&); - // Signals struct DataTransferSignal { diff --git a/src/dring/dring.h b/src/dring/dring.h index d6f12af94..dd7f2a89c 100644 --- a/src/dring/dring.h +++ b/src/dring/dring.h @@ -150,6 +150,8 @@ exportable_callback(std::function&& func) { (std::forward>(func))); } +void registerSignalHandlers(const std::map>&); + } // namespace DRing #endif /* DRING_H */ diff --git a/src/dring/presencemanager_interface.h b/src/dring/presencemanager_interface.h index bc5c82780..ce403fba8 100644 --- a/src/dring/presencemanager_interface.h +++ b/src/dring/presencemanager_interface.h @@ -31,6 +31,7 @@ namespace DRing { +[[deprecated("Replaced by registerSignalHandlers")]] void registerPresHandlers(const std::map>&); /* Presence subscription/Notification. */ diff --git a/src/dring/videomanager_interface.h b/src/dring/videomanager_interface.h index edd6c93c5..ed29ac666 100644 --- a/src/dring/videomanager_interface.h +++ b/src/dring/videomanager_interface.h @@ -37,6 +37,9 @@ namespace DRing { +[[deprecated("Replaced by registerSignalHandlers")]] +void registerVideoHandlers(const std::map>&); + /* FrameBuffer is a generic video frame container */ struct FrameBuffer { uint8_t* ptr {nullptr}; // data as a plain raw pointer @@ -55,8 +58,6 @@ struct SinkTarget { using VideoCapabilities = std::map>>; -void registerVideoHandlers(const std::map>&); - std::vector getDeviceList(); VideoCapabilities getCapabilities(const std::string& name); std::map getSettings(const std::string& name);