Update to 2021.1

This commit is contained in:
Michael Cronenworth 2021-05-29 02:54:14 -05:00
parent 6799679245
commit 8ac97b3ba0
9 changed files with 41 additions and 954 deletions

View File

@ -1,3 +1,3 @@
#define APPVERSION 11995
#define APPHASH "b63341b"
#define APPDATE 1587859200
#define APPVERSION 13191
#define APPHASH "037a429"
#define APPDATE 1618676580

View File

@ -1,840 +0,0 @@
From bbcf7fd0646d74b7f169b3aa4231d9150028ed0d Mon Sep 17 00:00:00 2001
From: Rob Peters <info@domoticz.com>
Date: Sun, 17 May 2020 11:46:37 +0200
Subject: [PATCH] Avoid deprecated bind placeholders in global namespace
---
hardware/ASyncSerial.cpp | 2 +-
hardware/ASyncTCP.cpp | 4 +++-
hardware/Comm5Serial.cpp | 2 ++
hardware/CurrentCostMeterSerial.cpp | 4 +++-
hardware/DavisLoggerSerial.cpp | 4 +++-
hardware/DenkoviUSBDevices.cpp | 2 ++
hardware/EnOceanESP2.cpp | 4 +++-
hardware/EnOceanESP3.cpp | 4 +++-
hardware/EvohomeRadio.cpp | 3 +++
hardware/EvohomeSerial.cpp | 2 ++
hardware/KMTronic433.cpp | 4 +++-
hardware/KMTronicBase.cpp | 2 +-
hardware/KMTronicSerial.cpp | 4 +++-
hardware/MQTT.cpp | 2 ++
hardware/Meteostick.cpp | 4 +++-
hardware/MySensorsBase.cpp | 2 +-
hardware/MySensorsSerial.cpp | 4 +++-
hardware/OTGWBase.cpp | 2 +-
hardware/OTGWSerial.cpp | 4 +++-
hardware/OpenWebNetUSB.cpp | 3 ++-
hardware/P1MeterSerial.cpp | 4 +++-
hardware/Pinger.cpp | 2 ++
hardware/RAVEn.cpp | 2 ++
hardware/RFLinkSerial.cpp | 2 ++
hardware/RFXComSerial.cpp | 4 +++-
hardware/RFXComTCP.cpp | 2 --
hardware/Rego6XXSerial.cpp | 4 +++-
hardware/S0MeterBase.cpp | 2 +-
hardware/S0MeterSerial.cpp | 4 +++-
hardware/TCPProxy/tcpproxy_server.cpp | 2 ++
hardware/TeleinfoSerial.cpp | 4 +++-
hardware/USBtin.cpp | 4 +++-
hardware/XiaomiGateway.cpp | 2 +-
hardware/Yeelight.h | 1 -
hardware/ZiBlueSerial.cpp | 2 ++
hardware/plugins/PluginTransports.cpp | 2 ++
main/WebServer.cpp | 4 +++-
main/mainworker.cpp | 2 ++
push/FibaroPush.cpp | 2 ++
push/GooglePubSubPush.cpp | 2 ++
push/HttpPush.cpp | 2 ++
push/InfluxPush.cpp | 2 ++
push/WebsocketPush.cpp | 2 ++
tcpserver/TCPServer.cpp | 2 +-
webserver/cWebem.cpp | 2 +-
webserver/connection.cpp | 4 +++-
webserver/connection_manager.cpp | 4 +++-
webserver/proxyclient.cpp | 2 ++
webserver/server.cpp | 4 +++-
49 files changed, 107 insertions(+), 32 deletions(-)
diff --git a/hardware/ASyncSerial.cpp b/hardware/ASyncSerial.cpp
index 2c9a5e27e9..36dd402fa7 100644
--- a/hardware/ASyncSerial.cpp
+++ b/hardware/ASyncSerial.cpp
@@ -34,7 +34,7 @@
#include <algorithm>
#include <iostream>
#include <boost/asio.hpp>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/function.hpp>
#include <boost/thread.hpp>
#include <boost/smart_ptr/shared_array.hpp> // for shared_array
diff --git a/hardware/ASyncTCP.cpp b/hardware/ASyncTCP.cpp
index 8990c24300..7f7b1e0f24 100644
--- a/hardware/ASyncTCP.cpp
+++ b/hardware/ASyncTCP.cpp
@@ -1,10 +1,12 @@
#include "stdafx.h"
#include "ASyncTCP.h"
#include <boost/asio.hpp>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/system/error_code.hpp> // for error_code
#include "../main/Logger.h"
+//using namespace boost::placeholders;
+
struct hostent;
#ifndef WIN32
diff --git a/hardware/Comm5Serial.cpp b/hardware/Comm5Serial.cpp
index 9b44496fb5..f1c1f706d2 100644
--- a/hardware/Comm5Serial.cpp
+++ b/hardware/Comm5Serial.cpp
@@ -5,6 +5,8 @@
#include "../main/Logger.h"
#include "../main/RFXtrx.h"
+using namespace boost::placeholders;
+
/*
This driver allows Domoticz to control any I/O module from the MA-4xxx Family
diff --git a/hardware/CurrentCostMeterSerial.cpp b/hardware/CurrentCostMeterSerial.cpp
index 05bac73d6a..bf9d35cab7 100644
--- a/hardware/CurrentCostMeterSerial.cpp
+++ b/hardware/CurrentCostMeterSerial.cpp
@@ -10,10 +10,12 @@
#include <string>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <ctime>
+using namespace boost::placeholders;
+
//
//Class CurrentCostMeterSerial
//
diff --git a/hardware/DavisLoggerSerial.cpp b/hardware/DavisLoggerSerial.cpp
index 9c44539beb..44c9dbde5c 100644
--- a/hardware/DavisLoggerSerial.cpp
+++ b/hardware/DavisLoggerSerial.cpp
@@ -8,13 +8,15 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "../main/localtime_r.h"
#include "../main/mainworker.h"
#include <ctime>
+using namespace boost::placeholders;
+
#ifdef _DEBUG
//#define DEBUG_DAVIS
#endif
diff --git a/hardware/DenkoviUSBDevices.cpp b/hardware/DenkoviUSBDevices.cpp
index a7977d82c8..53a27e5583 100644
--- a/hardware/DenkoviUSBDevices.cpp
+++ b/hardware/DenkoviUSBDevices.cpp
@@ -5,6 +5,8 @@
#include "../main/localtime_r.h"
#include "../main/mainworker.h"
+using namespace boost::placeholders;
+
#define MAX_POLL_INTERVAL 3600*1000
#define DAE_IO_TYPE_RELAY 2
diff --git a/hardware/EnOceanESP2.cpp b/hardware/EnOceanESP2.cpp
index f20ff9c0cb..fd08c55f63 100644
--- a/hardware/EnOceanESP2.cpp
+++ b/hardware/EnOceanESP2.cpp
@@ -8,7 +8,7 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "hardwaretypes.h"
#include "../main/localtime_r.h"
@@ -16,6 +16,8 @@
#include <cmath>
#include <ctime>
+using namespace boost::placeholders;
+
#define ENOCEAN_RETRY_DELAY 30
#define round(a) ( int ) ( a + .5 )
diff --git a/hardware/EnOceanESP3.cpp b/hardware/EnOceanESP3.cpp
index 6866eeb0d0..2afa0e1e36 100644
--- a/hardware/EnOceanESP3.cpp
+++ b/hardware/EnOceanESP3.cpp
@@ -8,7 +8,7 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "hardwaretypes.h"
#include "../main/localtime_r.h"
@@ -16,6 +16,8 @@
#include <cmath>
#include <ctime>
+using namespace boost::placeholders;
+
#if _DEBUG
#define ENOCEAN_BUTTON_DEBUG
#endif
diff --git a/hardware/EvohomeRadio.cpp b/hardware/EvohomeRadio.cpp
index 4da983538b..6ba97158cd 100644
--- a/hardware/EvohomeRadio.cpp
+++ b/hardware/EvohomeRadio.cpp
@@ -23,6 +23,9 @@
#include "../main/WebServer.h"
#include "../webserver/cWebem.h"
#include <json/json.h>
+#include <boost/bind/bind.hpp>
+
+using namespace boost::placeholders;
extern std::string szUserDataFolder;
diff --git a/hardware/EvohomeSerial.cpp b/hardware/EvohomeSerial.cpp
index 4a54988291..c74cf576cc 100644
--- a/hardware/EvohomeSerial.cpp
+++ b/hardware/EvohomeSerial.cpp
@@ -7,6 +7,8 @@
#include "../main/localtime_r.h"
#include <boost/exception/diagnostic_information.hpp>
+using namespace boost::placeholders;
+
CEvohomeSerial::CEvohomeSerial(const int ID, const std::string &szSerialPort, const int baudrate, const std::string &UserContID) :
CEvohomeRadio(ID, UserContID)
{
diff --git a/hardware/KMTronic433.cpp b/hardware/KMTronic433.cpp
index da81b20f9f..f9832a5a74 100644
--- a/hardware/KMTronic433.cpp
+++ b/hardware/KMTronic433.cpp
@@ -9,11 +9,13 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <ctime>
+using namespace boost::placeholders;
+
//#define DEBUG_KMTronic
#define RETRY_DELAY 30
diff --git a/hardware/KMTronicBase.cpp b/hardware/KMTronicBase.cpp
index b343108966..d9c45872b5 100644
--- a/hardware/KMTronicBase.cpp
+++ b/hardware/KMTronicBase.cpp
@@ -10,7 +10,7 @@
#include <sstream>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <ctime>
diff --git a/hardware/KMTronicSerial.cpp b/hardware/KMTronicSerial.cpp
index 4e07f2c37a..6240f941bd 100644
--- a/hardware/KMTronicSerial.cpp
+++ b/hardware/KMTronicSerial.cpp
@@ -10,12 +10,14 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <ctime>
//#define DEBUG_KMTronic
+using namespace boost::placeholders;
+
#define RETRY_DELAY 30
KMTronicSerial::KMTronicSerial(const int ID, const std::string& devname)
diff --git a/hardware/MQTT.cpp b/hardware/MQTT.cpp
index 8de3671853..19750bb75b 100644
--- a/hardware/MQTT.cpp
+++ b/hardware/MQTT.cpp
@@ -11,6 +11,8 @@
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
+using namespace boost::placeholders;
+
#define RETRY_DELAY 30
#define CLIENTID "Domoticz"
diff --git a/hardware/Meteostick.cpp b/hardware/Meteostick.cpp
index 9793f4b57b..10da69d6e3 100644
--- a/hardware/Meteostick.cpp
+++ b/hardware/Meteostick.cpp
@@ -9,12 +9,14 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "../main/localtime_r.h"
#include "../main/mainworker.h"
#include <ctime>
+using namespace boost::placeholders;
+
#define RETRY_DELAY 30
#define round(a) ( int ) ( a + .5 )
diff --git a/hardware/MySensorsBase.cpp b/hardware/MySensorsBase.cpp
index af976fba95..42bf58fad5 100644
--- a/hardware/MySensorsBase.cpp
+++ b/hardware/MySensorsBase.cpp
@@ -13,7 +13,7 @@
#include <sstream>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "../webserver/cWebem.h"
#include <json/json.h>
diff --git a/hardware/MySensorsSerial.cpp b/hardware/MySensorsSerial.cpp
index 44f8692d2b..42f3e05409 100644
--- a/hardware/MySensorsSerial.cpp
+++ b/hardware/MySensorsSerial.cpp
@@ -8,12 +8,14 @@
#include "hardwaretypes.h"
#include <algorithm>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <ctime>
#include <iostream>
#include <string>
+using namespace boost::placeholders;
+
//#define DEBUG_MYSENSORS
#define RETRY_DELAY 30
diff --git a/hardware/OTGWBase.cpp b/hardware/OTGWBase.cpp
index 322574458b..ded3a31c2c 100644
--- a/hardware/OTGWBase.cpp
+++ b/hardware/OTGWBase.cpp
@@ -12,7 +12,7 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <json/json.h>
#include <ctime>
diff --git a/hardware/OTGWSerial.cpp b/hardware/OTGWSerial.cpp
index 4ade70e063..5a3416548f 100644
--- a/hardware/OTGWSerial.cpp
+++ b/hardware/OTGWSerial.cpp
@@ -8,12 +8,14 @@
#include "../main/localtime_r.h"
#include <algorithm>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <ctime>
#include <iostream>
#include <string>
+using namespace boost::placeholders;
+
#define RETRY_DELAY 30
#define OTGW_READ_INTERVAL 10
diff --git a/hardware/OpenWebNetUSB.cpp b/hardware/OpenWebNetUSB.cpp
index bf23049844..352a2220e9 100644
--- a/hardware/OpenWebNetUSB.cpp
+++ b/hardware/OpenWebNetUSB.cpp
@@ -19,11 +19,12 @@ License: Public domain
#include <algorithm>
#include <ctime>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <iostream>
#include <string>
+using namespace boost::placeholders;
COpenWebNetUSB::COpenWebNetUSB(const int ID, const std::string& devname, unsigned int baud_rate)
{
diff --git a/hardware/P1MeterSerial.cpp b/hardware/P1MeterSerial.cpp
index 566b451fa5..7dc3e0782e 100644
--- a/hardware/P1MeterSerial.cpp
+++ b/hardware/P1MeterSerial.cpp
@@ -14,10 +14,12 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <ctime>
+using namespace boost::placeholders;
+
#ifdef _DEBUG
//#define DEBUG_P1_R
#endif
diff --git a/hardware/Pinger.cpp b/hardware/Pinger.cpp
index d3e2fda942..b6dc78a786 100644
--- a/hardware/Pinger.cpp
+++ b/hardware/Pinger.cpp
@@ -19,6 +19,8 @@
#include <iostream>
+using namespace boost::placeholders;
+
#if BOOST_VERSION >= 107000
#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
#else
diff --git a/hardware/RAVEn.cpp b/hardware/RAVEn.cpp
index d9efc7480a..b6a4399d04 100644
--- a/hardware/RAVEn.cpp
+++ b/hardware/RAVEn.cpp
@@ -8,6 +8,8 @@
#include "hardwaretypes.h"
#include <tinyxml.h>
+using namespace boost::placeholders;
+
//Rainforest RAVEn USB ZigBee Smart Meter Adapter
//https://rainforestautomation.com/rfa-z106-raven/
diff --git a/hardware/RFLinkSerial.cpp b/hardware/RFLinkSerial.cpp
index c5cae0f739..4ab07ed88e 100644
--- a/hardware/RFLinkSerial.cpp
+++ b/hardware/RFLinkSerial.cpp
@@ -5,6 +5,8 @@
#include "../main/localtime_r.h"
#include <boost/exception/diagnostic_information.hpp>
+using namespace boost::placeholders;
+
CRFLinkSerial::CRFLinkSerial(const int ID, const std::string& devname) :
m_szSerialPort(devname)
{
diff --git a/hardware/RFXComSerial.cpp b/hardware/RFXComSerial.cpp
index dc85f4832d..4c39520510 100644
--- a/hardware/RFXComSerial.cpp
+++ b/hardware/RFXComSerial.cpp
@@ -12,7 +12,7 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <ctime>
@@ -23,6 +23,8 @@
#include <pwd.h>
#endif
+using namespace boost::placeholders;
+
#define RETRY_DELAY 30
#define RFX_WRITE_DELAY 300
diff --git a/hardware/RFXComTCP.cpp b/hardware/RFXComTCP.cpp
index 7c6b3954b8..0e4856fbfb 100644
--- a/hardware/RFXComTCP.cpp
+++ b/hardware/RFXComTCP.cpp
@@ -1,8 +1,6 @@
#include "stdafx.h"
#include "RFXComTCP.h"
#include "../main/Logger.h"
-//#include <boost/bind.hpp>
-//#include <boost/asio.hpp>
#include "../main/Helper.h"
#include "../main/localtime_r.h"
#include "../main/mainworker.h"
diff --git a/hardware/Rego6XXSerial.cpp b/hardware/Rego6XXSerial.cpp
index b94bd291bc..15d22f869a 100644
--- a/hardware/Rego6XXSerial.cpp
+++ b/hardware/Rego6XXSerial.cpp
@@ -16,11 +16,13 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "hardwaretypes.h"
#include <ctime>
+using namespace boost::placeholders;
+
#define Rego6XX_RETRY_DELAY 30
#define Rego6XX_COMMAND_DELAY 5
#define Rego6XX_READ_BUFFER_MASK (Rego6XX_READ_BUFFER_SIZE - 1)
diff --git a/hardware/S0MeterBase.cpp b/hardware/S0MeterBase.cpp
index 9cffa67022..75a06e2cc1 100644
--- a/hardware/S0MeterBase.cpp
+++ b/hardware/S0MeterBase.cpp
@@ -13,7 +13,7 @@
#include <string>
#include <algorithm>
#include <iostream>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <ctime>
diff --git a/hardware/S0MeterSerial.cpp b/hardware/S0MeterSerial.cpp
index 1dc16b2b3e..f474d1c766 100644
--- a/hardware/S0MeterSerial.cpp
+++ b/hardware/S0MeterSerial.cpp
@@ -8,11 +8,13 @@
#include <algorithm>
#include <ctime>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <iostream>
#include <string>
+using namespace boost::placeholders;
+
#ifdef _DEBUG
//#define DEBUG_S0
#define TOT_DEBUG_LINES 6
diff --git a/hardware/TCPProxy/tcpproxy_server.cpp b/hardware/TCPProxy/tcpproxy_server.cpp
index 60445d9c28..82ba3559d9 100644
--- a/hardware/TCPProxy/tcpproxy_server.cpp
+++ b/hardware/TCPProxy/tcpproxy_server.cpp
@@ -15,6 +15,8 @@
#include "stdafx.h"
#include "tcpproxy_server.h"
+using namespace boost::placeholders;
+
#if BOOST_VERSION >= 107000
#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
#else
diff --git a/hardware/TeleinfoSerial.cpp b/hardware/TeleinfoSerial.cpp
index 85f9a6240f..fa794802e9 100644
--- a/hardware/TeleinfoSerial.cpp
+++ b/hardware/TeleinfoSerial.cpp
@@ -28,9 +28,11 @@ History :
#include "../main/localtime_r.h"
#include "../main/Logger.h"
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
+using namespace boost::placeholders;
+
CTeleinfoSerial::CTeleinfoSerial(const int ID, const std::string& devname, const int datatimeout, unsigned int baud_rate, const bool disable_crc, const int ratelimit)
{
m_HwdID = ID;
diff --git a/hardware/USBtin.cpp b/hardware/USBtin.cpp
index c3e3656319..ce6f542df3 100644
--- a/hardware/USBtin.cpp
+++ b/hardware/USBtin.cpp
@@ -27,7 +27,7 @@ History :
#include "../main/SQLHelper.h"
#include <algorithm>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <cstdlib>
#include <ctime>
@@ -35,6 +35,8 @@ History :
#include <string>
#include <time.h>
+using namespace boost::placeholders;
+
#define USBTIN_BAUD_RATE 115200
#define USBTIN_PARITY boost::asio::serial_port_base::parity::none
#define USBTIN_CARACTER_SIZE 8
diff --git a/hardware/XiaomiGateway.cpp b/hardware/XiaomiGateway.cpp
index f4567ec62f..e4998faa6a 100644
--- a/hardware/XiaomiGateway.cpp
+++ b/hardware/XiaomiGateway.cpp
@@ -12,7 +12,7 @@
#include "XiaomiHardware.h"
#include <openssl/aes.h>
#include <boost/asio.hpp>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#ifndef WIN32
#include <ifaddrs.h>
diff --git a/hardware/Yeelight.h b/hardware/Yeelight.h
index b063f79743..64fd6f5479 100644
--- a/hardware/Yeelight.h
+++ b/hardware/Yeelight.h
@@ -2,7 +2,6 @@
#include "DomoticzHardware.h"
#include <boost/asio.hpp>
-#include <boost/bind.hpp>
class Yeelight : public CDomoticzHardwareBase
{
diff --git a/hardware/ZiBlueSerial.cpp b/hardware/ZiBlueSerial.cpp
index 9e9db2aff1..8e896897fc 100644
--- a/hardware/ZiBlueSerial.cpp
+++ b/hardware/ZiBlueSerial.cpp
@@ -6,6 +6,8 @@
#include <boost/exception/diagnostic_information.hpp>
+using namespace boost::placeholders;
+
#define ZiBlue_RETRY_DELAY 30
CZiBlueSerial::CZiBlueSerial(const int ID, const std::string& devname) :
diff --git a/hardware/plugins/PluginTransports.cpp b/hardware/plugins/PluginTransports.cpp
index c7e065529f..7fc1cb953e 100644
--- a/hardware/plugins/PluginTransports.cpp
+++ b/hardware/plugins/PluginTransports.cpp
@@ -13,6 +13,8 @@
#include "icmp_header.hpp"
#include "ipv4_header.hpp"
+using namespace boost::placeholders;
+
namespace Plugins {
void CPluginTransport::handleRead(const boost::system::error_code& e, std::size_t bytes_transferred)
diff --git a/main/WebServer.cpp b/main/WebServer.cpp
index 0a19319669..ed92f06e32 100644
--- a/main/WebServer.cpp
+++ b/main/WebServer.cpp
@@ -1,7 +1,7 @@
#include "stdafx.h"
#include "WebServer.h"
#include "WebServerHelper.h"
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <iostream>
#include <fstream>
#include "mainworker.h"
@@ -65,6 +65,8 @@
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
+using namespace boost::placeholders;
+
#define round(a) ( int ) ( a + .5 )
extern std::string szStartupFolder;
diff --git a/main/mainworker.cpp b/main/mainworker.cpp
index 505f59f49d..5fb2ee9042 100644
--- a/main/mainworker.cpp
+++ b/main/mainworker.cpp
@@ -174,6 +174,8 @@
#include <fstream>
#endif
+using namespace boost::placeholders;
+
#define round(a) ( int ) ( a + .5 )
extern std::string szStartupFolder;
diff --git a/push/FibaroPush.cpp b/push/FibaroPush.cpp
index 0bc54e6cfd..350a8fa893 100644
--- a/push/FibaroPush.cpp
+++ b/push/FibaroPush.cpp
@@ -14,6 +14,8 @@
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
+using namespace boost::placeholders;
+
CFibaroPush::CFibaroPush()
{
m_PushType = PushType::PUSHTYPE_FIBARO;
diff --git a/push/GooglePubSubPush.cpp b/push/GooglePubSubPush.cpp
index 6d0fc82d40..a5b720f219 100644
--- a/push/GooglePubSubPush.cpp
+++ b/push/GooglePubSubPush.cpp
@@ -21,6 +21,8 @@ extern "C" {
#include <boost/python.hpp>
#endif
+using namespace boost::placeholders;
+
extern std::string szUserDataFolder;
// this should be filled in by the preprocessor
diff --git a/push/HttpPush.cpp b/push/HttpPush.cpp
index 8132ca2b43..3d1d51d52e 100644
--- a/push/HttpPush.cpp
+++ b/push/HttpPush.cpp
@@ -15,6 +15,8 @@
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
+using namespace boost::placeholders;
+
CHttpPush::CHttpPush()
{
m_PushType = PushType::PUSHTYPE_HTTP;
diff --git a/push/InfluxPush.cpp b/push/InfluxPush.cpp
index 0a8e99414f..745fdf0496 100644
--- a/push/InfluxPush.cpp
+++ b/push/InfluxPush.cpp
@@ -15,6 +15,8 @@
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
+using namespace boost::placeholders;
+
CInfluxPush::CInfluxPush() :
m_InfluxPort(8086),
m_bInfluxDebugActive(false)
diff --git a/push/WebsocketPush.cpp b/push/WebsocketPush.cpp
index 0fb71f96ec..3c2ce7ed54 100644
--- a/push/WebsocketPush.cpp
+++ b/push/WebsocketPush.cpp
@@ -3,6 +3,8 @@
#include "../webserver/WebsocketHandler.h"
#include "../main/mainworker.h"
+using namespace boost::placeholders;
+
extern boost::signals2::signal<void(const std::string &Subject, const std::string &Text, const std::string &ExtraData, const int Priority, const std::string & Sound, const bool bFromNotification)> sOnNotificationReceived;
diff --git a/tcpserver/TCPServer.cpp b/tcpserver/TCPServer.cpp
index d3b0a94847..3b8d0b9b76 100644
--- a/tcpserver/TCPServer.cpp
+++ b/tcpserver/TCPServer.cpp
@@ -11,7 +11,7 @@
#include "../main/localtime_r.h"
#include <boost/asio.hpp>
#include <algorithm>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
namespace tcp {
namespace server {
diff --git a/webserver/cWebem.cpp b/webserver/cWebem.cpp
index f015be097f..63c96f789f 100644
--- a/webserver/cWebem.cpp
+++ b/webserver/cWebem.cpp
@@ -5,7 +5,7 @@
//Modified, extended etc by Robbert E. Peters/RTSS B.V.
#include "stdafx.h"
#include "cWebem.h"
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "reply.hpp"
#include "request.hpp"
#include "mime_types.hpp"
diff --git a/webserver/connection.cpp b/webserver/connection.cpp
index d3485fe923..afe700e5d7 100644
--- a/webserver/connection.cpp
+++ b/webserver/connection.cpp
@@ -9,7 +9,7 @@
//
#include "stdafx.h"
#include "connection.hpp"
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/algorithm/string.hpp>
#include "connection_manager.hpp"
#include "request_handler.hpp"
@@ -17,6 +17,8 @@
#include "../main/localtime_r.h"
#include "../main/Logger.h"
+using namespace boost::placeholders;
+
namespace http {
namespace server {
extern std::string convert_to_http_date(time_t time);
diff --git a/webserver/connection_manager.cpp b/webserver/connection_manager.cpp
index b6c20de53f..bf1d9882d0 100644
--- a/webserver/connection_manager.cpp
+++ b/webserver/connection_manager.cpp
@@ -10,10 +10,12 @@
#include "stdafx.h"
#include "connection_manager.hpp"
#include <algorithm>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include <iostream>
#include "../main/Logger.h"
+using namespace boost::placeholders;
+
namespace http {
namespace server {
diff --git a/webserver/proxyclient.cpp b/webserver/proxyclient.cpp
index c2bcd3178f..423ee0fb4b 100644
--- a/webserver/proxyclient.cpp
+++ b/webserver/proxyclient.cpp
@@ -8,6 +8,8 @@
#include "../tcpserver/TCPServer.h"
#include "sha1.hpp"
+using namespace boost::placeholders;
+
// RK: some defines to make mydomoticz also work when openssl not compiled in
#ifdef WWW_ENABLE_SSL
#define PROXY_PORT 443
diff --git a/webserver/server.cpp b/webserver/server.cpp
index 1eb2137ef2..6025b1cdb5 100644
--- a/webserver/server.cpp
+++ b/webserver/server.cpp
@@ -3,7 +3,7 @@
// ~~~~~~~~~~
//
#include "stdafx.h"
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
#include "server.hpp"
#include <fstream>
#include "../main/Logger.h"
@@ -11,6 +11,8 @@
#include "../main/localtime_r.h"
#include "../main/mainworker.h"
+using namespace boost::placeholders;
+
extern bool g_bIsWSL;
namespace http {

View File

@ -1,19 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -707,13 +707,9 @@
message(STATUS "OpenZWave library found at: ${OpenZWave}")
target_link_libraries(domoticz ${OpenZWave})
- find_path(OPENZWAVE_INCLUDE_DIRS NAMES openzwave/Manager.h)
+ find_path(OPENZWAVE_INCLUDE_DIRS NAMES Manager.h)
if (OPENZWAVE_INCLUDE_DIRS)
- IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
- include_directories(${OPENZWAVE_INCLUDE_DIRS})
- ELSE()
- include_directories(${OPENZWAVE_INCLUDE_DIRS}/openzwave)
- ENDIF()
+ include_directories(${OPENZWAVE_INCLUDE_DIRS})
message(STATUS "OpenZWave includes found at: ${OPENZWAVE_INCLUDE_DIRS}")
else()
message(FATAL_ERROR "OpenZWave includes not found. Did you not issue 'sudo make install' after building OpenZWave?")

View File

@ -0,0 +1,13 @@
Index: domoticz-2020.2/CMakeLists.txt
===================================================================
--- domoticz-2020.2.orig/CMakeLists.txt
+++ domoticz-2020.2/CMakeLists.txt
@@ -762,7 +787,7 @@
message(STATUS "Not found telldus-core (telldus-core.h), not adding tellstick support")
ENDIF(TELLDUSCORE_INCLUDE)
-target_link_libraries(domoticz ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES} ${FMT_LIBRARIES} ${CURL_LIBRARIES} pthread ${MQTT_LIBRARIES} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS} ${TELLDUS_LIBRARIES})
+target_link_libraries(domoticz ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES} ${FMT_LIBRARIES} ${CURL_LIBRARIES} pthread -lpythonVER ${MQTT_LIBRARIES} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS} ${TELLDUS_LIBRARIES})
IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
target_link_libraries(domoticz -lresolv)

View File

@ -17,18 +17,11 @@ diff --git a/hardware/plugins/DelayedLink.h b/hardware/plugins/DelayedLink.h
index 25c83f034..ecf19da09 100644
--- a/hardware/plugins/DelayedLink.h
+++ b/hardware/plugins/DelayedLink.h
@@ -150,18 +150,10 @@
if (!shared_lib_) shared_lib_ = LoadLibrary("python35_d.dll");
if (!shared_lib_) shared_lib_ = LoadLibrary("python34_d.dll");
# else
- if (!shared_lib_) shared_lib_ = LoadLibrary("python38.dll");
- if (!shared_lib_) shared_lib_ = LoadLibrary("python37.dll");
- if (!shared_lib_) shared_lib_ = LoadLibrary("python36.dll");
- if (!shared_lib_) shared_lib_ = LoadLibrary("python35.dll");
- if (!shared_lib_) shared_lib_ = LoadLibrary("python34.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python.dll");
@@ -163,12 +163,7 @@
if (!shared_lib_) shared_lib_ = LoadLibrary("python34.dll");
# endif
#else
- if (!shared_lib_) FindLibrary("python3.9", true);
- if (!shared_lib_) FindLibrary("python3.8", true);
- if (!shared_lib_) FindLibrary("python3.7", true);
- if (!shared_lib_) FindLibrary("python3.6", true);

View File

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 42082192..f16726f8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -744,7 +769,7 @@
message(STATUS "Not found telldus-core (telldus-core.h), not adding tellstick support")
endif (TELLDUSCORE_INCLUDE)
-target_link_libraries(domoticz ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES} ${CURL_LIBRARIES} pthread ${MQTT_LIBRARIES} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS} ${TELLDUS_LIBRARIES})
+target_link_libraries(domoticz ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES} ${CURL_LIBRARIES} pthread -lpython3.8 -lcrypt -lpthread -ldl -lutil -lm -lm ${MQTT_LIBRARIES} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS} ${TELLDUS_LIBRARIES})
IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
target_link_libraries(domoticz -lresolv)

View File

@ -1,34 +0,0 @@
Index: domoticz-2020.2/hardware/plugins/DelayedLink.h
===================================================================
--- domoticz-2020.2.orig/hardware/plugins/DelayedLink.h
+++ domoticz-2020.2/hardware/plugins/DelayedLink.h
@@ -14,6 +14,16 @@
#include <frameobject.h>
#include "../../main/Helper.h"
+#ifndef _Py_DEC_REFTOTAL
+ /* _Py_DEC_REFTOTAL macro has been removed from Python 3.9 by:
+ https://github.com/python/cpython/commit/49932fec62c616ec88da52642339d83ae719e924 */
+# ifdef Py_REF_DEBUG
+# define _Py_DEC_REFTOTAL _Py_RefTotal--
+# else
+# define _Py_DEC_REFTOTAL
+# endif
+#endif
+
#if PY_VERSION_HEX >= 0x030800f0
static inline void
py3__Py_DECREF(const char *filename, int lineno, PyObject *op)
Index: domoticz-2020.2/CMakeLists.txt
===================================================================
--- domoticz-2020.2.orig/CMakeLists.txt
+++ domoticz-2020.2/CMakeLists.txt
@@ -744,7 +744,7 @@ else()
message(STATUS "Not found telldus-core (telldus-core.h), not adding tellstick support")
endif (TELLDUSCORE_INCLUDE)
-target_link_libraries(domoticz ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES} ${CURL_LIBRARIES} pthread -lpython3.8 -lcrypt -lpthread -ldl -lutil -lm -lm ${MQTT_LIBRARIES} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS} ${TELLDUS_LIBRARIES})
+target_link_libraries(domoticz ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ${MINIZIP_LIBRARIES} ${CURL_LIBRARIES} pthread -lpython3.9 -lcrypt -lpthread -ldl -lutil -lm -lm ${MQTT_LIBRARIES} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS} ${TELLDUS_LIBRARIES})
IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
target_link_libraries(domoticz -lresolv)

