// Copyright 2016 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_JAVASCRIPT_JS_KEYVALUE_H_ #define FPDFSDK_JAVASCRIPT_JS_KEYVALUE_H_ #include <memory> #include <vector> #include "core/fxcrt/include/fx_basic.h" enum class JS_GlobalDataType { NUMBER = 0, BOOLEAN, STRING, OBJECT, NULLOBJ }; class CJS_KeyValue; class CJS_GlobalVariableArray { public: CJS_GlobalVariableArray(); ~CJS_GlobalVariableArray(); void Add(CJS_KeyValue* p); int Count() const; CJS_KeyValue* GetAt(int index) const; void Copy(const CJS_GlobalVariableArray& array); private: std::vector<std::unique_ptr<CJS_KeyValue>> m_Array; }; class CJS_KeyValue { public: CJS_KeyValue(); ~CJS_KeyValue(); CFX_ByteString sKey; JS_GlobalDataType nType; double dData; bool bData; CFX_ByteString sData; CJS_GlobalVariableArray objData; }; #endif // FPDFSDK_JAVASCRIPT_JS_KEYVALUE_H_