Add FX_OVERRIDE and use it for virtual functions of FX_FINAL classes.
[pdfium.git] / fpdfsdk / include / javascript / global.h
index 7effd57..f5867c5 100644 (file)
@@ -1,85 +1,85 @@
-// Copyright 2014 PDFium Authors. All rights reserved.\r
-// Use of this source code is governed by a BSD-style license that can be\r
-// found in the LICENSE file.\r
\r
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
-\r
-#ifndef _GLOBAL_H_\r
-#define _GLOBAL_H_\r
-\r
-class CJS_GlobalData;\r
-\r
-struct js_global_data\r
-{\r
-       js_global_data()\r
-       {\r
-               nType = 0;\r
-               dData = 0;\r
-               bData = FALSE;\r
-               sData = "";\r
-               bPersistent = FALSE;\r
-               bDeleted = FALSE;\r
-       }\r
-\r
-       ~js_global_data()\r
-       {\r
-               pData.Reset();\r
-       }\r
-       int                                     nType; //0:int 1:bool 2:string 3:obj\r
-       double                          dData;\r
-       bool                            bData;\r
-       CFX_ByteString          sData;\r
-       v8::Persistent<v8::Object>  pData;\r
-       bool                            bPersistent;\r
-       bool                            bDeleted;\r
-};\r
-\r
-class global_alternate : public CJS_EmbedObj\r
-{\r
-public:\r
-       global_alternate(CJS_Object* pJSObject);\r
-       virtual ~global_alternate();\r
-\r
-public:\r
-       FX_BOOL                                         setPersistent(OBJ_METHOD_PARAMS);\r
-\r
-public:\r
-       FX_BOOL                                         QueryProperty(FX_LPCWSTR propname);\r
-       FX_BOOL                                         DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS_PropValue & vp, JS_ErrorString & sError);\r
-       FX_BOOL                                         DelProperty(IFXJS_Context* cc, FX_LPCWSTR propname, JS_ErrorString & sError);\r
-\r
-       void                                            Initial(CPDFDoc_Environment* pApp);\r
-\r
-private:\r
-       void                                            UpdateGlobalPersistentVariables();\r
-       void                                            CommitGlobalPersisitentVariables();\r
-       void                                            DestroyGlobalPersisitentVariables();\r
-       FX_BOOL                                         SetGlobalVariables(FX_LPCSTR propname, int nType, \r
-                                                                       double dData, bool bData, const CFX_ByteString& sData, JSObject pData, bool bDefaultPersistent);\r
-\r
-       void                                            ObjectToArray(v8::Handle<v8::Object> pObj, CJS_GlobalVariableArray& array);\r
-       void                                            PutObjectProperty(v8::Handle<v8::Object> obj, CJS_KeyValue* pData);\r
-\r
-private:\r
-       CFX_MapByteStringToPtr          m_mapGlobal;\r
-       CFX_WideString                          m_sFilePath;\r
-       CJS_GlobalData*                         m_pGlobalData;\r
-       CPDFDoc_Environment*                            m_pApp;\r
-};\r
-\r
-\r
-class CJS_Global : public CJS_Object\r
-{\r
-public:\r
-       CJS_Global(JSFXObject pObject) : CJS_Object(pObject) {};\r
-       virtual ~CJS_Global(void){};\r
-\r
-       virtual FX_BOOL InitInstance(IFXJS_Context* cc);        \r
-\r
-       DECLARE_SPECIAL_JS_CLASS(CJS_Global);\r
-\r
-       JS_SPECIAL_STATIC_METHOD(setPersistent, global_alternate, global);\r
-\r
-};\r
-\r
-#endif //_GLOBAL_H_\r
+// 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_