From 9984c64dc35011d8b4a9e85042408be408d6006a Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Mon, 6 Jul 2020 12:40:57 +0200
Subject: [PATCH] Changed the deprecated auto_ptr for the unique_ptr. Changed
 the xsd library to generate code with the C++11 standard.

---
 src/dynamixel_slave_ftdi.cpp   | 2 +-
 src/dynamixelserver_ftdi.cpp   | 2 +-
 src/dynamixelserver_serial.cpp | 2 +-
 src/xml/CMakeLists.txt         | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/dynamixel_slave_ftdi.cpp b/src/dynamixel_slave_ftdi.cpp
index 47335a9..f947036 100644
--- a/src/dynamixel_slave_ftdi.cpp
+++ b/src/dynamixel_slave_ftdi.cpp
@@ -68,7 +68,7 @@ void CDynamixelSlaveFTDI::config(std::string &filename)
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dyn_server_ftdi_config_t> cfg(dyn_server_ftdi_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dyn_server_ftdi_config_t> cfg(dyn_server_ftdi_config(filename.c_str(), xml_schema::flags::dont_validate));
       this->config_bus(cfg->serial_num(),cfg->baudrate());
     }catch (const xml_schema::exception& e){
       std::ostringstream os;
diff --git a/src/dynamixelserver_ftdi.cpp b/src/dynamixelserver_ftdi.cpp
index e29bcdd..da88b2c 100644
--- a/src/dynamixelserver_ftdi.cpp
+++ b/src/dynamixelserver_ftdi.cpp
@@ -87,7 +87,7 @@ void CDynamixelServerFTDI::config(std::string &filename)
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dyn_server_ftdi_config_t> cfg(dyn_server_ftdi_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dyn_server_ftdi_config_t> cfg(dyn_server_ftdi_config(filename.c_str(), xml_schema::flags::dont_validate));
       this->config_bus(cfg->serial_num(),cfg->baudrate());
     }catch (const xml_schema::exception& e){
       std::ostringstream os;
diff --git a/src/dynamixelserver_serial.cpp b/src/dynamixelserver_serial.cpp
index 2d55c3d..d0199df 100644
--- a/src/dynamixelserver_serial.cpp
+++ b/src/dynamixelserver_serial.cpp
@@ -64,7 +64,7 @@ void CDynamixelServerSerial::config(std::string &filename)
   {
     // try to open the specified file
     try{
-      std::auto_ptr<dyn_server_serial_config_t> cfg(dyn_server_serial_config(filename.c_str(), xml_schema::flags::dont_validate));
+      std::unique_ptr<dyn_server_serial_config_t> cfg(dyn_server_serial_config(filename.c_str(), xml_schema::flags::dont_validate));
       this->config_bus(cfg->serial_dev(),cfg->baudrate());
     }catch (const xml_schema::exception& e){
       std::ostringstream os;
diff --git a/src/xml/CMakeLists.txt b/src/xml/CMakeLists.txt
index 1a4a350..d49ad31 100644
--- a/src/xml/CMakeLists.txt
+++ b/src/xml/CMakeLists.txt
@@ -36,7 +36,7 @@ IF(XSD_FOUND)
       ADD_CUSTOM_TARGET(xsd_files_gen DEPENDS ${XSD_SOURCES_INT})
       ADD_CUSTOM_COMMAND(
          OUTPUT ${XSD_SOURCES_INT}
-         COMMAND xsdcxx cxx-tree --generate-serialization ${XSD_FILES}
+         COMMAND xsdcxx cxx-tree --std c++11 --generate-serialization ${XSD_FILES}
          WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
          DEPENDS ${XSD_PATH_FILES}
          COMMENT "Parsing the xml template file ${XSD_FILES}")
-- 
GitLab