Merge to XFA: Fix (nearly all) IWYU in fpdfskd/include/javascript/ headers.
[pdfium.git] / fpdfsdk / include / javascript / util.h
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 _UTIL_H_
8 #define _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:
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
48 FX_INT64 FX_atoi64(const char *nptr);
49 #endif //_UTIL_H_