blob: 2e2213efefbbbb30932a81c28e16a20ccbfcc5f7 [file] [log] [blame]
[email protected]aa166d02012-12-11 23:47:421// Copyright 2012 The Chromium Authors. All rights reserved.
[email protected]f92351d2011-02-01 07:42:122// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]c1c32c82012-03-15 09:35:425#ifndef SYNC_JS_JS_EVENT_HANDLER_H_
6#define SYNC_JS_JS_EVENT_HANDLER_H_
[email protected]f92351d2011-02-01 07:42:127
8// See README.js for design comments.
9
10#include <string>
11
[email protected]aa166d02012-12-11 23:47:4212#include "sync/base/sync_export.h"
13
[email protected]65f173552012-06-28 22:43:5814namespace syncer {
[email protected]f92351d2011-02-01 07:42:1215
[email protected]ec5263a2011-05-10 09:23:3916class JsEventDetails;
[email protected]f92351d2011-02-01 07:42:1217
18// An interface for objects that handle Javascript events (e.g.,
19// WebUIs).
[email protected]aa166d02012-12-11 23:47:4220class SYNC_EXPORT JsEventHandler {
[email protected]f92351d2011-02-01 07:42:1221 public:
22 virtual void HandleJsEvent(
[email protected]ec5263a2011-05-10 09:23:3923 const std::string& name, const JsEventDetails& details) = 0;
[email protected]f92351d2011-02-01 07:42:1224
[email protected]f92351d2011-02-01 07:42:1225 protected:
26 virtual ~JsEventHandler() {}
27};
28
[email protected]65f173552012-06-28 22:43:5829} // namespace syncer
[email protected]f92351d2011-02-01 07:42:1230
[email protected]c1c32c82012-03-15 09:35:4231#endif // SYNC_JS_JS_EVENT_HANDLER_H_