• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2012 The Chromium 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 SYNC_JS_JS_BACKEND_H_
6 #define SYNC_JS_JS_BACKEND_H_
7 
8 // See README.js for design comments.
9 
10 #include <string>
11 
12 #include "sync/base/sync_export.h"
13 
14 namespace syncer {
15 
16 class JsEventHandler;
17 template <typename T> class WeakHandle;
18 
19 // Interface representing the backend of chrome://sync-internals.  A
20 // JsBackend can handle messages and can emit events to a
21 // JsEventHandler.
22 class SYNC_EXPORT_PRIVATE JsBackend {
23  public:
24   // Starts emitting events to the given handler, if initialized.
25   virtual void SetJsEventHandler(
26       const WeakHandle<JsEventHandler>& event_handler) = 0;
27 
28  protected:
~JsBackend()29   virtual ~JsBackend() {}
30 };
31 
32 }  // namespace syncer
33 
34 #endif  // SYNC_JS_JS_BACKEND_H_
35