// 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() {}
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_