blob: 529e39d3f6bfe5057914fece7f34ccbaa334f42c [file] [log] [blame]
// Copyright 2015 The Chromium OS 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 BUFFET_NOTIFICATION_NOTIFICATION_DELEGATE_H_
#define BUFFET_NOTIFICATION_NOTIFICATION_DELEGATE_H_
#include <memory>
#include <string>
#include <base/values.h>
namespace buffet {
class NotificationDelegate {
public:
virtual void OnConnected(const std::string& channel_name) = 0;
virtual void OnDisconnected() = 0;
virtual void OnPermanentFailure() = 0;
// Called when a new command is sent via the notification channel.
virtual void OnCommandCreated(const base::DictionaryValue& command) = 0;
// Called when DEVICE_DELETED notification is received.
virtual void OnDeviceDeleted(const std::string& device_id) = 0;
protected:
virtual ~NotificationDelegate() = default;
};
} // namespace buffet
#endif // BUFFET_NOTIFICATION_NOTIFICATION_DELEGATE_H_