diff options
Diffstat (limited to 'fpdfsdk/include/javascript/JS_Value.h')
-rw-r--r-- | fpdfsdk/include/javascript/JS_Value.h | 218 |
1 files changed, 0 insertions, 218 deletions
diff --git a/fpdfsdk/include/javascript/JS_Value.h b/fpdfsdk/include/javascript/JS_Value.h deleted file mode 100644 index 384e772572..0000000000 --- a/fpdfsdk/include/javascript/JS_Value.h +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright 2014 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#ifndef FPDFSDK_INCLUDE_JAVASCRIPT_JS_VALUE_H_ -#define FPDFSDK_INCLUDE_JAVASCRIPT_JS_VALUE_H_ - -#include "../../../core/include/fxcrt/fx_basic.h" -#include "../jsapi/fxjs_v8.h" - -class CJS_Array; -class CJS_Date; -class CJS_Document; -class CJS_Object; - -class CJS_Value { - public: - enum Type { - VT_unknown, - VT_string, - VT_number, - VT_boolean, - VT_date, - VT_object, - VT_fxobject, - VT_null, - VT_undefined - }; - - CJS_Value(v8::Isolate* isolate); - CJS_Value(v8::Isolate* isolate, v8::Local<v8::Value> pValue, Type t); - CJS_Value(v8::Isolate* isolate, const int& iValue); - CJS_Value(v8::Isolate* isolate, const double& dValue); - CJS_Value(v8::Isolate* isolate, const float& fValue); - CJS_Value(v8::Isolate* isolate, const bool& bValue); - CJS_Value(v8::Isolate* isolate, v8::Local<v8::Object>); - CJS_Value(v8::Isolate* isolate, CJS_Object*); - CJS_Value(v8::Isolate* isolate, CJS_Document*); - CJS_Value(v8::Isolate* isolate, const FX_CHAR* pStr); - CJS_Value(v8::Isolate* isolate, const FX_WCHAR* pWstr); - CJS_Value(v8::Isolate* isolate, CJS_Array& array); - - ~CJS_Value(); - - void SetNull(); - void Attach(v8::Local<v8::Value> pValue, Type t); - void Attach(CJS_Value* pValue); - void Detach(); - - Type GetType() const; - int ToInt() const; - bool ToBool() const; - double ToDouble() const; - float ToFloat() const; - CJS_Object* ToCJSObject() const; - CFX_WideString ToCFXWideString() const; - CFX_ByteString ToCFXByteString() const; - v8::Local<v8::Object> ToV8Object() const; - v8::Local<v8::Array> ToV8Array() const; - v8::Local<v8::Value> ToV8Value() const; - - void operator=(int iValue); - void operator=(bool bValue); - void operator=(double); - void operator=(float); - void operator=(CJS_Object*); - void operator=(CJS_Document*); - void operator=(v8::Local<v8::Object>); - void operator=(CJS_Array&); - void operator=(CJS_Date&); - void operator=(const FX_WCHAR* pWstr); - void operator=(const FX_CHAR* pStr); - void operator=(CJS_Value value); - - FX_BOOL IsArrayObject() const; - FX_BOOL IsDateObject() const; - FX_BOOL ConvertToArray(CJS_Array&) const; - FX_BOOL ConvertToDate(CJS_Date&) const; - - v8::Isolate* GetIsolate() { return m_isolate; } - - protected: - Type m_eType; - v8::Local<v8::Value> m_pValue; - v8::Isolate* m_isolate; -}; - -class CJS_Parameters : public CFX_ArrayTemplate<CJS_Value> { - public: - void push_back(const CJS_Value& newElement) { - CFX_ArrayTemplate<CJS_Value>::Add(newElement); - } - int size() const { return CFX_ArrayTemplate<CJS_Value>::GetSize(); } -}; - -class CJS_PropValue : public CJS_Value { - public: - CJS_PropValue(const CJS_Value&); - CJS_PropValue(v8::Isolate* isolate); - ~CJS_PropValue(); - - public: - FX_BOOL IsSetting(); - FX_BOOL IsGetting(); - void operator<<(int); - void operator>>(int&) const; - void operator<<(bool); - void operator>>(bool&) const; - void operator<<(double); - void operator>>(double&) const; - void operator<<(CJS_Object* pObj); - void operator>>(CJS_Object*& ppObj) const; - void operator<<(CJS_Document* pJsDoc); - void operator>>(CJS_Document*& ppJsDoc) const; - void operator<<(CFX_ByteString); - void operator>>(CFX_ByteString&) const; - void operator<<(CFX_WideString); - void operator>>(CFX_WideString&) const; - void operator<<(const FX_WCHAR* c_string); - void operator<<(v8::Local<v8::Object>); - void operator>>(v8::Local<v8::Object>&) const; - void operator>>(CJS_Array& array) const; - void operator<<(CJS_Array& array); - void operator<<(CJS_Date& date); - void operator>>(CJS_Date& date) const; - operator v8::Local<v8::Value>() const; - void StartSetting(); - void StartGetting(); - - private: - FX_BOOL m_bIsSetting; -}; - -class CJS_Array { - public: - CJS_Array(v8::Isolate* isolate); - virtual ~CJS_Array(); - - void Attach(v8::Local<v8::Array> pArray); - void GetElement(unsigned index, CJS_Value& value); - void SetElement(unsigned index, CJS_Value value); - int GetLength(); - FX_BOOL IsAttached(); - operator v8::Local<v8::Array>(); - - v8::Isolate* GetIsolate() { return m_isolate; } - - private: - v8::Local<v8::Array> m_pArray; - v8::Isolate* m_isolate; -}; - -class CJS_Date { - friend class CJS_Value; - - public: - CJS_Date(v8::Isolate* isolate); - CJS_Date(v8::Isolate* isolate, double dMsec_time); - CJS_Date(v8::Isolate* isolate, - int year, - int mon, - int day, - int hour, - int min, - int sec); - virtual ~CJS_Date(); - void Attach(v8::Local<v8::Value> pDate); - - int GetYear(); - void SetYear(int iYear); - - int GetMonth(); - void SetMonth(int iMonth); - - int GetDay(); - void SetDay(int iDay); - - int GetHours(); - void SetHours(int iHours); - - int GetMinutes(); - void SetMinutes(int minutes); - - int GetSeconds(); - void SetSeconds(int seconds); - - operator v8::Local<v8::Value>(); - operator double() const; - - CFX_WideString ToString() const; - - static double - MakeDate(int year, int mon, int mday, int hour, int min, int sec, int ms); - - FX_BOOL IsValidDate(); - - protected: - v8::Local<v8::Value> m_pDate; - v8::Isolate* m_isolate; -}; - -double JS_GetDateTime(); -int JS_GetYearFromTime(double dt); -int JS_GetMonthFromTime(double dt); -int JS_GetDayFromTime(double dt); -int JS_GetHourFromTime(double dt); -int JS_GetMinFromTime(double dt); -int JS_GetSecFromTime(double dt); -double JS_DateParse(const wchar_t* string); -double JS_MakeDay(int nYear, int nMonth, int nDay); -double JS_MakeTime(int nHour, int nMin, int nSec, int nMs); -double JS_MakeDate(double day, double time); -bool JS_PortIsNan(double d); -double JS_LocalTime(double d); - -#endif // FPDFSDK_INCLUDE_JAVASCRIPT_JS_VALUE_H_ |