diff options
Diffstat (limited to 'fpdfsdk/include/javascript/global.h')
-rw-r--r-- | fpdfsdk/include/javascript/global.h | 170 |
1 files changed, 85 insertions, 85 deletions
diff --git a/fpdfsdk/include/javascript/global.h b/fpdfsdk/include/javascript/global.h index 7effd574a0..f5867c50f8 100644 --- a/fpdfsdk/include/javascript/global.h +++ b/fpdfsdk/include/javascript/global.h @@ -1,85 +1,85 @@ -// 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 _GLOBAL_H_
-#define _GLOBAL_H_
-
-class CJS_GlobalData;
-
-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::Persistent<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(OBJ_METHOD_PARAMS);
-
-public:
- FX_BOOL QueryProperty(FX_LPCWSTR propname);
- FX_BOOL DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS_PropValue & vp, JS_ErrorString & sError);
- FX_BOOL DelProperty(IFXJS_Context* cc, FX_LPCWSTR propname, JS_ErrorString & sError);
-
- void Initial(CPDFDoc_Environment* pApp);
-
-private:
- void UpdateGlobalPersistentVariables();
- void CommitGlobalPersisitentVariables();
- void DestroyGlobalPersisitentVariables();
- FX_BOOL SetGlobalVariables(FX_LPCSTR propname, int nType,
- double dData, bool bData, const CFX_ByteString& sData, JSObject pData, bool bDefaultPersistent);
-
- void ObjectToArray(v8::Handle<v8::Object> pObj, CJS_GlobalVariableArray& array);
- void PutObjectProperty(v8::Handle<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){};
-
- virtual FX_BOOL InitInstance(IFXJS_Context* cc);
-
- DECLARE_SPECIAL_JS_CLASS(CJS_Global);
-
- JS_SPECIAL_STATIC_METHOD(setPersistent, global_alternate, global);
-
-};
-
-#endif //_GLOBAL_H_
+// 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 _GLOBAL_H_ +#define _GLOBAL_H_ + +class CJS_GlobalData; + +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::Persistent<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(OBJ_METHOD_PARAMS); + +public: + FX_BOOL QueryProperty(FX_LPCWSTR propname); + FX_BOOL DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS_PropValue & vp, JS_ErrorString & sError); + FX_BOOL DelProperty(IFXJS_Context* cc, FX_LPCWSTR propname, JS_ErrorString & sError); + + void Initial(CPDFDoc_Environment* pApp); + +private: + void UpdateGlobalPersistentVariables(); + void CommitGlobalPersisitentVariables(); + void DestroyGlobalPersisitentVariables(); + FX_BOOL SetGlobalVariables(FX_LPCSTR propname, int nType, + double dData, bool bData, const CFX_ByteString& sData, JSObject pData, bool bDefaultPersistent); + + void ObjectToArray(v8::Handle<v8::Object> pObj, CJS_GlobalVariableArray& array); + void PutObjectProperty(v8::Handle<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){}; + + virtual FX_BOOL InitInstance(IFXJS_Context* cc); + + DECLARE_SPECIAL_JS_CLASS(CJS_Global); + + JS_SPECIAL_STATIC_METHOD(setPersistent, global_alternate, global); + +}; + +#endif //_GLOBAL_H_ |