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.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_
8#define FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_
9
10#include <string>  // For std::wstring.
11
12#include "JS_Define.h"
13
14class util : public CJS_EmbedObj
15{
16public:
17	util(CJS_Object * pJSObject);
18	virtual ~util(void);
19
20public:
21	FX_BOOL printd(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
22	FX_BOOL printf(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
23	FX_BOOL printx(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
24	FX_BOOL scand(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
25	FX_BOOL byteToChar(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError);
26
27public:
28	static void		printd(const std::wstring &cFormat,CJS_Date Date,bool bXFAPicture, std::wstring &cPurpose);
29	static void		printx(const std::string &cFormat,const std::string &cSource, std::string &cPurpose);
30	static int		ParstDataType(std::wstring* sFormat);
31};
32
33class CJS_Util : public CJS_Object
34{
35public:
36	CJS_Util(JSFXObject  pObject) : CJS_Object(pObject) {};
37	virtual ~CJS_Util(void){};
38
39	DECLARE_JS_CLASS(CJS_Util);
40
41	JS_STATIC_METHOD(printd, util);
42	JS_STATIC_METHOD(printf, util);
43	JS_STATIC_METHOD(printx, util);
44	JS_STATIC_METHOD(scand, util);
45	JS_STATIC_METHOD(byteToChar, util);
46};
47
48FX_INT64 FX_atoi64(const char *nptr);
49
50#endif  // FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_
51