#include "fxjs/cfx_globaldata.h"
#include <utility>
#include "core/fdrm/fx_crypt.h"
#include "core/fxcrt/fx_memcpy_wrappers.h"
#include "core/fxcrt/numerics/safe_conversions.h"
#include "core/fxcrt/stl_util.h"
namespace {
constexpr size_t kMinGlobalDataBytes = …;
constexpr size_t kMaxGlobalDataBytes = …;
constexpr uint16_t kMagic = …;
constexpr uint16_t kMaxVersion = …;
const uint8_t kRC4KEY[] = …;
CFX_GlobalData* g_pInstance = …;
bool TrimPropName(ByteString* sPropName) { … }
void MakeNameTypeString(const ByteString& name,
CFX_Value::DataType eType,
BinaryBuffer* result) { … }
bool MakeByteString(const ByteString& name,
const CFX_KeyValue& pData,
BinaryBuffer* result) { … }
}
CFX_GlobalData* CFX_GlobalData::GetRetainedInstance(Delegate* pDelegate) { … }
bool CFX_GlobalData::Release() { … }
CFX_GlobalData::CFX_GlobalData(Delegate* pDelegate) : … { … }
CFX_GlobalData::~CFX_GlobalData() { … }
CFX_GlobalData::iterator CFX_GlobalData::FindGlobalVariable(
const ByteString& propname) { … }
CFX_GlobalData::Element* CFX_GlobalData::GetGlobalVariable(
const ByteString& propname) { … }
void CFX_GlobalData::SetGlobalVariableNumber(ByteString sPropName,
double dData) { … }
void CFX_GlobalData::SetGlobalVariableBoolean(ByteString sPropName,
bool bData) { … }
void CFX_GlobalData::SetGlobalVariableString(ByteString sPropName,
const ByteString& sData) { … }
void CFX_GlobalData::SetGlobalVariableObject(
ByteString sPropName,
std::vector<std::unique_ptr<CFX_KeyValue>> array) { … }
void CFX_GlobalData::SetGlobalVariableNull(ByteString sPropName) { … }
bool CFX_GlobalData::SetGlobalVariablePersistent(ByteString sPropName,
bool bPersistent) { … }
bool CFX_GlobalData::DeleteGlobalVariable(ByteString sPropName) { … }
int32_t CFX_GlobalData::GetSize() const { … }
CFX_GlobalData::Element* CFX_GlobalData::GetAt(int index) { … }
bool CFX_GlobalData::LoadGlobalPersistentVariables() { … }
bool CFX_GlobalData::LoadGlobalPersistentVariablesFromBuffer(
pdfium::span<uint8_t> buffer) { … }
bool CFX_GlobalData::SaveGlobalPersisitentVariables() { … }
CFX_GlobalData::Element::Element() = default;
CFX_GlobalData::Element::~Element() = default;