blob: 806cd75fbd778078941fbbfce816dc78a8f729df [file] [log] [blame]
Dan Sinclairf4736722017-11-27 18:10:47 +00001// Copyright 2017 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#include "xfa/fxfa/parser/cxfa_encryptionmethods.h"
8
Tom Sepez148c1442019-01-25 18:56:26 +00009#include "fxjs/xfa/cjx_node.h"
10#include "third_party/base/ptr_util.h"
11
Dan Sinclairf4736722017-11-27 18:10:47 +000012namespace {
13
Lei Zhangec7d8e22018-02-07 19:57:25 +000014const CXFA_Node::AttributeData kEncryptionMethodsAttributeData[] = {
Dan Sinclair21b08272017-11-30 20:22:20 +000015 {XFA_Attribute::Id, XFA_AttributeType::CData, nullptr},
16 {XFA_Attribute::Use, XFA_AttributeType::CData, nullptr},
Dan Sinclair5fda35f2017-11-30 20:21:00 +000017 {XFA_Attribute::Type, XFA_AttributeType::Enum,
Tom Sepez1498ab82018-12-06 17:56:28 +000018 (void*)XFA_AttributeValue::Optional},
Dan Sinclair21b08272017-11-30 20:22:20 +000019 {XFA_Attribute::Usehref, XFA_AttributeType::CData, nullptr},
Tom Sepeza8c86c22019-01-25 22:06:03 +000020};
Dan Sinclairf4736722017-11-27 18:10:47 +000021
Dan Sinclairf4736722017-11-27 18:10:47 +000022} // namespace
23
24CXFA_EncryptionMethods::CXFA_EncryptionMethods(CXFA_Document* doc,
Dan Sinclairc40c5aa2017-11-30 21:29:11 +000025 XFA_PacketType packet)
Dan Sinclairf4736722017-11-27 18:10:47 +000026 : CXFA_Node(doc,
27 packet,
28 (XFA_XDPPACKET_Template | XFA_XDPPACKET_Form),
29 XFA_ObjectType::Node,
30 XFA_Element::EncryptionMethods,
Tom Sepezc0fa5f62019-01-25 20:07:27 +000031 {},
Tom Sepez148c1442019-01-25 18:56:26 +000032 kEncryptionMethodsAttributeData,
33 pdfium::MakeUnique<CJX_Node>(this)) {}
Dan Sinclairf4736722017-11-27 18:10:47 +000034
Tom Sepez7fc43dd2018-12-13 17:54:26 +000035CXFA_EncryptionMethods::~CXFA_EncryptionMethods() = default;