#ifndef CHROME_BROWSER_ASH_NOTIFICATIONS_GNUBBY_NOTIFICATION_H_
#define CHROME_BROWSER_ASH_NOTIFICATIONS_GNUBBY_NOTIFICATION_H_
#include "base/memory/weak_ptr.h"
#include "base/timer/timer.h"
#include "chromeos/ash/components/dbus/gnubby/gnubby_client.h"
namespace ash {
class GnubbyNotification : public GnubbyClient::Observer {
public:
GnubbyNotification();
GnubbyNotification(const GnubbyNotification&) = delete;
GnubbyNotification& operator=(const GnubbyNotification&) = delete;
~GnubbyNotification() override;
void PromptUserAuth() override;
void ShowNotification();
void DismissNotification();
private:
std::unique_ptr<base::OneShotTimer> update_dismiss_notification_timer_;
bool notification_active_ = false;
base::WeakPtrFactory<GnubbyNotification> weak_ptr_factory_{this};
};
}
#endif