1// Copyright 2015 The Weave Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_DELEGATE_H_ 6#define LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_DELEGATE_H_ 7 8#include <memory> 9#include <string> 10 11#include <base/values.h> 12 13namespace weave { 14 15class NotificationDelegate { 16 public: 17 virtual void OnConnected(const std::string& channel_name) = 0; 18 virtual void OnDisconnected() = 0; 19 virtual void OnPermanentFailure() = 0; 20 // Called when a new command is sent via the notification channel. 21 virtual void OnCommandCreated(const base::DictionaryValue& command, 22 const std::string& channel_name) = 0; 23 // Called when DEVICE_DELETED notification is received. 24 virtual void OnDeviceDeleted(const std::string& cloud_id) = 0; 25 26 protected: 27 virtual ~NotificationDelegate() {} 28}; 29 30} // namespace weave 31 32#endif // LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_DELEGATE_H_ 33