/** * @RDE_HEADER@ * SetVolume * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, NLSE, 2018-02-28 */ #pragma once #include #include namespace AudioVideoManagement { class IAvaComm; class IAvaCommandDoneObserver; namespace AvaCommands { /** * @author Christian Fröbel */ class SetVolume final : public ICommand { Q_OBJECT public: SetVolume(IAvaComm *comm, IAvaCommandDoneObserver *doneObserver, AvaVolume db); void send() override; QString debug() const override { return QLatin1String("SetVolume"); } bool nullifies(ICommand *other) const override; private slots: void onOk(); void onVolumeReceived(AvaVolume db); private: void done(); AvaVolume m_db; bool m_ok{false}; IAvaComm *m_comm; IAvaCommandDoneObserver *m_observer; }; }} // namespace AudioVideoManagement::AvaCommands