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