/** * @RDE_HEADER@ * QueryTimeline * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, SLSE, 2017-07-10 */ #pragma once #include "icommand.h" #include #include #include #include namespace AudioVideoManagement { class IAvaComm; class IAvaCommandDoneObserver; namespace AvaCommands { /** * @author Christian Fröbel */ class QueryTimeline final : public ICommand { Q_OBJECT public: QueryTimeline(IAvaComm *comm, IAvaCommandDoneObserver *observer, const QString &streamName, const boost::optional &start, const boost::optional &end); void send() override; QString debug() const override { return QLatin1String("QueryTimeline"); } const AvaTimeline &timeline() const { return m_timeline; } private slots: void onOk(); private: void done(); void onTimelineReceived(AvaTimeline &&timeline); const QString m_streamName; bool m_ok{false}; AvaTimeline m_timeline; TimelineListCollector m_collector; IAvaComm *m_comm; IAvaCommandDoneObserver *m_observer; boost::optional m_start; boost::optional m_end; }; } // namespace AvaCommands } // namespace AudioVideoManagement