#ifndef REMOTING_HOST_HOST_STATUS_MONITOR_H_
#define REMOTING_HOST_HOST_STATUS_MONITOR_H_
#include "base/memory/ref_counted.h"
#include "base/observer_list.h"
namespace remoting {
class HostStatusObserver;
class HostStatusMonitor : public base::RefCountedThreadSafe<HostStatusMonitor> {
public:
HostStatusMonitor();
void AddStatusObserver(HostStatusObserver* observer);
void RemoveStatusObserver(HostStatusObserver* observer);
const base::ObserverList<HostStatusObserver>::Unchecked& observers() {
return observers_;
}
protected:
friend class base::RefCountedThreadSafe<HostStatusMonitor>;
base::ObserverList<HostStatusObserver>::Unchecked observers_;
virtual ~HostStatusMonitor();
};
}
#endif