1 // Copyright 2017 The PDFium Authors
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_connect.h"
8
9 #include "fxjs/xfa/cjx_node.h"
10 #include "xfa/fxfa/parser/cxfa_document.h"
11
12 namespace {
13
14 const CXFA_Node::PropertyData kConnectPropertyData[] = {
15 {XFA_Element::Picture, 1, {}},
16 {XFA_Element::ConnectString, 1, {}},
17 {XFA_Element::User, 1, {}},
18 {XFA_Element::Password, 1, {}},
19 };
20
21 const CXFA_Node::AttributeData kConnectAttributeData[] = {
22 {XFA_Attribute::Id, XFA_AttributeType::CData, nullptr},
23 {XFA_Attribute::Name, XFA_AttributeType::CData, nullptr},
24 {XFA_Attribute::Ref, XFA_AttributeType::CData, nullptr},
25 {XFA_Attribute::Use, XFA_AttributeType::CData, nullptr},
26 {XFA_Attribute::Timeout, XFA_AttributeType::Integer, (void*)15},
27 {XFA_Attribute::Connection, XFA_AttributeType::CData, nullptr},
28 {XFA_Attribute::Usage, XFA_AttributeType::Enum,
29 (void*)XFA_AttributeValue::ExportAndImport},
30 {XFA_Attribute::Usehref, XFA_AttributeType::CData, nullptr},
31 {XFA_Attribute::DelayedOpen, XFA_AttributeType::CData, nullptr},
32 };
33
34 } // namespace
35
CXFA_Connect(CXFA_Document * doc,XFA_PacketType packet)36 CXFA_Connect::CXFA_Connect(CXFA_Document* doc, XFA_PacketType packet)
37 : CXFA_Node(doc,
38 packet,
39 {XFA_XDPPACKET::kSourceSet, XFA_XDPPACKET::kTemplate,
40 XFA_XDPPACKET::kForm},
41 XFA_ObjectType::Node,
42 XFA_Element::Connect,
43 kConnectPropertyData,
44 kConnectAttributeData,
45 cppgc::MakeGarbageCollected<CJX_Node>(
46 doc->GetHeap()->GetAllocationHandle(),
47 this)) {}
48
49 CXFA_Connect::~CXFA_Connect() = default;
50