blob: 1fd13878c9e24b3517d1b735cbf74c32503164e5 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_NOTIFICATIONS_GOOGLE_NOW_NOTIFICATION_STATS_COLLECTOR_H_
#define CHROME_BROWSER_NOTIFICATIONS_GOOGLE_NOW_NOTIFICATION_STATS_COLLECTOR_H_
#include <string>
#include "ui/message_center/message_center.h"
#include "ui/message_center/message_center_observer.h"
#include "ui/message_center/message_center_types.h"
// The Google Now Notification Stats Collector listens for message center
// events and records stats about Google Now specific notifications.
class GoogleNowNotificationStatsCollector
: public message_center::MessageCenterObserver {
public:
explicit GoogleNowNotificationStatsCollector(
message_center::MessageCenter* message_center);
virtual ~GoogleNowNotificationStatsCollector();
private:
// MessageCenterObserver
virtual void OnNotificationDisplayed(
const std::string& notification_id,
const message_center::DisplaySource source) OVERRIDE;
virtual void OnCenterVisibilityChanged(
message_center::Visibility visibility) OVERRIDE;
// Counts the number of Google Now Notifications in the message center.
int CountVisibleGoogleNowNotifications();
// Returns true if the notification ID is for Google Now.
bool IsNotificationIdForGoogleNow(const std::string& notification_id);
// Weak, global.
message_center::MessageCenter* message_center_;
DISALLOW_COPY_AND_ASSIGN(GoogleNowNotificationStatsCollector);
};
#endif // CHROME_BROWSER_NOTIFICATIONS_GOOGLE_NOW_NOTIFICATION_STATS_COLLECTOR_H_