diff --git a/source/RobotAPI/libraries/armem/client/ReadStream.cpp b/source/RobotAPI/libraries/armem/client/ReadStream.cpp index e341e139f66b40168ba4dd9b809d921835953838..04a715fe10dfa583c7123c19f26a81f2a5b9fd1f 100644 --- a/source/RobotAPI/libraries/armem/client/ReadStream.cpp +++ b/source/RobotAPI/libraries/armem/client/ReadStream.cpp @@ -19,7 +19,7 @@ namespace armarx::armem::client } std::optional<wm::EntitySnapshot> - ReadStream::pollBlocking(SnapshotCallbackT& callback) + ReadStream::pollBlocking(const SnapshotCallbackT& callback) { if (isPolling.exchange(true)) { @@ -34,7 +34,7 @@ namespace armarx::armem::client } void - ReadStream::pollAsync(SnapshotCallbackT& callback) + ReadStream::pollAsync(const SnapshotCallbackT& callback) { if (isPolling.exchange(true)) { @@ -46,7 +46,7 @@ namespace armarx::armem::client } std::optional<wm::EntitySnapshot> - ReadStream::_pollBlocking(SnapshotCallbackT& callback) + ReadStream::_pollBlocking(const SnapshotCallbackT& callback) { while (not pollingStoppedExternally) { @@ -71,7 +71,7 @@ namespace armarx::armem::client } std::optional<wm::EntitySnapshot> - ReadStream::pollOnce(SnapshotCallbackT& callback) + ReadStream::pollOnce(const SnapshotCallbackT& callback) { if (isPolling.exchange(true)) { @@ -85,7 +85,7 @@ namespace armarx::armem::client } std::optional<wm::EntitySnapshot> - ReadStream::_pollOnce(SnapshotCallbackT& callback) + ReadStream::_pollOnce(const SnapshotCallbackT& callback) { // Make sure to not busy wait. Also wait until probably data is available in first iteration. metronome.waitForNextTick(); diff --git a/source/RobotAPI/libraries/armem/client/ReadStream.h b/source/RobotAPI/libraries/armem/client/ReadStream.h index bd549770f1831cb849a1b9716609dd7816362c49..c86fb5b0675ddfc3fa3c4cd9abe49df5ab7a3016 100644 --- a/source/RobotAPI/libraries/armem/client/ReadStream.h +++ b/source/RobotAPI/libraries/armem/client/ReadStream.h @@ -67,7 +67,7 @@ namespace armarx::armem::client * @return The snapshot object that returns false. * @throw armarx::armem::error::ReadStreamAlreadyPolling If the stream is already polling. */ - std::optional<wm::EntitySnapshot> pollBlocking(SnapshotCallbackT& callback); + std::optional<wm::EntitySnapshot> pollBlocking(const SnapshotCallbackT& callback); /** * @brief Poll in a new thread as long as callback returns true. @@ -83,7 +83,7 @@ namespace armarx::armem::client * @param callback Function to call on each entity snapshot. * @throw armarx::armem::error::ReadStreamAlreadyPolling If the stream is already polling. */ - void pollAsync(SnapshotCallbackT& callback); + void pollAsync(const SnapshotCallbackT& callback); /** * @brief Stop a running polling loop. * @@ -114,12 +114,12 @@ namespace armarx::armem::client * @param callback Function to call on each entity snapshot. * @throw armarx::armem::error::ReadStreamAlreadyPolling If the stream is already polling. */ - std::optional<wm::EntitySnapshot> pollOnce(SnapshotCallbackT& callback); + std::optional<wm::EntitySnapshot> pollOnce(const SnapshotCallbackT& callback); private: - std::optional<wm::EntitySnapshot> _pollBlocking(SnapshotCallbackT& callback); - std::optional<wm::EntitySnapshot> _pollOnce(SnapshotCallbackT& callback); + std::optional<wm::EntitySnapshot> _pollBlocking(const SnapshotCallbackT& callback); + std::optional<wm::EntitySnapshot> _pollOnce(const SnapshotCallbackT& callback); private: