14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 24d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 34d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// found in the LICENSE file. 44d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 54d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 64d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 74d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifndef FPDFSDK_JAVASCRIPT_UTIL_H_ 84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define FPDFSDK_JAVASCRIPT_UTIL_H_ 94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include <string> 114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include <vector> 124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "fpdfsdk/javascript/JS_Define.h" 144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannclass util : public CJS_EmbedObj { 164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann public: 174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann explicit util(CJS_Object* pJSObject); 184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ~util() override; 194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 205ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann bool printd(CJS_Runtime* pRuntime, 214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann const std::vector<CJS_Value>& params, 224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CJS_Value& vRet, 234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_WideString& sError); 245ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann bool printf(CJS_Runtime* pRuntime, 254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann const std::vector<CJS_Value>& params, 264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CJS_Value& vRet, 274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_WideString& sError); 285ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann bool printx(CJS_Runtime* pRuntime, 294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann const std::vector<CJS_Value>& params, 304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CJS_Value& vRet, 314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_WideString& sError); 325ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann bool scand(CJS_Runtime* pRuntime, 334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann const std::vector<CJS_Value>& params, 344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CJS_Value& vRet, 354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_WideString& sError); 365ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann bool byteToChar(CJS_Runtime* pRuntime, 374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann const std::vector<CJS_Value>& params, 384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CJS_Value& vRet, 394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_WideString& sError); 404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static CFX_WideString printx(const CFX_WideString& cFormat, 424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann const CFX_WideString& cSource); 434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannclass CJS_Util : public CJS_Object { 464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann public: 474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann explicit CJS_Util(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {} 484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ~CJS_Util() override {} 494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann DECLARE_JS_CLASS(); 514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann JS_STATIC_METHOD(printd, util); 534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann JS_STATIC_METHOD(printf, util); 544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann JS_STATIC_METHOD(printx, util); 554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann JS_STATIC_METHOD(scand, util); 564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann JS_STATIC_METHOD(byteToChar, util); 574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif // FPDFSDK_JAVASCRIPT_UTIL_H_ 60