46 lines
1 KiB
C++
46 lines
1 KiB
C++
// 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_
|