[email protected] | f92351d | 2011-02-01 07:42:12 | [diff] [blame] | 1 | // 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 | |||||
13 | namespace browser_sync { | ||||
14 | |||||
15 | class JsArgList; | ||||
[email protected] | ec5263a | 2011-05-10 09:23:39 | [diff] [blame^] | 16 | class JsEventDetails; |
[email protected] | f92351d | 2011-02-01 07:42:12 | [diff] [blame] | 17 | |
18 | // An interface for objects that handle Javascript events (e.g., | ||||
19 | // WebUIs). | ||||
20 | class JsEventHandler { | ||||
21 | public: | ||||
22 | virtual void HandleJsEvent( | ||||
[email protected] | ec5263a | 2011-05-10 09:23:39 | [diff] [blame^] | 23 | const std::string& name, const JsEventDetails& details) = 0; |
[email protected] | f92351d | 2011-02-01 07:42:12 | [diff] [blame] | 24 | |
[email protected] | 1b21a1d | 2011-05-06 00:01:24 | [diff] [blame] | 25 | virtual void HandleJsMessageReply( |
26 | const std::string& name, const JsArgList& args) = 0; | ||||
27 | |||||
[email protected] | f92351d | 2011-02-01 07:42:12 | [diff] [blame] | 28 | protected: |
29 | virtual ~JsEventHandler() {} | ||||
30 | }; | ||||
31 | |||||
32 | } // namespace browser_sync | ||||
33 | |||||
34 | #endif // CHROME_BROWSER_SYNC_JS_EVENT_HANDLER_H_ |