diff --git a/plugins/basestate/BaseState.cc b/plugins/basestate/BaseState.cc index 8f5791f..663e7bc 100644 --- a/plugins/basestate/BaseState.cc +++ b/plugins/basestate/BaseState.cc @@ -1,4 +1,5 @@ -#include "BaseStateDriver.cpp" +#include + #include #include #include @@ -8,7 +9,7 @@ #include #include #include -#include + #include #include #include diff --git a/plugins/basestate/BaseStateDriver.cpp b/plugins/basestate/BaseStateDriver.cpp index 8bbf256..ba2f973 100644 --- a/plugins/basestate/BaseStateDriver.cpp +++ b/plugins/basestate/BaseStateDriver.cpp @@ -1,6 +1,8 @@ -#include "../../libraries/singleton-devices/Handler.hh" -#include "singleton-basestate/BaseStateDataSingleton.hh" +#include +#include + #include + #include #include #include diff --git a/plugins/basestate/CMakeLists.txt b/plugins/basestate/CMakeLists.txt index d281ea6..9202ac8 100644 --- a/plugins/basestate/CMakeLists.txt +++ b/plugins/basestate/CMakeLists.txt @@ -1,18 +1,22 @@ -add_subdirectory(singleton-basestate) +add_subdirectory(singleton) add_library(gz-sim-yarp-basestate-system SHARED BaseState.cc BaseStateDriver.cpp) + +target_include_directories(gz-sim-yarp-basestate-system + PUBLIC "$") + target_compile_features(gz-sim-yarp-basestate-system PRIVATE cxx_std_17) target_link_libraries(gz-sim-yarp-basestate-system PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} PRIVATE - ${YARP_LIBRARIES} + YARP::YARP_dev YARP::YARP_os YARP::YARP_init gz-sim-yarp-handler - gz-sim-yarp-handler-basestate) + gz-sim-yarp-basestate-singleton) # Add install target install(TARGETS gz-sim-yarp-basestate-system) diff --git a/plugins/basestate/singleton-basestate/CMakeLists.txt b/plugins/basestate/singleton-basestate/CMakeLists.txt deleted file mode 100644 index d5e7791..0000000 --- a/plugins/basestate/singleton-basestate/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ - -add_library(gz-sim-yarp-handler-basestate SHARED BaseStateDataSingleton.cc BaseStateDataSingleton.hh) -target_compile_features(gz-sim-yarp-handler-basestate PRIVATE cxx_std_17) - -target_link_libraries(gz-sim-yarp-handler-basestate - PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} - PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} - PRIVATE - ${YARP_LIBRARIES} - YARP::YARP_os - YARP::YARP_init) - -install(TARGETS gz-sim-yarp-handler-basestate) diff --git a/plugins/basestate/singleton-basestate/BaseStateDataSingleton.cc b/plugins/basestate/singleton/BaseStateDataSingleton.cc similarity index 98% rename from plugins/basestate/singleton-basestate/BaseStateDataSingleton.cc rename to plugins/basestate/singleton/BaseStateDataSingleton.cc index 6daad5c..114a8c0 100644 --- a/plugins/basestate/singleton-basestate/BaseStateDataSingleton.cc +++ b/plugins/basestate/singleton/BaseStateDataSingleton.cc @@ -1,4 +1,5 @@ -#include "BaseStateDataSingleton.hh" +#include + #include #include diff --git a/plugins/basestate/singleton-basestate/BaseStateDataSingleton.hh b/plugins/basestate/singleton/BaseStateDataSingleton.hh similarity index 99% rename from plugins/basestate/singleton-basestate/BaseStateDataSingleton.hh rename to plugins/basestate/singleton/BaseStateDataSingleton.hh index 9025f09..0c9e5f4 100644 --- a/plugins/basestate/singleton-basestate/BaseStateDataSingleton.hh +++ b/plugins/basestate/singleton/BaseStateDataSingleton.hh @@ -1,7 +1,9 @@ #include -#include #include #include + +#include + #include #include #include diff --git a/plugins/basestate/singleton/CMakeLists.txt b/plugins/basestate/singleton/CMakeLists.txt new file mode 100644 index 0000000..24885e7 --- /dev/null +++ b/plugins/basestate/singleton/CMakeLists.txt @@ -0,0 +1,17 @@ + +add_library(gz-sim-yarp-basestate-singleton SHARED BaseStateDataSingleton.hh BaseStateDataSingleton.cc) + +target_include_directories(gz-sim-yarp-basestate-singleton + PUBLIC "$") + +target_compile_features(gz-sim-yarp-basestate-singleton PRIVATE cxx_std_17) + +target_link_libraries(gz-sim-yarp-basestate-singleton + PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} + PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} + PRIVATE + YARP::YARP_dev + YARP::YARP_os + YARP::YARP_init) + +install(TARGETS gz-sim-yarp-basestate-singleton) diff --git a/plugins/camera/CMakeLists.txt b/plugins/camera/CMakeLists.txt index e2c4fcb..0367d9d 100644 --- a/plugins/camera/CMakeLists.txt +++ b/plugins/camera/CMakeLists.txt @@ -1,19 +1,20 @@ -project(camera) - -add_subdirectory(singleton-camera) +add_subdirectory(singleton) add_library(gz-sim-yarp-camera-system SHARED Camera.cc CameraDriver.cpp) + +target_include_directories(gz-sim-yarp-camera-system PUBLIC "$") + target_compile_features(gz-sim-yarp-camera-system PRIVATE cxx_std_17) target_link_libraries(gz-sim-yarp-camera-system PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} PRIVATE - ${YARP_LIBRARIES} + YARP::YARP_dev YARP::YARP_os YARP::YARP_init gz-sim-yarp-handler - gz-sim-yarp-handler-camera) + gz-sim-yarp-camera-singleton) # Add install target install(TARGETS gz-sim-yarp-camera-system) diff --git a/plugins/camera/Camera.cc b/plugins/camera/Camera.cc index 5fa29ad..0fd218f 100644 --- a/plugins/camera/Camera.cc +++ b/plugins/camera/Camera.cc @@ -1,4 +1,5 @@ -#include "CameraDriver.cpp" +#include + #include #include #include @@ -10,6 +11,7 @@ #include #include #include + #include #include #include @@ -46,7 +48,7 @@ class Camera : public System, { m_cameraDriver.close(); } - HandlerCamera::getHandler()->removeSensor(sensorScopedName); + CameraDataSingleton::getHandler()->removeSensor(sensorScopedName); yarp::os::Network::fini(); } @@ -119,7 +121,7 @@ class Camera : public System, } // Insert the pointer in the singleton handler for retriving it in the yarp driver - HandlerCamera::getHandler()->setSensor(&(this->cameraData)); + CameraDataSingleton::getHandler()->setSensor(&(this->cameraData)); driver_properties.put("device", "gazebo_camera"); driver_properties.put("sensor_name", sensorName); @@ -207,4 +209,4 @@ GZ_ADD_PLUGIN(gzyarp::Camera, gz::sim::System, gzyarp::Camera::ISystemConfigure, gzyarp::Camera::ISystemPreUpdate, - gzyarp::Camera::ISystemPostUpdate) \ No newline at end of file + gzyarp::Camera::ISystemPostUpdate) diff --git a/plugins/camera/CameraDriver.cpp b/plugins/camera/CameraDriver.cpp index 1ca255a..73e08d5 100644 --- a/plugins/camera/CameraDriver.cpp +++ b/plugins/camera/CameraDriver.cpp @@ -1,6 +1,8 @@ -#include "../../libraries/singleton-devices/Handler.hh" -#include "singleton-camera/Handler.hh" +#include +#include + #include + #include #include #include @@ -52,7 +54,7 @@ class yarp::dev::gzyarp::CameraDriver : public yarp::dev::DeviceDriver, virtual bool open(yarp::os::Searchable& config) { std::string sensorScopedName(config.find(YarpCameraScopedName.c_str()).asString().c_str()); - m_sensorData = ::gzyarp::HandlerCamera::getHandler()->getSensor(sensorScopedName); + m_sensorData = ::gzyarp::CameraDataSingleton::getHandler()->getSensor(sensorScopedName); if (!m_sensorData) { diff --git a/plugins/camera/singleton-camera/CMakeLists.txt b/plugins/camera/singleton-camera/CMakeLists.txt deleted file mode 100644 index 2aa6651..0000000 --- a/plugins/camera/singleton-camera/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -add_library(gz-sim-yarp-handler-camera SHARED Handler.cc Handler.hh) -target_compile_features(gz-sim-yarp-handler-camera PRIVATE cxx_std_17) - -target_link_libraries(gz-sim-yarp-handler-camera - PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} - PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} - PRIVATE - ${YARP_LIBRARIES} - YARP::YARP_os - YARP::YARP_init) - -# Add install target -install(TARGETS gz-sim-yarp-handler-camera) diff --git a/plugins/camera/singleton/CMakeLists.txt b/plugins/camera/singleton/CMakeLists.txt new file mode 100644 index 0000000..7ea8056 --- /dev/null +++ b/plugins/camera/singleton/CMakeLists.txt @@ -0,0 +1,16 @@ +add_library(gz-sim-yarp-camera-singleton SHARED CameraDataSingleton.hh CameraDataSingleton.cc) + +target_include_directories(gz-sim-yarp-camera-singleton PUBLIC "$") + +target_compile_features(gz-sim-yarp-camera-singleton PRIVATE cxx_std_17) + +target_link_libraries(gz-sim-yarp-camera-singleton + PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} + PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} + PRIVATE + YARP::YARP_dev + YARP::YARP_os + YARP::YARP_init) + +# Add install target +install(TARGETS gz-sim-yarp-camera-singleton) diff --git a/plugins/camera/singleton-camera/Handler.cc b/plugins/camera/singleton/CameraDataSingleton.cc similarity index 79% rename from plugins/camera/singleton-camera/Handler.cc rename to plugins/camera/singleton/CameraDataSingleton.cc index 7f16615..f984480 100644 --- a/plugins/camera/singleton-camera/Handler.cc +++ b/plugins/camera/singleton/CameraDataSingleton.cc @@ -1,16 +1,17 @@ -#include "Handler.hh" +#include + #include #include namespace gzyarp { -HandlerCamera* HandlerCamera::getHandler() +CameraDataSingleton* CameraDataSingleton::getHandler() { std::lock_guard lock(mutex()); if (!s_handle) { - s_handle = new HandlerCamera(); + s_handle = new CameraDataSingleton(); if (!s_handle) yError() << "Error while calling gzyarp::HandlerCamera constructor"; } @@ -18,7 +19,7 @@ HandlerCamera* HandlerCamera::getHandler() return s_handle; } -bool HandlerCamera::setSensor(CameraData* _sensorDataPtr) +bool CameraDataSingleton::setSensor(CameraData* _sensorDataPtr) { bool ret = false; std::string sensorScopedName = _sensorDataPtr->sensorScopedName; @@ -45,7 +46,7 @@ bool HandlerCamera::setSensor(CameraData* _sensorDataPtr) return ret; } -CameraData* HandlerCamera::getSensor(const std::string& sensorScopedName) const +CameraData* CameraDataSingleton::getSensor(const std::string& sensorScopedName) const { CameraData* tmp; @@ -61,7 +62,7 @@ CameraData* HandlerCamera::getSensor(const std::string& sensorScopedName) const return tmp; } -void HandlerCamera::removeSensor(const std::string& sensorName) +void CameraDataSingleton::removeSensor(const std::string& sensorName) { SensorsMap::iterator sensor = m_sensorsMap.find(sensorName); if (sensor != m_sensorsMap.end()) @@ -73,15 +74,15 @@ void HandlerCamera::removeSensor(const std::string& sensorName) } } -HandlerCamera::HandlerCamera() +CameraDataSingleton::CameraDataSingleton() : m_sensorsMap() { m_sensorsMap.clear(); } -HandlerCamera* HandlerCamera::s_handle = NULL; +CameraDataSingleton* CameraDataSingleton::s_handle = NULL; -std::mutex& HandlerCamera::mutex() +std::mutex& CameraDataSingleton::mutex() { static std::mutex s_mutex; return s_mutex; diff --git a/plugins/camera/singleton-camera/Handler.hh b/plugins/camera/singleton/CameraDataSingleton.hh similarity index 82% rename from plugins/camera/singleton-camera/Handler.hh rename to plugins/camera/singleton/CameraDataSingleton.hh index bafdb01..4e874e9 100644 --- a/plugins/camera/singleton-camera/Handler.hh +++ b/plugins/camera/singleton/CameraDataSingleton.hh @@ -1,6 +1,8 @@ -#include #include #include + +#include + #include #include @@ -18,10 +20,10 @@ struct CameraData namespace gzyarp { -class HandlerCamera +class CameraDataSingleton { public: - static HandlerCamera* getHandler(); + static CameraDataSingleton* getHandler(); bool setSensor(CameraData* _sensorDataPtr); @@ -30,8 +32,8 @@ public: void removeSensor(const std::string& sensorName); private: - HandlerCamera(); - static HandlerCamera* s_handle; + CameraDataSingleton(); + static CameraDataSingleton* s_handle; static std::mutex& mutex(); typedef std::map SensorsMap; SensorsMap m_sensorsMap; diff --git a/plugins/forcetorque/CMakeLists.txt b/plugins/forcetorque/CMakeLists.txt index 10f6012..fff91ab 100644 --- a/plugins/forcetorque/CMakeLists.txt +++ b/plugins/forcetorque/CMakeLists.txt @@ -1,19 +1,21 @@ -project(forcetorque) - -add_subdirectory(singleton-forcetorque) +add_subdirectory(singleton) add_library(gz-sim-yarp-forcetorque-system SHARED ForceTorque.cc ForceTorqueDriver.cpp) + +target_include_directories(gz-sim-yarp-forcetorque-system + PUBLIC "$") + target_compile_features(gz-sim-yarp-forcetorque-system PRIVATE cxx_std_17) target_link_libraries(gz-sim-yarp-forcetorque-system PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} PRIVATE - ${YARP_LIBRARIES} + YARP::YARP_dev YARP::YARP_os YARP::YARP_init gz-sim-yarp-handler - gz-sim-yarp-handler-forcetorque) + gz-sim-yarp-forcetorque-singleton) # Add install target install(TARGETS gz-sim-yarp-forcetorque-system) diff --git a/plugins/forcetorque/ForceTorque.cc b/plugins/forcetorque/ForceTorque.cc index 35dc84b..4525315 100644 --- a/plugins/forcetorque/ForceTorque.cc +++ b/plugins/forcetorque/ForceTorque.cc @@ -1,4 +1,5 @@ -#include "ForceTorqueDriver.cpp" +#include + #include #include #include @@ -7,8 +8,8 @@ #include #include #include -#include #include + #include #include #include @@ -42,7 +43,7 @@ class ForceTorque : public System, if (m_forceTorqueDriver.isValid()) m_forceTorqueDriver.close(); - HandlerForceTorque::getHandler()->removeSensor(sensorScopedName); + ForceTorqueDataSingleton::getHandler()->removeSensor(sensorScopedName); yarp::os::Network::fini(); } @@ -112,7 +113,7 @@ class ForceTorque : public System, } // Insert the pointer in the singleton handler for retriving it in the yarp driver - HandlerForceTorque::getHandler()->setSensor(&(this->forceTorqueData)); + ForceTorqueDataSingleton::getHandler()->setSensor(&(this->forceTorqueData)); driver_properties.put("device", "gazebo_forcetorque"); driver_properties.put("sensor_name", sensorName); diff --git a/plugins/forcetorque/ForceTorqueDriver.cpp b/plugins/forcetorque/ForceTorqueDriver.cpp index 988fdb8..657ee2e 100644 --- a/plugins/forcetorque/ForceTorqueDriver.cpp +++ b/plugins/forcetorque/ForceTorqueDriver.cpp @@ -1,6 +1,8 @@ -#include "../../libraries/singleton-devices/Handler.hh" -#include "singleton-forcetorque/Handler.hh" +#include +#include + #include + #include #include #include @@ -50,7 +52,8 @@ class yarp::dev::gzyarp::ForceTorqueDriver : public yarp::dev::DeviceDriver, } m_frameName = m_sensorName; - m_sensorData = ::gzyarp::HandlerForceTorque::getHandler()->getSensor(sensorScopedName); + m_sensorData + = ::gzyarp::ForceTorqueDataSingleton::getHandler()->getSensor(sensorScopedName); if (!m_sensorData) { diff --git a/plugins/forcetorque/singleton-forcetorque/CMakeLists.txt b/plugins/forcetorque/singleton-forcetorque/CMakeLists.txt deleted file mode 100644 index 261400a..0000000 --- a/plugins/forcetorque/singleton-forcetorque/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ - -add_library(gz-sim-yarp-handler-forcetorque SHARED Handler.cc Handler.hh) -target_compile_features(gz-sim-yarp-handler-forcetorque PRIVATE cxx_std_17) - -target_link_libraries(gz-sim-yarp-handler-forcetorque - PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} - PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} - PRIVATE - ${YARP_LIBRARIES} - YARP::YARP_os - YARP::YARP_init) - -install(TARGETS gz-sim-yarp-handler-forcetorque) diff --git a/plugins/forcetorque/singleton/CMakeLists.txt b/plugins/forcetorque/singleton/CMakeLists.txt new file mode 100644 index 0000000..ea0f60a --- /dev/null +++ b/plugins/forcetorque/singleton/CMakeLists.txt @@ -0,0 +1,17 @@ + +add_library(gz-sim-yarp-forcetorque-singleton SHARED ForceTorqueDataSingleton.hh ForceTorqueDataSingleton.cc) + +target_include_directories(gz-sim-yarp-forcetorque-singleton + PUBLIC "$") + +target_compile_features(gz-sim-yarp-forcetorque-singleton PRIVATE cxx_std_17) + +target_link_libraries(gz-sim-yarp-forcetorque-singleton + PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} + PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} + PRIVATE + YARP::YARP_dev + YARP::YARP_os + YARP::YARP_init) + +install(TARGETS gz-sim-yarp-forcetorque-singleton) diff --git a/plugins/forcetorque/singleton-forcetorque/Handler.cc b/plugins/forcetorque/singleton/ForceTorqueDataSingleton.cc similarity index 77% rename from plugins/forcetorque/singleton-forcetorque/Handler.cc rename to plugins/forcetorque/singleton/ForceTorqueDataSingleton.cc index 832f61a..2d9806c 100644 --- a/plugins/forcetorque/singleton-forcetorque/Handler.cc +++ b/plugins/forcetorque/singleton/ForceTorqueDataSingleton.cc @@ -1,16 +1,17 @@ -#include "Handler.hh" +#include + #include #include namespace gzyarp { -HandlerForceTorque* HandlerForceTorque::getHandler() +ForceTorqueDataSingleton* ForceTorqueDataSingleton::getHandler() { std::lock_guard lock(mutex()); if (!s_handle) { - s_handle = new HandlerForceTorque(); + s_handle = new ForceTorqueDataSingleton(); if (!s_handle) yError() << "Error while calling gzyarp::HandlerForceTorque constructor"; } @@ -18,7 +19,7 @@ HandlerForceTorque* HandlerForceTorque::getHandler() return s_handle; } -bool HandlerForceTorque::setSensor(ForceTorqueData* _sensorDataPtr) +bool ForceTorqueDataSingleton::setSensor(ForceTorqueData* _sensorDataPtr) { bool ret = false; std::string sensorScopedName = _sensorDataPtr->sensorScopedName; @@ -45,7 +46,7 @@ bool HandlerForceTorque::setSensor(ForceTorqueData* _sensorDataPtr) return ret; } -ForceTorqueData* HandlerForceTorque::getSensor(const std::string& sensorScopedName) const +ForceTorqueData* ForceTorqueDataSingleton::getSensor(const std::string& sensorScopedName) const { ForceTorqueData* tmp; @@ -61,7 +62,7 @@ ForceTorqueData* HandlerForceTorque::getSensor(const std::string& sensorScopedNa return tmp; } -void HandlerForceTorque::removeSensor(const std::string& sensorName) +void ForceTorqueDataSingleton::removeSensor(const std::string& sensorName) { SensorsMap::iterator sensor = m_sensorsMap.find(sensorName); if (sensor != m_sensorsMap.end()) @@ -73,15 +74,15 @@ void HandlerForceTorque::removeSensor(const std::string& sensorName) } } -HandlerForceTorque::HandlerForceTorque() +ForceTorqueDataSingleton::ForceTorqueDataSingleton() : m_sensorsMap() { m_sensorsMap.clear(); } -HandlerForceTorque* HandlerForceTorque::s_handle = NULL; +ForceTorqueDataSingleton* ForceTorqueDataSingleton::s_handle = NULL; -std::mutex& HandlerForceTorque::mutex() +std::mutex& ForceTorqueDataSingleton::mutex() { static std::mutex s_mutex; return s_mutex; diff --git a/plugins/forcetorque/singleton-forcetorque/Handler.hh b/plugins/forcetorque/singleton/ForceTorqueDataSingleton.hh similarity index 80% rename from plugins/forcetorque/singleton-forcetorque/Handler.hh rename to plugins/forcetorque/singleton/ForceTorqueDataSingleton.hh index d172577..f6232c8 100644 --- a/plugins/forcetorque/singleton-forcetorque/Handler.hh +++ b/plugins/forcetorque/singleton/ForceTorqueDataSingleton.hh @@ -1,7 +1,9 @@ #include -#include #include #include + +#include + #include #include @@ -16,10 +18,10 @@ struct ForceTorqueData namespace gzyarp { -class HandlerForceTorque +class ForceTorqueDataSingleton { public: - static HandlerForceTorque* getHandler(); + static ForceTorqueDataSingleton* getHandler(); bool setSensor(ForceTorqueData* _sensorDataPtr); @@ -28,8 +30,8 @@ public: void removeSensor(const std::string& sensorName); private: - HandlerForceTorque(); - static HandlerForceTorque* s_handle; + ForceTorqueDataSingleton(); + static ForceTorqueDataSingleton* s_handle; static std::mutex& mutex(); typedef std::map SensorsMap; SensorsMap m_sensorsMap; // map of known sensors diff --git a/plugins/imu/CMakeLists.txt b/plugins/imu/CMakeLists.txt index ddcdc6c..e443242 100644 --- a/plugins/imu/CMakeLists.txt +++ b/plugins/imu/CMakeLists.txt @@ -1,19 +1,21 @@ -project(imu) - -add_subdirectory(singleton-imu) +add_subdirectory(singleton) add_library(gz-sim-yarp-imu-system SHARED IMU.cc IMUDriver.cpp) + +target_include_directories(gz-sim-yarp-imu-system + PUBLIC "$") + target_compile_features(gz-sim-yarp-imu-system PRIVATE cxx_std_17) target_link_libraries(gz-sim-yarp-imu-system PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} PRIVATE - ${YARP_LIBRARIES} + YARP::YARP_dev YARP::YARP_os YARP::YARP_init gz-sim-yarp-handler - gz-sim-yarp-handler-imu) + gz-sim-yarp-imu-singleton) # Add install target install(TARGETS gz-sim-yarp-imu-system) diff --git a/plugins/imu/IMU.cc b/plugins/imu/IMU.cc index 65c8671..36f92a6 100644 --- a/plugins/imu/IMU.cc +++ b/plugins/imu/IMU.cc @@ -1,4 +1,4 @@ -#include "IMUDriver.cpp" +#include #include #include @@ -25,19 +25,19 @@ using namespace systems; namespace gzyarp { -class IMU : public System, +class Imu : public System, public ISystemConfigure, public ISystemPreUpdate, public ISystemPostUpdate { public: - IMU() + Imu() : m_deviceRegistered(false) { } - virtual ~IMU() + virtual ~Imu() { if (m_deviceRegistered) { @@ -47,7 +47,7 @@ class IMU : public System, if (m_imuDriver.isValid()) m_imuDriver.close(); - HandlerIMU::getHandler()->removeSensor(sensorScopedName); + ImuDataSingleton::getHandler()->removeSensor(sensorScopedName); } virtual void Configure(const Entity& _entity, @@ -58,7 +58,7 @@ class IMU : public System, std::string netWrapper = "inertial"; ::yarp::dev::Drivers::factory().add( - new ::yarp::dev::DriverCreatorOf<::yarp::dev::gzyarp::IMUDriver>("gazebo_imu", + new ::yarp::dev::DriverCreatorOf<::yarp::dev::gzyarp::ImuDriver>("gazebo_imu", netWrapper.c_str(), "IMUDriver")); @@ -107,7 +107,7 @@ class IMU : public System, } // Insert the pointer in the singleton handler for retriving it in the yarp driver - HandlerIMU::getHandler()->setSensor(&(this->imuData)); + ImuDataSingleton::getHandler()->setSensor(&(this->imuData)); driver_properties.put("device", "gazebo_imu"); driver_properties.put("sensor_name", sensorName); @@ -136,7 +136,7 @@ class IMU : public System, { this->imuInitialized = true; auto imuTopicName = _ecm.ComponentData(sensor).value(); - this->node.Subscribe(imuTopicName, &IMU::imuCb, this); + this->node.Subscribe(imuTopicName, &Imu::imuCb, this); } } @@ -178,7 +178,7 @@ class IMU : public System, std::string m_deviceScopedName; std::string sensorScopedName; bool m_deviceRegistered; - IMUData imuData; + ImuData imuData; bool imuInitialized; gz::transport::Node node; gz::msgs::IMU imuMsg; @@ -189,8 +189,8 @@ class IMU : public System, } // namespace gzyarp // Register plugin -GZ_ADD_PLUGIN(gzyarp::IMU, +GZ_ADD_PLUGIN(gzyarp::Imu, gz::sim::System, - gzyarp::IMU::ISystemConfigure, - gzyarp::IMU::ISystemPreUpdate, - gzyarp::IMU::ISystemPostUpdate) + gzyarp::Imu::ISystemConfigure, + gzyarp::Imu::ISystemPreUpdate, + gzyarp::Imu::ISystemPostUpdate) diff --git a/plugins/imu/IMUDriver.cpp b/plugins/imu/IMUDriver.cpp index c302b4d..4dd16fe 100644 --- a/plugins/imu/IMUDriver.cpp +++ b/plugins/imu/IMUDriver.cpp @@ -1,6 +1,8 @@ -#include "../../libraries/singleton-devices/Handler.hh" -#include "singleton-imu/Handler.hh" +#include +#include + #include + #include #include #include @@ -12,7 +14,7 @@ namespace dev { namespace gzyarp { -class IMUDriver; +class ImuDriver; } } // namespace dev } // namespace yarp @@ -29,16 +31,16 @@ const std::string YarpIMUScopedName = "sensorScopedName"; * 6 7 8 = Calibrated 3-axis (X, Y, Z) gyroscope data * */ -class yarp::dev::gzyarp::IMUDriver : public yarp::dev::DeviceDriver, +class yarp::dev::gzyarp::ImuDriver : public yarp::dev::DeviceDriver, public yarp::dev::IThreeAxisGyroscopes, public yarp::dev::IThreeAxisLinearAccelerometers, public yarp::dev::IOrientationSensors { public: - IMUDriver() + ImuDriver() { } - virtual ~IMUDriver() + virtual ~ImuDriver() { } @@ -59,7 +61,7 @@ class yarp::dev::gzyarp::IMUDriver : public yarp::dev::DeviceDriver, } m_frameName = m_sensorName; - m_sensorData = ::gzyarp::HandlerIMU::getHandler()->getSensor(sensorScopedName); + m_sensorData = ::gzyarp::ImuDataSingleton::getHandler()->getSensor(sensorScopedName); if (!m_sensorData) { @@ -160,7 +162,7 @@ class yarp::dev::gzyarp::IMUDriver : public yarp::dev::DeviceDriver, } private: - IMUData* m_sensorData; + ImuData* m_sensorData; std::string m_sensorName; std::string m_frameName; diff --git a/plugins/imu/singleton-imu/CMakeLists.txt b/plugins/imu/singleton-imu/CMakeLists.txt deleted file mode 100644 index 5036cdf..0000000 --- a/plugins/imu/singleton-imu/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ - -add_library(gz-sim-yarp-handler-imu SHARED Handler.cc Handler.hh) -target_compile_features(gz-sim-yarp-handler-imu PRIVATE cxx_std_17) - -target_link_libraries(gz-sim-yarp-handler-imu - PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} - PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} - PRIVATE - ${YARP_LIBRARIES} - YARP::YARP_os - YARP::YARP_init) - -# Add install target -install(TARGETS gz-sim-yarp-handler-imu) diff --git a/plugins/imu/singleton/CMakeLists.txt b/plugins/imu/singleton/CMakeLists.txt new file mode 100644 index 0000000..a423d12 --- /dev/null +++ b/plugins/imu/singleton/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_library(gz-sim-yarp-imu-singleton SHARED ImuDataSingleton.hh ImuDataSingleton.cc) + +target_include_directories(gz-sim-yarp-imu-singleton + PUBLIC "$") + +target_compile_features(gz-sim-yarp-imu-singleton PRIVATE cxx_std_17) + +target_link_libraries(gz-sim-yarp-imu-singleton + PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} + PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} + PRIVATE + YARP::YARP_dev + YARP::YARP_os + YARP::YARP_init) + +# Add install target +install(TARGETS gz-sim-yarp-imu-singleton) diff --git a/plugins/imu/singleton-imu/Handler.cc b/plugins/imu/singleton/ImuDataSingleton.cc similarity index 76% rename from plugins/imu/singleton-imu/Handler.cc rename to plugins/imu/singleton/ImuDataSingleton.cc index 977a5da..fa27e21 100644 --- a/plugins/imu/singleton-imu/Handler.cc +++ b/plugins/imu/singleton/ImuDataSingleton.cc @@ -1,16 +1,17 @@ -#include "Handler.hh" +#include + #include #include namespace gzyarp { -HandlerIMU* HandlerIMU::getHandler() +ImuDataSingleton* ImuDataSingleton::getHandler() { std::lock_guard lock(mutex()); if (!s_handle) { - s_handle = new HandlerIMU(); + s_handle = new ImuDataSingleton(); if (!s_handle) yError() << "Error while calling gzyarp::HandlerIMU constructor"; } @@ -18,7 +19,7 @@ HandlerIMU* HandlerIMU::getHandler() return s_handle; } -bool HandlerIMU::setSensor(IMUData* _sensorDataPtr) +bool ImuDataSingleton::setSensor(ImuData* _sensorDataPtr) { bool ret = false; std::string sensorScopedName = _sensorDataPtr->sensorScopedName; @@ -29,7 +30,7 @@ bool HandlerIMU::setSensor(IMUData* _sensorDataPtr) else { // sensor does not exists. Add to map - if (!m_sensorsMap.insert(std::pair(sensorScopedName, _sensorDataPtr)) + if (!m_sensorsMap.insert(std::pair(sensorScopedName, _sensorDataPtr)) .second) { yError() << "Error in gzyarp::HandlerIMU while inserting a new sensor pointer!"; @@ -44,9 +45,9 @@ bool HandlerIMU::setSensor(IMUData* _sensorDataPtr) return ret; } -IMUData* HandlerIMU::getSensor(const std::string& sensorScopedName) const +ImuData* ImuDataSingleton::getSensor(const std::string& sensorScopedName) const { - IMUData* tmp; + ImuData* tmp; SensorsMap::const_iterator sensor = m_sensorsMap.find(sensorScopedName); if (sensor != m_sensorsMap.end()) @@ -60,7 +61,7 @@ IMUData* HandlerIMU::getSensor(const std::string& sensorScopedName) const return tmp; } -void HandlerIMU::removeSensor(const std::string& sensorName) +void ImuDataSingleton::removeSensor(const std::string& sensorName) { SensorsMap::iterator sensor = m_sensorsMap.find(sensorName); if (sensor != m_sensorsMap.end()) @@ -72,15 +73,15 @@ void HandlerIMU::removeSensor(const std::string& sensorName) } } -HandlerIMU::HandlerIMU() +ImuDataSingleton::ImuDataSingleton() : m_sensorsMap() { m_sensorsMap.clear(); } -HandlerIMU* HandlerIMU::s_handle = NULL; +ImuDataSingleton* ImuDataSingleton::s_handle = NULL; -std::mutex& HandlerIMU::mutex() +std::mutex& ImuDataSingleton::mutex() { static std::mutex s_mutex; return s_mutex; diff --git a/plugins/imu/singleton-imu/Handler.hh b/plugins/imu/singleton/ImuDataSingleton.hh similarity index 60% rename from plugins/imu/singleton-imu/Handler.hh rename to plugins/imu/singleton/ImuDataSingleton.hh index 3346970..13a03cd 100644 --- a/plugins/imu/singleton-imu/Handler.hh +++ b/plugins/imu/singleton/ImuDataSingleton.hh @@ -1,11 +1,13 @@ #include -#include #include #include + +#include + #include #include -struct IMUData +struct ImuData { std::mutex m_mutex; std::array m_data; @@ -16,22 +18,22 @@ struct IMUData namespace gzyarp { -class HandlerIMU +class ImuDataSingleton { public: - static HandlerIMU* getHandler(); + static ImuDataSingleton* getHandler(); - bool setSensor(IMUData* _sensorDataPtr); + bool setSensor(ImuData* _sensorDataPtr); - IMUData* getSensor(const std::string& sensorScopedName) const; + ImuData* getSensor(const std::string& sensorScopedName) const; void removeSensor(const std::string& sensorName); private: - HandlerIMU(); - static HandlerIMU* s_handle; + ImuDataSingleton(); + static ImuDataSingleton* s_handle; static std::mutex& mutex(); - typedef std::map SensorsMap; + typedef std::map SensorsMap; SensorsMap m_sensorsMap; // map of known sensors }; diff --git a/plugins/laser/CMakeLists.txt b/plugins/laser/CMakeLists.txt index 5897bd4..d11f2ee 100644 --- a/plugins/laser/CMakeLists.txt +++ b/plugins/laser/CMakeLists.txt @@ -1,19 +1,21 @@ -project(laser) - -add_subdirectory(singleton-laser) +add_subdirectory(singleton) add_library(gz-sim-yarp-laser-system SHARED Laser.cc LaserDriver.cpp) + +target_include_directories(gz-sim-yarp-laser-system + PUBLIC "$") + target_compile_features(gz-sim-yarp-laser-system PRIVATE cxx_std_17) target_link_libraries(gz-sim-yarp-laser-system PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} PRIVATE - ${YARP_LIBRARIES} + YARP::YARP_dev YARP::YARP_os YARP::YARP_init gz-sim-yarp-handler - gz-sim-yarp-handler-laser) + gz-sim-yarp-laser-singleton) # Add install target install(TARGETS gz-sim-yarp-laser-system) diff --git a/plugins/laser/Laser.cc b/plugins/laser/Laser.cc index e663cdc..b9f4945 100644 --- a/plugins/laser/Laser.cc +++ b/plugins/laser/Laser.cc @@ -1,4 +1,4 @@ -#include "LaserDriver.cpp" +#include #include #include @@ -47,7 +47,7 @@ class Laser : public System, if (m_laserDriver.isValid()) m_laserDriver.close(); - HandlerLaser::getHandler()->removeSensor(sensorScopedName); + LaserDataSingleton::getHandler()->removeSensor(sensorScopedName); yarp::os::Network::fini(); } @@ -112,7 +112,7 @@ class Laser : public System, } // Insert the pointer in the singleton handler for retriving it in the yarp driver - HandlerLaser::getHandler()->setSensor(&(this->laserData)); + LaserDataSingleton::getHandler()->setSensor(&(this->laserData)); driver_properties.put("device", "gazebo_laser"); driver_properties.put("sensor_name", sensorName); diff --git a/plugins/laser/LaserDriver.cpp b/plugins/laser/LaserDriver.cpp index 2b05d98..1e5e095 100644 --- a/plugins/laser/LaserDriver.cpp +++ b/plugins/laser/LaserDriver.cpp @@ -1,7 +1,8 @@ -#include "../../libraries/singleton-devices/Handler.hh" -#include "singleton-laser/Handler.hh" -#include +#include +#include + #include + #include #include #include @@ -48,7 +49,7 @@ class yarp::dev::gzyarp::LaserDriver : public yarp::dev::Lidar2DDeviceBase, m_sensorName = config.find("sensor_name").asString().substr(pos + separator.size() - 1); } m_frameName = m_sensorName; - m_sensorData = ::gzyarp::HandlerLaser::getHandler()->getSensor(sensorScopedName); + m_sensorData = ::gzyarp::LaserDataSingleton::getHandler()->getSensor(sensorScopedName); if (!m_sensorData) { diff --git a/plugins/laser/singleton-laser/CMakeLists.txt b/plugins/laser/singleton-laser/CMakeLists.txt deleted file mode 100644 index f89806f..0000000 --- a/plugins/laser/singleton-laser/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ - -add_library(gz-sim-yarp-handler-laser SHARED Handler.cc Handler.hh) -target_compile_features(gz-sim-yarp-handler-laser PRIVATE cxx_std_17) - -target_link_libraries(gz-sim-yarp-handler-laser - PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} - PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} - PRIVATE - ${YARP_LIBRARIES} - YARP::YARP_os - YARP::YARP_init) - -# Add install target -install(TARGETS gz-sim-yarp-handler-laser) diff --git a/plugins/laser/singleton/CMakeLists.txt b/plugins/laser/singleton/CMakeLists.txt new file mode 100644 index 0000000..3178cd2 --- /dev/null +++ b/plugins/laser/singleton/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_library(gz-sim-yarp-laser-singleton SHARED LaserDataSingleton.hh LaserDataSingleton.cc) + +target_include_directories(gz-sim-yarp-laser-singleton + PUBLIC "$") + +target_compile_features(gz-sim-yarp-laser-singleton PRIVATE cxx_std_17) + +target_link_libraries(gz-sim-yarp-laser-singleton + PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} + PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} + PRIVATE + YARP::YARP_dev + YARP::YARP_os + YARP::YARP_init) + +# Add install target +install(TARGETS gz-sim-yarp-laser-singleton) diff --git a/plugins/laser/singleton-laser/Handler.cc b/plugins/laser/singleton/LaserDataSingleton.cc similarity index 79% rename from plugins/laser/singleton-laser/Handler.cc rename to plugins/laser/singleton/LaserDataSingleton.cc index 605a95e..e6a952a 100644 --- a/plugins/laser/singleton-laser/Handler.cc +++ b/plugins/laser/singleton/LaserDataSingleton.cc @@ -1,16 +1,17 @@ -#include "Handler.hh" +#include + #include #include namespace gzyarp { -HandlerLaser* HandlerLaser::getHandler() +LaserDataSingleton* LaserDataSingleton::getHandler() { std::lock_guard lock(mutex()); if (!s_handle) { - s_handle = new HandlerLaser(); + s_handle = new LaserDataSingleton(); if (!s_handle) yError() << "Error while calling gzyarp::HandlerLaser constructor"; } @@ -18,7 +19,7 @@ HandlerLaser* HandlerLaser::getHandler() return s_handle; } -bool HandlerLaser::setSensor(LaserData* _sensorDataPtr) +bool LaserDataSingleton::setSensor(LaserData* _sensorDataPtr) { bool ret = false; std::string sensorScopedName = _sensorDataPtr->sensorScopedName; @@ -45,7 +46,7 @@ bool HandlerLaser::setSensor(LaserData* _sensorDataPtr) return ret; } -LaserData* HandlerLaser::getSensor(const std::string& sensorScopedName) const +LaserData* LaserDataSingleton::getSensor(const std::string& sensorScopedName) const { LaserData* tmp; @@ -61,7 +62,7 @@ LaserData* HandlerLaser::getSensor(const std::string& sensorScopedName) const return tmp; } -void HandlerLaser::removeSensor(const std::string& sensorName) +void LaserDataSingleton::removeSensor(const std::string& sensorName) { SensorsMap::iterator sensor = m_sensorsMap.find(sensorName); if (sensor != m_sensorsMap.end()) @@ -73,15 +74,15 @@ void HandlerLaser::removeSensor(const std::string& sensorName) } } -HandlerLaser::HandlerLaser() +LaserDataSingleton::LaserDataSingleton() : m_sensorsMap() { m_sensorsMap.clear(); } -HandlerLaser* HandlerLaser::s_handle = NULL; +LaserDataSingleton* LaserDataSingleton::s_handle = NULL; -std::mutex& HandlerLaser::mutex() +std::mutex& LaserDataSingleton::mutex() { static std::mutex s_mutex; return s_mutex; diff --git a/plugins/laser/singleton-laser/Handler.hh b/plugins/laser/singleton/LaserDataSingleton.hh similarity index 82% rename from plugins/laser/singleton-laser/Handler.hh rename to plugins/laser/singleton/LaserDataSingleton.hh index f17e05c..89a05d0 100644 --- a/plugins/laser/singleton-laser/Handler.hh +++ b/plugins/laser/singleton/LaserDataSingleton.hh @@ -1,7 +1,9 @@ -#include #include #include #include + +#include + #include #include @@ -16,10 +18,10 @@ struct LaserData namespace gzyarp { -class HandlerLaser +class LaserDataSingleton { public: - static HandlerLaser* getHandler(); + static LaserDataSingleton* getHandler(); bool setSensor(LaserData* _sensorDataPtr); @@ -28,8 +30,8 @@ public: void removeSensor(const std::string& sensorName); private: - HandlerLaser(); - static HandlerLaser* s_handle; + LaserDataSingleton(); + static LaserDataSingleton* s_handle; static std::mutex& mutex(); typedef std::map SensorsMap; SensorsMap m_sensorsMap; // map of known sensors diff --git a/plugins/robotinterface/CMakeLists.txt b/plugins/robotinterface/CMakeLists.txt index 3af9d53..b5d2aa8 100644 --- a/plugins/robotinterface/CMakeLists.txt +++ b/plugins/robotinterface/CMakeLists.txt @@ -1,12 +1,13 @@ - add_library(gz-sim-yarp-robotinterface-system SHARED RobotInterface.cc) + target_compile_features(gz-sim-yarp-robotinterface-system PRIVATE cxx_std_17) target_link_libraries(gz-sim-yarp-robotinterface-system PRIVATE gz-plugin${GZ_PLUGIN_VER}::gz-plugin${GZ_PLUGIN_VER} PRIVATE gz-sim${GZ_SIM_VER}::gz-sim${GZ_SIM_VER} PRIVATE - ${YARP_LIBRARIES} + YARP::YARP_dev + YARP::YARP_robotinterface YARP::YARP_os YARP::YARP_init gz-sim-yarp-handler) diff --git a/plugins/robotinterface/RobotInterface.cc b/plugins/robotinterface/RobotInterface.cc index 0e9b5a8..ea0167e 100644 --- a/plugins/robotinterface/RobotInterface.cc +++ b/plugins/robotinterface/RobotInterface.cc @@ -1,8 +1,10 @@ -#include "../../libraries/singleton-devices/Handler.hh" +#include + #include #include #include #include + #include #include #include diff --git a/tests/imu/model.sdf b/tests/imu/model.sdf index 08a6f0c..9a44a7a 100644 --- a/tests/imu/model.sdf +++ b/tests/imu/model.sdf @@ -64,7 +64,7 @@ - + (yarpDeviceName imu_plugin_device) (parentLinkName link_1) (sensorName imu_sensor) 4 0 3.0 0 0.0 3.14 diff --git a/tutorial/imu/model.sdf b/tutorial/imu/model.sdf index 8c66e39..f2d21b3 100644 --- a/tutorial/imu/model.sdf +++ b/tutorial/imu/model.sdf @@ -64,7 +64,7 @@ - + (yarpDeviceName imu_plugin_device) (parentLinkName link_1) (sensorName imu_sensor) 4 0 3.0 0 0.0 3.14