1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#ifndef GUI_INTERFACES_H
#define GUI_INTERFACES_H
#include <sigc++/signal.h>
#include <memory>
namespace rfiStrategy
{
class Strategy;
}
class StrategyController
{
public:
virtual void SetStrategy(std::unique_ptr<rfiStrategy::Strategy> strategy) = 0;
virtual rfiStrategy::Strategy &Strategy() = 0;
virtual void NotifyChange() { _signalOnStrategyChanged(); }
virtual sigc::signal<void> SignalOnStrategyChanged() { return _signalOnStrategyChanged; }
private:
sigc::signal<void> _signalOnStrategyChanged;
};
#endif
|