blob: 2d54de10d7958629149e50ed5735421d1114a898 [file] [log] [blame]
// Copyright (c) 2013 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 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_