--- a/hardware/Comm5Serial.cpp +++ b/hardware/Comm5Serial.cpp @@ -5,6 +5,8 @@ #include "../main/Logger.h" #include "../main/RFXtrx.h" +using namespace std::placeholders; + /* This driver allows Domoticz to control any I/O module from the MA-4xxx Family @@ -92,7 +94,7 @@ bool Comm5Serial::StartHardware() return false; } m_bIsStarted=true; - setReadCallback(boost::bind(&Comm5Serial::readCallBack, this, _1, _2)); + setReadCallback(std::bind(&Comm5Serial::readCallBack, this, _1, _2)); sOnConnected(this); return true; --- a/hardware/DenkoviUSBDevices.cpp +++ b/hardware/DenkoviUSBDevices.cpp @@ -16,6 +16,8 @@ enum _edaeUsbState #define DAE_IO_TYPE_RELAY 2 +using namespace std::placeholders; + CDenkoviUSBDevices::CDenkoviUSBDevices(const int ID, const std::string& comPort, const int model) : m_szSerialPort(comPort) { @@ -78,7 +80,7 @@ bool CDenkoviUSBDevices::StartHardware() m_thread = std::make_shared(&CDenkoviUSBDevices::Do_Work, this); m_bIsStarted = true; - setReadCallback(boost::bind(&CDenkoviUSBDevices::readCallBack, this, _1, _2)); + setReadCallback(std::bind(&CDenkoviUSBDevices::readCallBack, this, _1, _2)); sOnConnected(this); return true; --- a/hardware/EvohomeRadio.cpp +++ b/hardware/EvohomeRadio.cpp @@ -26,6 +26,8 @@ extern std::string szUserDataFolder; +using namespace std::placeholders; + enum evoCommands { cmdSysInfo = 0x10e0, @@ -86,27 +88,27 @@ CEvohomeRadio::CEvohomeRadio(const int ID, const std::string& UserContID) s_strid >> std::hex >> m_UControllerID; } - RegisterDecoder(cmdZoneTemp, boost::bind(&CEvohomeRadio::DecodeZoneTemp, this, _1)); - RegisterDecoder(cmdSetPoint, boost::bind(&CEvohomeRadio::DecodeSetpoint, this, _1)); - RegisterDecoder(cmdSetpointOverride, boost::bind(&CEvohomeRadio::DecodeSetpointOverride, this, _1)); - RegisterDecoder(cmdDHWState, boost::bind(&CEvohomeRadio::DecodeDHWState, this, _1)); - RegisterDecoder(cmdDHWTemp, boost::bind(&CEvohomeRadio::DecodeDHWTemp, this, _1)); - RegisterDecoder(cmdControllerMode, boost::bind(&CEvohomeRadio::DecodeControllerMode, this, _1)); - RegisterDecoder(cmdSysInfo, boost::bind(&CEvohomeRadio::DecodeSysInfo, this, _1)); - RegisterDecoder(cmdZoneName, boost::bind(&CEvohomeRadio::DecodeZoneName, this, _1)); - RegisterDecoder(cmdZoneHeatDemand, boost::bind(&CEvohomeRadio::DecodeHeatDemand, this, _1)); - RegisterDecoder(cmdOpenThermBridge, boost::bind(&CEvohomeRadio::DecodeOpenThermBridge, this, _1)); - RegisterDecoder(cmdOpenThermSetpoint, boost::bind(&CEvohomeRadio::DecodeOpenThermSetpoint, this, _1)); - RegisterDecoder(cmdZoneInfo, boost::bind(&CEvohomeRadio::DecodeZoneInfo, this, _1)); - RegisterDecoder(cmdControllerHeatDemand, boost::bind(&CEvohomeRadio::DecodeHeatDemand, this, _1)); - RegisterDecoder(cmdBinding, boost::bind(&CEvohomeRadio::DecodeBinding, this, _1)); - RegisterDecoder(cmdActuatorState, boost::bind(&CEvohomeRadio::DecodeActuatorState, this, _1)); - RegisterDecoder(cmdActuatorCheck, boost::bind(&CEvohomeRadio::DecodeActuatorCheck, this, _1)); - RegisterDecoder(cmdZoneWindow, boost::bind(&CEvohomeRadio::DecodeZoneWindow, this, _1)); - RegisterDecoder(cmdExternalSensor, boost::bind(&CEvohomeRadio::DecodeExternalSensor, this, _1)); - RegisterDecoder(cmdDeviceInfo, boost::bind(&CEvohomeRadio::DecodeDeviceInfo, this, _1)); - RegisterDecoder(cmdBatteryInfo, boost::bind(&CEvohomeRadio::DecodeBatteryInfo, this, _1)); - RegisterDecoder(cmdSync, boost::bind(&CEvohomeRadio::DecodeSync, this, _1)); + RegisterDecoder(cmdZoneTemp, std::bind(&CEvohomeRadio::DecodeZoneTemp, this, _1)); + RegisterDecoder(cmdSetPoint, std::bind(&CEvohomeRadio::DecodeSetpoint, this, _1)); + RegisterDecoder(cmdSetpointOverride, std::bind(&CEvohomeRadio::DecodeSetpointOverride, this, _1)); + RegisterDecoder(cmdDHWState, std::bind(&CEvohomeRadio::DecodeDHWState, this, _1)); + RegisterDecoder(cmdDHWTemp, std::bind(&CEvohomeRadio::DecodeDHWTemp, this, _1)); + RegisterDecoder(cmdControllerMode, std::bind(&CEvohomeRadio::DecodeControllerMode, this, _1)); + RegisterDecoder(cmdSysInfo, std::bind(&CEvohomeRadio::DecodeSysInfo, this, _1)); + RegisterDecoder(cmdZoneName, std::bind(&CEvohomeRadio::DecodeZoneName, this, _1)); + RegisterDecoder(cmdZoneHeatDemand, std::bind(&CEvohomeRadio::DecodeHeatDemand, this, _1)); + RegisterDecoder(cmdOpenThermBridge, std::bind(&CEvohomeRadio::DecodeOpenThermBridge, this, _1)); + RegisterDecoder(cmdOpenThermSetpoint, std::bind(&CEvohomeRadio::DecodeOpenThermSetpoint, this, _1)); + RegisterDecoder(cmdZoneInfo, std::bind(&CEvohomeRadio::DecodeZoneInfo, this, _1)); + RegisterDecoder(cmdControllerHeatDemand, std::bind(&CEvohomeRadio::DecodeHeatDemand, this, _1)); + RegisterDecoder(cmdBinding, std::bind(&CEvohomeRadio::DecodeBinding, this, _1)); + RegisterDecoder(cmdActuatorState, std::bind(&CEvohomeRadio::DecodeActuatorState, this, _1)); + RegisterDecoder(cmdActuatorCheck, std::bind(&CEvohomeRadio::DecodeActuatorCheck, this, _1)); + RegisterDecoder(cmdZoneWindow, std::bind(&CEvohomeRadio::DecodeZoneWindow, this, _1)); + RegisterDecoder(cmdExternalSensor, std::bind(&CEvohomeRadio::DecodeExternalSensor, this, _1)); + RegisterDecoder(cmdDeviceInfo, std::bind(&CEvohomeRadio::DecodeDeviceInfo, this, _1)); + RegisterDecoder(cmdBatteryInfo, std::bind(&CEvohomeRadio::DecodeBatteryInfo, this, _1)); + RegisterDecoder(cmdSync, std::bind(&CEvohomeRadio::DecodeSync, this, _1)); } --- a/hardware/EvohomeSerial.cpp +++ b/hardware/EvohomeSerial.cpp @@ -7,6 +7,8 @@ #include "../main/localtime_r.h" #include +using namespace std::placeholders; + CEvohomeSerial::CEvohomeSerial(const int ID, const std::string &szSerialPort, const int baudrate, const std::string &UserContID) : CEvohomeRadio(ID, UserContID) { @@ -64,7 +66,7 @@ bool CEvohomeSerial::OpenSerialDevice() } m_nBufPtr=0; m_bIsStarted=true; - setReadCallback(boost::bind(&CEvohomeSerial::ReadCallback, this, _1, _2)); + setReadCallback(std::bind(&CEvohomeSerial::ReadCallback, this, _1, _2)); sOnConnected(this); return true; } --- a/hardware/MQTT.cpp +++ b/hardware/MQTT.cpp @@ -18,6 +18,8 @@ #define TOPIC_IN "domoticz/in" #define QOS 1 +using namespace std::placeholders; + const char* szTLSVersions[3] = { "tlsv1", @@ -133,8 +135,8 @@ void MQTT::on_connect(int rc) _log.Log(LOG_STATUS, "MQTT: connected to: %s:%d", m_szIPAddress.c_str(), m_usIPPort); m_IsConnected = true; sOnConnected(this); - m_sDeviceReceivedConnection = m_mainworker.sOnDeviceReceived.connect(boost::bind(&MQTT::SendDeviceInfo, this, _1, _2, _3, _4)); - m_sSwitchSceneConnection = m_mainworker.sOnSwitchScene.connect(boost::bind(&MQTT::SendSceneInfo, this, _1, _2)); + m_sDeviceReceivedConnection = m_mainworker.sOnDeviceReceived.connect(std::bind(&MQTT::SendDeviceInfo, this, _1, _2, _3, _4)); + m_sSwitchSceneConnection = m_mainworker.sOnSwitchScene.connect(std::bind(&MQTT::SendSceneInfo, this, _1, _2)); } subscribe(NULL, m_TopicIn.c_str()); } --- a/hardware/Pinger.cpp +++ b/hardware/Pinger.cpp @@ -25,6 +25,8 @@ #define GET_IO_SERVICE(s) ((s).get_io_service()) #endif +using namespace std::placeholders; + class pinger : private domoticz::noncopyable { @@ -87,7 +89,7 @@ private: } else { - timer_.async_wait(boost::bind(&pinger::start_send, this)); + timer_.async_wait(std::bind(&pinger::start_send, this)); } } } @@ -100,7 +102,7 @@ private: // Wait for a reply. We prepare the buffer to receive up to 64KB. socket_.async_receive(reply_buffer_.prepare(65536), - boost::bind(&pinger::handle_receive, this, _2)); + std::bind(&pinger::handle_receive, this, _2)); } void handle_receive(std::size_t length) @@ -384,7 +386,7 @@ void CPinger::DoPingHosts() if (m_iThreadsRunning < 1000) { //m_iThreadsRunning++; - boost::thread t(boost::bind(&CPinger::Do_Ping_Worker, this, *itt)); + boost::thread t(std::bind(&CPinger::Do_Ping_Worker, this, *itt)); SetThreadName(t.native_handle(), "PingerWorker"); t.join(); } --- a/hardware/RAVEn.cpp +++ b/hardware/RAVEn.cpp @@ -11,6 +11,8 @@ //Rainforest RAVEn USB ZigBee Smart Meter Adapter //https://rainforestautomation.com/rfa-z106-raven/ +using namespace std::placeholders; + RAVEn::RAVEn(const int ID, const std::string& devname) : device_(devname), m_wptr(m_buffer), m_currUsage(0), m_totalUsage(0) { @@ -46,7 +48,7 @@ bool RAVEn::StartHardware() _log.Log(LOG_ERROR, "RAVEn: Error opening serial port!!!"); return false; } - setReadCallback(boost::bind(&RAVEn::readCallback, this, _1, _2)); + setReadCallback(std::bind(&RAVEn::readCallback, this, _1, _2)); m_bIsStarted = true; sOnConnected(this); --- a/hardware/RFLinkSerial.cpp +++ b/hardware/RFLinkSerial.cpp @@ -5,6 +5,8 @@ #include "../main/localtime_r.h" #include +using namespace std::placeholders; + CRFLinkSerial::CRFLinkSerial(const int ID, const std::string& devname) : m_szSerialPort(devname) { @@ -181,7 +183,7 @@ bool CRFLinkSerial::OpenSerialDevice() m_rfbufferpos = 0; m_LastReceivedTime = mytime(NULL); - setReadCallback(boost::bind(&CRFLinkSerial::readCallback, this, _1, _2)); + setReadCallback(std::bind(&CRFLinkSerial::readCallback, this, _1, _2)); sOnConnected(this); return true; --- a/hardware/TCPProxy/tcpproxy_server.cpp +++ b/hardware/TCPProxy/tcpproxy_server.cpp @@ -21,6 +21,8 @@ #define GET_IO_SERVICE(s) ((s).get_io_service()) #endif +using namespace std::placeholders; + namespace tcp_proxy { bridge::bridge(boost::asio::io_service& ios) @@ -186,8 +188,8 @@ namespace tcp_proxy session_ = std::shared_ptr( new bridge(io_service_) ); - session_->sDownstreamData.connect( boost::bind( &acceptor::OnDownstreamData, this, _1, _2 ) ); - session_->sUpstreamData.connect( boost::bind( &acceptor::OnUpstreamData, this, _1, _2 ) ); + session_->sDownstreamData.connect( std::bind( &acceptor::OnDownstreamData, this, _1, _2 ) ); + session_->sUpstreamData.connect( std::bind( &acceptor::OnUpstreamData, this, _1, _2 ) ); acceptor_.async_accept(session_->downstream_socket(), boost::bind(&acceptor::handle_accept, --- a/hardware/ZiBlueSerial.cpp +++ b/hardware/ZiBlueSerial.cpp @@ -8,6 +8,8 @@ #define ZiBlue_RETRY_DELAY 30 +using namespace std::placeholders; + CZiBlueSerial::CZiBlueSerial(const int ID, const std::string& devname) : m_szSerialPort(devname) { @@ -136,7 +138,7 @@ bool CZiBlueSerial::OpenSerialDevice() m_rfbufferpos = 0; m_LastReceivedTime = mytime(NULL); - setReadCallback(boost::bind(&CZiBlueSerial::readCallback, this, _1, _2)); + setReadCallback(std::bind(&CZiBlueSerial::readCallback, this, _1, _2)); sOnConnected(this); --- a/hardware/plugins/PluginTransports.cpp +++ b/hardware/plugins/PluginTransports.cpp @@ -13,6 +13,8 @@ #include "icmp_header.hpp" #include "ipv4_header.hpp" +using namespace std::placeholders; + namespace Plugins { void CPluginTransport::handleRead(const boost::system::error_code& e, std::size_t bytes_transferred) @@ -972,7 +974,7 @@ namespace Plugins { if (m_bConnected) { pPlugin->MessagePlugin(new onConnectCallback(pPlugin, m_pConnection, 0, "SerialPort " + m_Port + " opened successfully.")); - setReadCallback(boost::bind(&CPluginTransportSerial::handleRead, this, _1, _2)); + setReadCallback(std::bind(&CPluginTransportSerial::handleRead, this, _1, _2)); } else { --- a/push/FibaroPush.cpp +++ b/push/FibaroPush.cpp @@ -14,6 +14,8 @@ #define __STDC_FORMAT_MACROS #include +using namespace std::placeholders; + CFibaroPush::CFibaroPush() { m_bLinkActive = false; @@ -22,7 +24,7 @@ CFibaroPush::CFibaroPush() void CFibaroPush::Start() { UpdateActive(); - m_sConnection = m_mainworker.sOnDeviceReceived.connect(boost::bind(&CFibaroPush::OnDeviceReceived, this, _1, _2, _3, _4)); + m_sConnection = m_mainworker.sOnDeviceReceived.connect(std::bind(&CFibaroPush::OnDeviceReceived, this, _1, _2, _3, _4)); } void CFibaroPush::Stop() @@ -400,4 +402,4 @@ namespace http { root["title"] = "DeleteFibaroLink"; } } -} \ No newline at end of file +} --- a/push/GooglePubSubPush.cpp +++ b/push/GooglePubSubPush.cpp @@ -21,6 +21,8 @@ extern "C" { #include #endif +using namespace std::placeholders; + extern std::string szUserDataFolder; // this should be filled in by the preprocessor @@ -38,7 +40,7 @@ CGooglePubSubPush::CGooglePubSubPush() void CGooglePubSubPush::Start() { UpdateActive(); - m_sConnection = m_mainworker.sOnDeviceReceived.connect(boost::bind(&CGooglePubSubPush::OnDeviceReceived, this, _1, _2, _3, _4)); + m_sConnection = m_mainworker.sOnDeviceReceived.connect(std::bind(&CGooglePubSubPush::OnDeviceReceived, this, _1, _2, _3, _4)); } void CGooglePubSubPush::Stop() --- a/push/HttpPush.cpp +++ b/push/HttpPush.cpp @@ -15,6 +15,8 @@ #define __STDC_FORMAT_MACROS #include +using namespace std::placeholders; + CHttpPush::CHttpPush() { m_bLinkActive = false; @@ -23,7 +25,7 @@ CHttpPush::CHttpPush() void CHttpPush::Start() { UpdateActive(); - m_sConnection = m_mainworker.sOnDeviceReceived.connect(boost::bind(&CHttpPush::OnDeviceReceived, this, _1, _2, _3, _4)); + m_sConnection = m_mainworker.sOnDeviceReceived.connect(std::bind(&CHttpPush::OnDeviceReceived, this, _1, _2, _3, _4)); } void CHttpPush::Stop() --- a/push/InfluxPush.cpp +++ b/push/InfluxPush.cpp @@ -15,6 +15,8 @@ #define __STDC_FORMAT_MACROS #include +using namespace std::placeholders; + CInfluxPush::CInfluxPush() : m_InfluxPort(8086), m_bInfluxDebugActive(false) @@ -33,7 +35,7 @@ bool CInfluxPush::Start() m_thread = std::make_shared(&CInfluxPush::Do_Work, this); SetThreadName(m_thread->native_handle(), "InfluxPush"); - m_sConnection = m_mainworker.sOnDeviceReceived.connect(boost::bind(&CInfluxPush::OnDeviceReceived, this, _1, _2, _3, _4)); + m_sConnection = m_mainworker.sOnDeviceReceived.connect(std::bind(&CInfluxPush::OnDeviceReceived, this, _1, _2, _3, _4)); return (m_thread != NULL); } --- a/push/WebsocketPush.cpp +++ b/push/WebsocketPush.cpp @@ -3,6 +3,8 @@ #include "../webserver/WebsocketHandler.h" #include "../main/mainworker.h" +using namespace std::placeholders; + extern boost::signals2::signal sOnNotificationReceived; @@ -19,9 +21,9 @@ void CWebSocketPush::Start() if (isStarted) { return; } - m_sConnection = m_mainworker.sOnDeviceReceived.connect(boost::bind(&CWebSocketPush::OnDeviceReceived, this, _1, _2, _3, _4)); - m_sNotification = sOnNotificationReceived.connect(boost::bind(&CWebSocketPush::OnNotificationReceived, this, _1, _2, _3, _4, _5, _6)); - m_sSceneChanged = m_mainworker.sOnSwitchScene.connect(boost::bind(&CWebSocketPush::OnSceneChange, this, _1, _2)); + m_sConnection = m_mainworker.sOnDeviceReceived.connect(std::bind(&CWebSocketPush::OnDeviceReceived, this, _1, _2, _3, _4)); + m_sNotification = sOnNotificationReceived.connect(std::bind(&CWebSocketPush::OnNotificationReceived, this, _1, _2, _3, _4, _5, _6)); + m_sSceneChanged = m_mainworker.sOnSwitchScene.connect(std::bind(&CWebSocketPush::OnSceneChange, this, _1, _2)); isStarted = true; } --- a/webserver/proxyclient.cpp +++ b/webserver/proxyclient.cpp @@ -19,6 +19,8 @@ extern std::string szAppVersion; +using namespace std::placeholders; + #define PROXY_TIMEOUT 60 #define PONG "PONG" @@ -349,7 +351,7 @@ namespace http { // todo: make a map of websocket connections. There can be more than one. // open new virtual websocket connection // todo: different request_url's can have different websocket handlers - websocket_handlers[pdu->m_requestid] = new CWebsocketHandler(m_pWebEm, boost::bind(&CProxyClient::WS_Write, this, pdu->m_requestid, _1)); + websocket_handlers[pdu->m_requestid] = new CWebsocketHandler(m_pWebEm, std::bind(&CProxyClient::WS_Write, this, pdu->m_requestid, _1)); websocket_handlers[pdu->m_requestid]->Start(); }