blob: b50e5dc9ab634faabc342eed729be8cf858a84f2 [file] [log] [blame]
// Copyright 2017 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
#include "fxjs/cjx_signaturepseudomodel.h"
#include "fxjs/cfxjse_arguments.h"
#include "fxjs/cfxjse_value.h"
#include "xfa/fxfa/parser/cscript_signaturepseudomodel.h"
const CJX_MethodSpec CJX_SignaturePseudoModel::MethodSpecs[] = {
{"verify", verifySignature_static},
{"sign", sign_static},
{"enumerate", enumerate_static},
{"clear", clear_static},
{"", nullptr}};
CJX_SignaturePseudoModel::CJX_SignaturePseudoModel(
CScript_SignaturePseudoModel* model)
: CJX_Object(model) {
DefineMethods(MethodSpecs);
}
CJX_SignaturePseudoModel::~CJX_SignaturePseudoModel() {}
void CJX_SignaturePseudoModel::verifySignature(CFXJSE_Arguments* pArguments) {
int32_t iLength = pArguments->GetLength();
if (iLength < 1 || iLength > 4) {
ThrowParamCountMismatchException(L"verify");
return;
}
CFXJSE_Value* pValue = pArguments->GetReturnValue();
if (pValue)
pValue->SetInteger(0);
}
void CJX_SignaturePseudoModel::sign(CFXJSE_Arguments* pArguments) {
int32_t iLength = pArguments->GetLength();
if (iLength < 3 || iLength > 7) {
ThrowParamCountMismatchException(L"sign");
return;
}
CFXJSE_Value* pValue = pArguments->GetReturnValue();
if (pValue)
pValue->SetBoolean(false);
}
void CJX_SignaturePseudoModel::enumerate(CFXJSE_Arguments* pArguments) {
if (pArguments->GetLength() != 0) {
ThrowParamCountMismatchException(L"enumerate");
return;
}
return;
}
void CJX_SignaturePseudoModel::clear(CFXJSE_Arguments* pArguments) {
int32_t iLength = pArguments->GetLength();
if (iLength < 1 || iLength > 2) {
ThrowParamCountMismatchException(L"clear");
return;
}
CFXJSE_Value* pValue = pArguments->GetReturnValue();
if (pValue)
pValue->SetBoolean(false);
}