1 // Copyright 2014 PDFium 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.
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
7 #ifndef FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_
8 #define FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_
10 #include <string> // For std::wstring.
12 #include "JS_Define.h"
14 class util : public CJS_EmbedObj {
16 util(CJS_Object* pJSObject);
20 FX_BOOL printd(IFXJS_Context* cc,
21 const CJS_Parameters& params,
23 CFX_WideString& sError);
24 FX_BOOL printf(IFXJS_Context* cc,
25 const CJS_Parameters& params,
27 CFX_WideString& sError);
28 FX_BOOL printx(IFXJS_Context* cc,
29 const CJS_Parameters& params,
31 CFX_WideString& sError);
32 FX_BOOL scand(IFXJS_Context* cc,
33 const CJS_Parameters& params,
35 CFX_WideString& sError);
36 FX_BOOL byteToChar(IFXJS_Context* cc,
37 const CJS_Parameters& params,
39 CFX_WideString& sError);
42 static void printd(const std::wstring& cFormat,
45 std::wstring& cPurpose);
46 static void printx(const std::string& cFormat,
47 const std::string& cSource,
48 std::string& cPurpose);
49 static int ParstDataType(std::wstring* sFormat);
52 class CJS_Util : public CJS_Object {
54 CJS_Util(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {}
55 ~CJS_Util() override {}
57 DECLARE_JS_CLASS(CJS_Util);
59 JS_STATIC_METHOD(printd, util);
60 JS_STATIC_METHOD(printf, util);
61 JS_STATIC_METHOD(printx, util);
62 JS_STATIC_METHOD(scand, util);
63 JS_STATIC_METHOD(byteToChar, util);
66 int64_t FX_atoi64(const char* nptr);
68 #endif // FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_