diff --git a/source/RobotAPI/components/ArViz/ArVizStorage.cpp b/source/RobotAPI/components/ArViz/ArVizStorage.cpp index 8630c8a9f76cce5bb9b6d61005bed907786e8b3c..3f4ff4644d9bd11068fd86c55820bbce98d19ebb 100644 --- a/source/RobotAPI/components/ArViz/ArVizStorage.cpp +++ b/source/RobotAPI/components/ArViz/ArVizStorage.cpp @@ -599,8 +599,9 @@ void armarx::ArVizStorage::stopRecording(const Ice::Current&) recordingMetaData.firstTimestampInMicroSeconds = -1; } -armarx::viz::data::RecordingSeq armarx::ArVizStorage::getAllRecordings(const Ice::Current&) +armarx::viz::data::RecordingsInfo armarx::ArVizStorage::getAllRecordings(const Ice::Current&) { + viz::data::RecordingsInfo recordingsInfo; viz::data::RecordingSeq result; for (std::filesystem::directory_entry const& entry : std::filesystem::directory_iterator(historyPath)) @@ -619,8 +620,10 @@ armarx::viz::data::RecordingSeq armarx::ArVizStorage::getAllRecordings(const Ice } } + recordingsInfo.recordings = result; + recordingsInfo.recordingsPath = historyPath; - return result; + return recordingsInfo; } armarx::viz::data::RecordingBatch armarx::ArVizStorage::getRecordingBatch(std::string const& recordingID, Ice::Long batchIndex, const Ice::Current&) diff --git a/source/RobotAPI/components/ArViz/ArVizStorage.h b/source/RobotAPI/components/ArViz/ArVizStorage.h index c484b6d21c28f8ba25ebf7c8f1ff1e40f816c8d7..27bb6b1fcf130e23844c497a8a2a85cc1b392943 100644 --- a/source/RobotAPI/components/ArViz/ArVizStorage.h +++ b/source/RobotAPI/components/ArViz/ArVizStorage.h @@ -92,7 +92,7 @@ namespace armarx const Ice::Current&) override; std::string startRecording(std::string const& prefix, const Ice::Current&) override; void stopRecording(const Ice::Current&) override; - viz::data::RecordingSeq getAllRecordings(const Ice::Current&) override; + viz::data::RecordingsInfo getAllRecordings(const Ice::Current&) override; viz::data::RecordingBatch getRecordingBatch(const std::string&, Ice::Long, const Ice::Current&) override; private: diff --git a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp index 1962d259c0d2329c9870f1e3d314fdea17a1f60d..945013a9905234d8eb807745bea34e04c8456b31 100644 --- a/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/ArViz/ArVizWidgetController.cpp @@ -621,7 +621,7 @@ namespace armarx void ArVizWidgetController::onRefreshRecordings() { - allRecordings = storage->getAllRecordings(); + allRecordings = storage->getAllRecordings().recordings; std::sort(allRecordings.begin(), allRecordings.end(), [](viz::data::Recording const & lhs, viz::data::Recording const & rhs) { diff --git a/source/RobotAPI/interface/ArViz/Component.ice b/source/RobotAPI/interface/ArViz/Component.ice index 33fd7ca5728456079298f4ca34c5aee074d88a62..6ba528b4f87fe2dab27c6d9511612b3ae01055ed 100644 --- a/source/RobotAPI/interface/ArViz/Component.ice +++ b/source/RobotAPI/interface/ArViz/Component.ice @@ -106,6 +106,13 @@ struct RecordingBatch sequence<Recording> RecordingSeq; +struct RecordingsInfo +{ + data::RecordingSeq recordings; + // Equivalent to the property "HistoryPath" of ArVizStorage. + string recordingsPath; +}; + }; interface StorageInterface @@ -121,7 +128,7 @@ interface StorageInterface void stopRecording(); - data::RecordingSeq getAllRecordings(); + data::RecordingsInfo getAllRecordings(); data::RecordingBatch getRecordingBatch(string recordingID, long batchIndex); };