blob: ab33dd20a4bf44b24588d1517cd065cf27ed22f0 [file] [log] [blame]
Alex Vakulenkoeedf3be2015-05-13 17:52:02 -07001// Copyright 2015 The Chromium OS 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 BUFFET_NOTIFICATION_NOTIFICATION_CHANNEL_H_
6#define BUFFET_NOTIFICATION_NOTIFICATION_CHANNEL_H_
7
8#include <string>
9
10namespace base {
11class DictionaryValue;
12} // namespace base
13
14namespace buffet {
15
16class NotificationDelegate;
17
18class NotificationChannel {
19 public:
20 virtual ~NotificationChannel() = default;
21
22 virtual std::string GetName() const = 0;
23 virtual void AddChannelParameters(base::DictionaryValue* channel_json) = 0;
24
25 virtual void Start(NotificationDelegate* delegate) = 0;
26 virtual void Stop() = 0;
27};
28
29} // namespace buffet
30
31#endif // BUFFET_NOTIFICATION_NOTIFICATION_CHANNEL_H_