11 #include "threads/CriticalSection.h" 17 class ObservableMessageJob;
21 ObservableMessageNone,
22 ObservableMessagePeripheralsChanged,
23 ObservableMessageSettingsChanged,
24 ObservableMessageButtonMapsChanged,
26 ObservableMessagePositionChanged,
27 ObservableMessageGamePortsChanged,
28 ObservableMessageGameAgentsChanged,
46 friend class ObservableMessageJob;
57 virtual void RegisterObserver(
Observer *obs);
63 virtual void UnregisterObserver(
Observer *obs);
69 virtual void NotifyObservers(
const ObservableMessage message = ObservableMessageNone);
75 virtual void SetChanged(
bool bSetTo =
true);
82 virtual bool IsObserving(
const Observer &obs)
const;
90 void SendMessage(
const ObservableMessage message);
92 std::atomic<bool> m_bObservableChanged{
false};
CCriticalSection m_obsCritSection
Definition: Observer.h:94
std::vector< Observer * > m_observers
Definition: Observer.h:93
virtual void Notify(const Observable &obs, const ObservableMessage msg)=0
Process a message from an observable.
Definition: Observer.h:31
Definition: Observer.h:44