Home | History | Annotate | Download | only in notification
      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_CHANNEL_H_
      6 #define LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_CHANNEL_H_
      7 
      8 #include <string>
      9 
     10 namespace base {
     11 class DictionaryValue;
     12 }  // namespace base
     13 
     14 namespace weave {
     15 
     16 class NotificationDelegate;
     17 
     18 class NotificationChannel {
     19  public:
     20   virtual ~NotificationChannel() {}
     21 
     22   virtual std::string GetName() const = 0;
     23   virtual bool IsConnected() const = 0;
     24   virtual void AddChannelParameters(base::DictionaryValue* channel_json) = 0;
     25 
     26   virtual void Start(NotificationDelegate* delegate) = 0;
     27   virtual void Stop() = 0;
     28 };
     29 
     30 }  // namespace weave
     31 
     32 #endif  // LIBWEAVE_SRC_NOTIFICATION_NOTIFICATION_CHANNEL_H_
     33