63 lines
1.4 KiB
C++
Executable File
63 lines
1.4 KiB
C++
Executable File
/**
|
|
* @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
|