• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
14 class util : public CJS_EmbedObj
15 {
16 public:
17 	util(CJS_Object * pJSObject);
18 	virtual ~util(void);
19 
20 public:
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 
27 public:
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 
33 class CJS_Util : public CJS_Object
34 {
35 public:
CJS_Util(JSFXObject pObject)36 	CJS_Util(JSFXObject  pObject) : CJS_Object(pObject) {};
~CJS_Util(void)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 
48 FX_INT64 FX_atoi64(const char *nptr);
49 
50 #endif  // FPDFSDK_INCLUDE_JAVASCRIPT_UTIL_H_
51