blob: 9a16e6518852e98464ba3a2df2166b0535477bcf [file] [log] [blame]
[email protected]f92351d2011-02-01 07:42:121// Copyright (c) 2011 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 CHROME_BROWSER_SYNC_JS_EVENT_HANDLER_H_
6#define CHROME_BROWSER_SYNC_JS_EVENT_HANDLER_H_
7#pragma once
8
9// See README.js for design comments.
10
11#include <string>
12
13namespace browser_sync {
14
15class JsArgList;
[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).
20class JsEventHandler {
21 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]1b21a1d2011-05-06 00:01:2425 virtual void HandleJsMessageReply(
26 const std::string& name, const JsArgList& args) = 0;
27
[email protected]f92351d2011-02-01 07:42:1228 protected:
29 virtual ~JsEventHandler() {}
30};
31
32} // namespace browser_sync
33
34#endif // CHROME_BROWSER_SYNC_JS_EVENT_HANDLER_H_