You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.0 KiB
46 lines
1.0 KiB
// 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/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_
|
|
|