// Copyright 2015 The Weave 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 LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_CHANNEL_H_
#define LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_CHANNEL_H_

#include <string>

namespace base {
class DictionaryValue;
}  // namespace base

namespace weave {

class NotificationDelegate;

class NotificationChannel {
 public:
  virtual ~NotificationChannel() = default;

  virtual std::string GetName() const = 0;
  virtual bool IsConnected() const = 0;
  virtual void AddChannelParameters(base::DictionaryValue* channel_json) = 0;

  virtual void Start(NotificationDelegate* delegate) = 0;
  virtual void Stop() = 0;
};

}  // namespace weave

#endif  // LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_CHANNEL_H_
