#ifndef TWEAKABLES_H
#define TWEAKABLES_H
class Observable;
class ObservableData;
class Observer
{
public:
virtual void notify(const Observable& a_subject, const char* a_message) = 0;
};
class Observable
{
public:
Observable();
~Observable();
void registerObserver(Observer& a_observer);
void unregisterObserver(Observer& a_observer);
void notifyObservers(const char* a_message) const;
private:
ObservableData* m_data;
};
#endif // TWEAKABLES_H