/** * @RDE_HEADER@ * IAvaControl * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, NLSE, 2018-01-26 */ #pragma once namespace AudioVideoManagement { class ICommand; namespace AvaCommands { class ChooseStream; class GetStreamList; class QueryTimeline; class GetElokaList; class QueryEloka; class SetRtProfileBase; class SetAnnouncementProfile; class SetVideoProfile; class SetScript; class StartScript; } /** * This interface is needed in order to mock AvaControl in UnitTests. * * @author Christian Fröbel */ class IAvaCommandDoneObserver { public: virtual ~IAvaCommandDoneObserver() = default; virtual void done(ICommand *cmd) = 0; virtual void done(AvaCommands::ChooseStream *cmd) = 0; virtual void done(AvaCommands::GetStreamList *cmd) = 0; virtual void done(AvaCommands::QueryTimeline *cmd) = 0; virtual void done(AvaCommands::GetElokaList *cmd) = 0; virtual void done(AvaCommands::QueryEloka *cmd) = 0; virtual void done(AvaCommands::SetRtProfileBase *cmd) = 0; virtual void done(AvaCommands::SetAnnouncementProfile *cmd) = 0; virtual void done(AvaCommands::SetVideoProfile *cmd) = 0; virtual void done(AvaCommands::SetScript *cmd) = 0; virtual void done(AvaCommands::StartScript *cmd) = 0; virtual void failed(ICommand *cmd) = 0; /** * Tell the observer that the command is not done yet but still alive. */ virtual void alive(ICommand *cmd) = 0; }; } // namespace AudioVideoManagement