Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(691)

Side by Side Diff: ppapi/native_client/src/trusted/plugin/utility.h

Issue 876483002: NaCl: Move src/trusted/plugin/ to components/nacl/renderer/plugin/ (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Update #include guards Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
7 // A collection of debugging related interfaces.
8
9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_UTILITY_H_
10 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_UTILITY_H_
11
12 #include "native_client/src/include/nacl_macros.h"
13 #include "native_client/src/include/portability.h"
14 #include "native_client/src/shared/platform/nacl_threads.h"
15 #include "native_client/src/shared/platform/nacl_time.h"
16 #include "ppapi/c/private/pp_file_handle.h"
17 #include "ppapi/c/private/ppb_nacl_private.h"
18
19 #define SRPC_PLUGIN_DEBUG 1
20
21 namespace plugin {
22
23 // Tests that a string is a valid JavaScript identifier. According to the
24 // ECMAScript spec, this should be done in terms of unicode character
25 // categories. For now, we are simply limiting identifiers to the ASCII
26 // subset of that spec. If successful, it returns the length of the
27 // identifier in the location pointed to by length (if it is not NULL).
28 // TODO(sehr): add Unicode identifier support.
29 bool IsValidIdentifierString(const char* strval, uint32_t* length);
30
31 const PPB_NaCl_Private* GetNaClInterface();
32 void SetNaClInterface(const PPB_NaCl_Private* nacl_interface);
33
34 void CloseFileHandle(PP_FileHandle file_handle);
35
36 // Converts a PP_FileHandle to a POSIX file descriptor.
37 int32_t ConvertFileDescriptor(PP_FileHandle handle, bool read_only);
38
39 // Debugging print utility
40 extern int gNaClPluginDebugPrintEnabled;
41 extern int NaClPluginPrintLog(const char *format, ...);
42 extern int NaClPluginDebugPrintCheckEnv();
43 #if SRPC_PLUGIN_DEBUG
44 #define INIT_PLUGIN_LOGGING() do { \
45 if (-1 == ::plugin::gNaClPluginDebugPrintEnabled) { \
46 ::plugin::gNaClPluginDebugPrintEnabled = \
47 ::plugin::NaClPluginDebugPrintCheckEnv(); \
48 } \
49 } while (0)
50
51 #define PLUGIN_PRINTF(args) do { \
52 INIT_PLUGIN_LOGGING(); \
53 if (0 != ::plugin::gNaClPluginDebugPrintEnabled) { \
54 ::plugin::NaClPluginPrintLog("PLUGIN %" NACL_PRIu64 ": ", \
55 NaClGetTimeOfDayMicroseconds()); \
56 ::plugin::NaClPluginPrintLog args; \
57 } \
58 } while (0)
59
60 // MODULE_PRINTF is used in the module because PLUGIN_PRINTF uses a
61 // a timer that may not yet be initialized.
62 #define MODULE_PRINTF(args) do { \
63 INIT_PLUGIN_LOGGING(); \
64 if (0 != ::plugin::gNaClPluginDebugPrintEnabled) { \
65 ::plugin::NaClPluginPrintLog("MODULE: "); \
66 ::plugin::NaClPluginPrintLog args; \
67 } \
68 } while (0)
69 #else
70 # define PLUGIN_PRINTF(args) do { if (0) { printf args; } } while (0)
71 # define MODULE_PRINTF(args) do { if (0) { printf args; } } while (0)
72 /* allows DCE but compiler can still do format string checks */
73 #endif
74
75 } // namespace plugin
76
77 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_UTILITY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698