diff options
Diffstat (limited to 'fpdfsdk/include/javascript/global.h')
-rw-r--r-- | fpdfsdk/include/javascript/global.h | 133 |
1 files changed, 69 insertions, 64 deletions
diff --git a/fpdfsdk/include/javascript/global.h b/fpdfsdk/include/javascript/global.h index 83e07f67c3..303ac76a3e 100644 --- a/fpdfsdk/include/javascript/global.h +++ b/fpdfsdk/include/javascript/global.h @@ -13,77 +13,82 @@ class CJS_GlobalData; class CJS_GlobalVariableArray; class CJS_KeyValue; -struct js_global_data -{ - js_global_data() - { - nType = 0; - dData = 0; - bData = FALSE; - sData = ""; - bPersistent = FALSE; - bDeleted = FALSE; - } - - ~js_global_data() - { - pData.Reset(); - } - int nType; //0:int 1:bool 2:string 3:obj - double dData; - bool bData; - CFX_ByteString sData; - v8::Global<v8::Object> pData; - bool bPersistent; - bool bDeleted; +struct js_global_data { + js_global_data() { + nType = 0; + dData = 0; + bData = FALSE; + sData = ""; + bPersistent = FALSE; + bDeleted = FALSE; + } + + ~js_global_data() { pData.Reset(); } + int nType; // 0:int 1:bool 2:string 3:obj + double dData; + bool bData; + CFX_ByteString sData; + v8::Global<v8::Object> pData; + bool bPersistent; + bool bDeleted; }; -class global_alternate : public CJS_EmbedObj -{ -public: - global_alternate(CJS_Object* pJSObject); - virtual ~global_alternate(); - -public: - FX_BOOL setPersistent(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError); - -public: - FX_BOOL QueryProperty(const FX_WCHAR* propname); - FX_BOOL DoProperty(IFXJS_Context* cc, const FX_WCHAR* propname, CJS_PropValue & vp, CFX_WideString & sError); - FX_BOOL DelProperty(IFXJS_Context* cc, const FX_WCHAR* propname, CFX_WideString & sError); - - void Initial(CPDFDoc_Environment* pApp); - -private: - void UpdateGlobalPersistentVariables(); - void CommitGlobalPersisitentVariables(); - void DestroyGlobalPersisitentVariables(); - FX_BOOL SetGlobalVariables(const FX_CHAR* propname, int nType, - double dData, bool bData, const CFX_ByteString& sData, JSObject pData, bool bDefaultPersistent); - - void ObjectToArray(v8::Local<v8::Object> pObj, CJS_GlobalVariableArray& array); - void PutObjectProperty(v8::Local<v8::Object> obj, CJS_KeyValue* pData); - -private: - CFX_MapByteStringToPtr m_mapGlobal; - CFX_WideString m_sFilePath; - CJS_GlobalData* m_pGlobalData; - CPDFDoc_Environment* m_pApp; +class global_alternate : public CJS_EmbedObj { + public: + global_alternate(CJS_Object* pJSObject); + virtual ~global_alternate(); + + public: + FX_BOOL setPersistent(IFXJS_Context* cc, + const CJS_Parameters& params, + CJS_Value& vRet, + CFX_WideString& sError); + + public: + FX_BOOL QueryProperty(const FX_WCHAR* propname); + FX_BOOL DoProperty(IFXJS_Context* cc, + const FX_WCHAR* propname, + CJS_PropValue& vp, + CFX_WideString& sError); + FX_BOOL DelProperty(IFXJS_Context* cc, + const FX_WCHAR* propname, + CFX_WideString& sError); + + void Initial(CPDFDoc_Environment* pApp); + + private: + void UpdateGlobalPersistentVariables(); + void CommitGlobalPersisitentVariables(); + void DestroyGlobalPersisitentVariables(); + FX_BOOL SetGlobalVariables(const FX_CHAR* propname, + int nType, + double dData, + bool bData, + const CFX_ByteString& sData, + JSObject pData, + bool bDefaultPersistent); + + void ObjectToArray(v8::Local<v8::Object> pObj, + CJS_GlobalVariableArray& array); + void PutObjectProperty(v8::Local<v8::Object> obj, CJS_KeyValue* pData); + + private: + CFX_MapByteStringToPtr m_mapGlobal; + CFX_WideString m_sFilePath; + CJS_GlobalData* m_pGlobalData; + CPDFDoc_Environment* m_pApp; }; +class CJS_Global : public CJS_Object { + public: + CJS_Global(JSFXObject pObject) : CJS_Object(pObject){}; + virtual ~CJS_Global(void){}; -class CJS_Global : public CJS_Object -{ -public: - CJS_Global(JSFXObject pObject) : CJS_Object(pObject) {}; - virtual ~CJS_Global(void){}; + virtual FX_BOOL InitInstance(IFXJS_Context* cc); - virtual FX_BOOL InitInstance(IFXJS_Context* cc); - - DECLARE_SPECIAL_JS_CLASS(CJS_Global); - - JS_SPECIAL_STATIC_METHOD(setPersistent, global_alternate, global); + DECLARE_SPECIAL_JS_CLASS(CJS_Global); + JS_SPECIAL_STATIC_METHOD(setPersistent, global_alternate, global); }; #endif // FPDFSDK_INCLUDE_JAVASCRIPT_GLOBAL_H_ |