blob: 3d914c9a2b62e5e6616a09f3d74435d3170bc183 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_DRIVE_DRIVE_NOTIFICATION_OBSERVER_H_
#define COMPONENTS_DRIVE_DRIVE_NOTIFICATION_OBSERVER_H_
#include <map>
#include <string>
namespace drive {
// Interface for classes which need to know when to check Google Drive for
// updates.
class DriveNotificationObserver {
public:
// Called when a notification from Google Drive is received. |invalidations|
// is the map from objects that raised the notification to the changelist,
// either a team drive id or empty string to represent the users default
// corpus, to the change ID.
virtual void OnNotificationReceived(
const std::map<std::string, int64_t>& invalidations) = 0;
// Called when there has not been a recent notification from Google Drive and
// the timer used for polling Google Drive fired.
virtual void OnNotificationTimerFired() = 0;
// Called when XMPP-based push notification is enabled or disabled.
virtual void OnPushNotificationEnabled(bool enabled) {}
protected:
virtual ~DriveNotificationObserver() = default;
};
} // namespace drive
#endif // COMPONENTS_DRIVE_DRIVE_NOTIFICATION_OBSERVER_H_