#ifndef ASH_PUBLIC_CPP_NOTIFIER_SETTINGS_CONTROLLER_H_
#define ASH_PUBLIC_CPP_NOTIFIER_SETTINGS_CONTROLLER_H_
#include "ash/public/cpp/ash_public_export.h"
namespace message_center {
struct NotifierId;
}
namespace ash {
class NotifierSettingsObserver;
class ASH_PUBLIC_EXPORT NotifierSettingsController {
public:
static NotifierSettingsController* Get();
NotifierSettingsController(const NotifierSettingsController&) = delete;
NotifierSettingsController& operator=(const NotifierSettingsController&) =
delete;
virtual void GetNotifiers() = 0;
virtual void SetNotifierEnabled(const message_center::NotifierId& notifier_id,
bool enabled) = 0;
virtual void AddNotifierSettingsObserver(
NotifierSettingsObserver* listener) = 0;
virtual void RemoveNotifierSettingsObserver(
NotifierSettingsObserver* listener) = 0;
protected:
NotifierSettingsController();
virtual ~NotifierSettingsController();
};
}
#endif