Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / sync / js / js_backend.h
bloba0ef317ba6f77f04dd98364560ce4f8202235059
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.
5 #ifndef SYNC_JS_JS_BACKEND_H_
6 #define SYNC_JS_JS_BACKEND_H_
8 // See README.js for design comments.
10 #include <string>
12 #include "sync/base/sync_export.h"
14 namespace syncer {
16 class JsEventHandler;
17 template <typename T> class WeakHandle;
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;
28 protected:
29 virtual ~JsBackend() {}
32 } // namespace syncer
34 #endif // SYNC_JS_JS_BACKEND_H_