1d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Copyright 2017 PDFium Authors. All rights reserved.
2d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
3d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// found in the LICENSE file.
4d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
5d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
7d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#ifndef XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_XFACONTAINERNODE_H_
8d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_XFACONTAINERNODE_H_
9d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
10d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "xfa/fxfa/parser/cxfa_node.h"
11d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "xfa/fxfa/parser/cxfa_nodeiteratortemplate.h"
12d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
13d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmannclass CXFA_TraverseStrategy_XFAContainerNode {
14d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann public:
15d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  static CXFA_Node* GetFirstChild(CXFA_Node* pTemplateNode) {
16d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    return pTemplateNode->GetFirstContainerChild();
17d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  }
18d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  static CXFA_Node* GetNextSibling(CXFA_Node* pTemplateNode) {
19d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    return pTemplateNode->GetNextContainerSibling();
20d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  }
21d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  static CXFA_Node* GetParent(CXFA_Node* pTemplateNode) {
22d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    return pTemplateNode->GetContainerParent();
23d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  }
24d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann};
25d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
26d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmanntypedef CXFA_NodeIteratorTemplate<CXFA_Node,
27d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                  CXFA_TraverseStrategy_XFAContainerNode>
28d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    CXFA_ContainerIterator;
29d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann
30d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#endif  // XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_XFACONTAINERNODE_H_
31