1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef CHROME_BROWSER_EXTENSIONS_API_SYNCED_NOTIFICATIONS_PRIVATE_SYNCED_NOTIFICATIONS_PRIVATE_API_H_
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define CHROME_BROWSER_EXTENSIONS_API_SYNCED_NOTIFICATIONS_PRIVATE_SYNCED_NOTIFICATIONS_PRIVATE_API_H_
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/extensions/chrome_extension_function.h"
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/common/extensions/api/synced_notifications_private.h"
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace extensions {
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace api {
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class SyncedNotificationsPrivateGetInitialDataFunction
15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    : public UIThreadExtensionFunction {
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public:
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  SyncedNotificationsPrivateGetInitialDataFunction();
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DECLARE_EXTENSION_FUNCTION("syncedNotificationsPrivate.getInitialData",
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                             SYNCEDNOTIFICATIONSPRIVATE_GETINITIALDATA);
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected:
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual ~SyncedNotificationsPrivateGetInitialDataFunction();
23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  virtual ResponseAction Run() OVERRIDE;
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private:
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(SyncedNotificationsPrivateGetInitialDataFunction);
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)};
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class SyncedNotificationsPrivateUpdateNotificationFunction
30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    : public UIThreadExtensionFunction {
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public:
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  SyncedNotificationsPrivateUpdateNotificationFunction();
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DECLARE_EXTENSION_FUNCTION("syncedNotificationsPrivate.updateNotification",
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                             SYNCEDNOTIFICATIONSPRIVATE_UPDATENOTIFICATION);
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected:
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual ~SyncedNotificationsPrivateUpdateNotificationFunction();
38f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  virtual ResponseAction Run() OVERRIDE;
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private:
41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(
42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)      SyncedNotificationsPrivateUpdateNotificationFunction);
43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)};
44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class SyncedNotificationsPrivateSetRenderContextFunction
46f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    : public UIThreadExtensionFunction {
47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public:
48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  SyncedNotificationsPrivateSetRenderContextFunction();
49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DECLARE_EXTENSION_FUNCTION("syncedNotificationsPrivate.setRenderContext",
50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                             SYNCEDNOTIFICATIONSPRIVATE_SETRENDERCONTEXT);
51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected:
53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual ~SyncedNotificationsPrivateSetRenderContextFunction();
54f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  virtual ResponseAction Run() OVERRIDE;
55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private:
57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(SyncedNotificationsPrivateSetRenderContextFunction);
58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)};
59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
60cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace api
61cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace extensions
62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif  // CHROME_BROWSER_EXTENSIONS_API_SYNCED_NOTIFICATIONS_PRIVATE_SYNCED_NOTIFICATIONS_PRIVATE_API_H_
64