diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-10-30 20:24:14 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-10-30 20:24:14 +0000 |
commit | a3254627c664e2b88f48f1d6dd856503ab8742b3 (patch) | |
tree | 427a2b6dddb490f379ba83bf9fdacd51c4673e3a /fxjs/cjs_globaldata.h | |
parent | e0345a4aecfd16264d393234cf8fe22250d771fe (diff) | |
download | pdfium-a3254627c664e2b88f48f1d6dd856503ab8742b3.tar.xz |
Rename global data files to match contents
This CL renames the files related to Javascript global data to match
their file contents.
Change-Id: I65a6191968656b5e89c9eb6edb2ea9f9db92875a
Reviewed-on: https://pdfium-review.googlesource.com/17090
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fxjs/cjs_globaldata.h')
-rw-r--r-- | fxjs/cjs_globaldata.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/fxjs/cjs_globaldata.h b/fxjs/cjs_globaldata.h new file mode 100644 index 0000000000..b9a4b2123e --- /dev/null +++ b/fxjs/cjs_globaldata.h @@ -0,0 +1,77 @@ +// 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 FXJS_CJS_GLOBALDATA_H_ +#define FXJS_CJS_GLOBALDATA_H_ + +#include <memory> +#include <vector> + +#include "core/fxcrt/cfx_binarybuf.h" +#include "fxjs/cjs_keyvalue.h" + +class CPDFSDK_FormFillEnvironment; + +class CJS_GlobalData_Element { + public: + CJS_GlobalData_Element() {} + ~CJS_GlobalData_Element() {} + + CJS_KeyValue data; + bool bPersistent; +}; + +class CJS_GlobalData { + public: + static CJS_GlobalData* GetRetainedInstance(CPDFSDK_FormFillEnvironment* pApp); + void Release(); + + void SetGlobalVariableNumber(const ByteString& propname, double dData); + void SetGlobalVariableBoolean(const ByteString& propname, bool bData); + void SetGlobalVariableString(const ByteString& propname, + const ByteString& sData); + void SetGlobalVariableObject(const ByteString& propname, + const CJS_GlobalVariableArray& array); + void SetGlobalVariableNull(const ByteString& propname); + bool SetGlobalVariablePersistent(const ByteString& propname, + bool bPersistent); + bool DeleteGlobalVariable(const ByteString& propname); + + int32_t GetSize() const; + CJS_GlobalData_Element* GetAt(int index) const; + + private: + using iterator = + std::vector<std::unique_ptr<CJS_GlobalData_Element>>::iterator; + using const_iterator = + std::vector<std::unique_ptr<CJS_GlobalData_Element>>::const_iterator; + + CJS_GlobalData(); + ~CJS_GlobalData(); + + void LoadGlobalPersistentVariables(); + void SaveGlobalPersisitentVariables(); + + CJS_GlobalData_Element* GetGlobalVariable(const ByteString& sPropname); + iterator FindGlobalVariable(const ByteString& sPropname); + const_iterator FindGlobalVariable(const ByteString& sPropname) const; + + void LoadFileBuffer(const wchar_t* sFilePath, + uint8_t*& pBuffer, + int32_t& nLength); + void WriteFileBuffer(const wchar_t* sFilePath, + const char* pBuffer, + int32_t nLength); + void MakeByteString(const ByteString& name, + CJS_KeyValue* pData, + CFX_BinaryBuf& sData); + + size_t m_RefCount; + std::vector<std::unique_ptr<CJS_GlobalData_Element>> m_arrayGlobalData; + WideString m_sFilePath; +}; + +#endif // FXJS_CJS_GLOBALDATA_H_ |