View File

@ -20,7 +20,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc231d8f6..334f203a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -365,22 +365,6 @@
@@ -371,22 +371,6 @@
webserver/server.cpp
webserver/Websockets.cpp
webserver/WebsocketHandler.cpp
@ -43,9 +43,9 @@ index bc231d8f6..334f203a6 100644
)
add_executable(domoticz ${domoticz_SRCS})
@@ -682,6 +666,47 @@
@@ -710,6 +694,47 @@
ENDIF(LIBUSB_FOUND)
endif(WITH_LIBUSB)
ENDIF(WITH_LIBUSB)
+option(USE_BUILTIN_TINYXPATH "Use builtin tinyxpath library" YES)
+IF(USE_BUILTIN_TINYXPATH)
@ -88,9 +88,9 @@ index bc231d8f6..334f203a6 100644
+ ENDIF(TinyXML_FOUND)
+ENDIF(USE_BUILTIN_TINYXPATH)
+
## support lua popen on Linux platforms
#IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
# SET(OperatingSystem "Linux")
#
# OpenZWave
# try to find open-zwave, if found, include support
--- a/hardware/openzwave/control_panel/ozwcp.cpp 2020-03-22 09:16:16.000000000 -0500
+++ b/hardware/openzwave/control_panel/ozwcp.cpp 2020-03-24 10:53:04.968630391 -0500
@@ -49,7 +49,7 @@
@ -130,9 +130,9 @@ index bc231d8f6..334f203a6 100644
+#include <tinyxml.h>
+
#define ADD_STRING_TO_DICT(pDict, key, value) \
{ \
PyObject* pObj = Py_BuildValue("s", value.c_str()); \
#define ADD_STRING_TO_DICT(pPlugin, pDict, key, value) \
{ \
PyNewRef pObj = Py_BuildValue("s", value.c_str()); \
--- a/hardware/AnnaThermostat.cpp 2020-03-22 09:16:16.000000000 -0500
+++ b/hardware/AnnaThermostat.cpp 2020-03-24 10:41:00.530030798 -0500
@@ -9,7 +9,7 @@

View File

@ -2,8 +2,8 @@
#global git_hash df9de7020c4317a484c39f7330e6d1c9ca3d9ec9
Name: domoticz
Version: 2020.2
Release: 9%{?dist}
Version: 2021.1
Release: 1%{?dist}
Summary: Open source Home Automation System
License: GPLv3+ and ASL 2.0 and Boost and BSD and MIT
@ -17,22 +17,16 @@ Source3: %{name}-appversion
# Use system tinyxpath (https://github.com/domoticz/domoticz/pull/1759)
Patch1: %{name}-tinyxpath.patch
# Use system openzwave includes
Patch2: %{name}-openzwave.patch
# Fix python detection (https://github.com/domoticz/domoticz/pull/1749)
Patch3: %{name}-python.patch
# Python 3.8 linking fix
Patch4: %{name}-python38.patch
# _Py_DEC_REFTOTAL macro has been removed from Python 3.9 by:
# https://github.com/python/cpython/commit/49932fec62c616ec88da52642339d83ae719e924
Patch5: %{name}-python39.patch
# Boost 1.73 support
Patch6: %{name}-boost.patch
Patch2: %{name}-python.patch
# Python linking fix
Patch3: %{name}-python-link.patch
BuildRequires: boost-devel
BuildRequires: cereal-devel
BuildRequires: cmake
BuildRequires: curl-devel
BuildRequires: fmt-devel
BuildRequires: fontpackages-devel
BuildRequires: gcc-c++
BuildRequires: git
@ -99,17 +93,10 @@ any mobile device
%setup -q -n %{name}-%{version}
#setup -q -n %{name}-%{git_hash}
%patch1 -p1 -b.tinyxpath
%patch2 -p1 -b.openzwave
%patch3 -p1 -b.python
%if 0%{?fedora} >= 32
%patch4 -p1 -b.python38
%endif
%if 0%{?fedora} >= 33
%patch5 -p1 -b.python39
%patch2 -p1 -b.python
%patch3 -p1 -b.python-link
# Add support for future versions of Python by replacing hardcoded version with macro
sed -i 's/-lpython3.9/-lpython%{python3_version}/' CMakeLists.txt
%patch6 -p1 -b.boost173
%endif
sed -i 's/-lpythonVER/-lpython%{python3_version}/' CMakeLists.txt
rm -f hardware/openzwave/*.h
rm -rf hardware/openzwave/aes
rm -rf hardware/openzwave/command_classes
@ -127,6 +114,7 @@ cp -p %{SOURCE3} ./appversion.h
-DUSE_STATIC_OPENZWAVE=NO \
-DUSE_OPENSSL_STATIC=NO \
-DUSE_BUILTIN_JSONCPP=NO \
-DUSE_BUILTIN_LIBFMT=NO \
-DUSE_BUILTIN_LUA=NO \
-DUSE_BUILTIN_MINIZIP=NO \
-DUSE_BUILTIN_MQTT=NO \
@ -176,10 +164,6 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/www/styles/element-dark/fonts/DroidSans
ln -s %{_fontdir}/google-droid/DroidSans.ttf \
$RPM_BUILD_ROOT%{_datadir}/%{name}/www/styles/element-dark/fonts/
# Workaround lookup path for dzVents
ln -s %{_datadir}/%{name}/scripts/lua/JSON.lua \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dzVents/runtime/JSON.lua
# Link default plugins and scripts to userdata directory
ln -s %{_datadir}/%{name}/scripts/dzVents/data/README.md \
$RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/scripts/dzVents/data/README.md
@ -246,6 +230,9 @@ usermod -G domoticz,dialout domoticz
%changelog
* Sat May 29 2021 Michael Cronenworth <mike@cchtml.com> - 2021.1-1
- New stable release
* Wed Mar 31 2021 Jonathan Wakely <jwakely@redhat.com> - 2020.2-9
- Rebuilt for removed libstdc++ symbols (#1937698)