OLD | NEW |
| (Empty) |
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 REMOTING_HOST_PLUGIN_HOST_LOG_HANDLER_H_ | |
6 #define REMOTING_HOST_PLUGIN_HOST_LOG_HANDLER_H_ | |
7 | |
8 #include <string> | |
9 | |
10 namespace remoting { | |
11 | |
12 class HostNPScriptObject; | |
13 | |
14 class HostLogHandler { | |
15 public: | |
16 // Register the log handler. | |
17 // These should be called from the plugin init/destroy methods so that they | |
18 // are only called once per plugin process (not once per plugin instance). | |
19 static void RegisterLogMessageHandler(); | |
20 | |
21 // We don't have the corresponding UnregisterLogMessageHandler because it | |
22 // is not safe to call it when there are multiple threads that might be | |
23 // logging. | |
24 | |
25 static void RegisterLoggingScriptObject(HostNPScriptObject* script_object); | |
26 static void UnregisterLoggingScriptObject(HostNPScriptObject* script_object); | |
27 | |
28 private: | |
29 // A Log Message Handler that is called after each LOG message has been | |
30 // processed. This must be of type LogMessageHandlerFunction defined in | |
31 // base/logging.h. | |
32 static bool LogToUI(int severity, const char* file, int line, | |
33 size_t message_start, const std::string& str); | |
34 }; | |
35 | |
36 } // namespace remoting | |
37 | |
38 #endif // REMOTING_HOST_PLUGIN_HOST_LOG_HANDLER_H_ | |
OLD | NEW |