blob: a5dbaaa94872fc78f9c91fa41d7e7f73f19aaa17 [file] [log] [blame]
kumarashishg826308d2023-06-23 13:21:22 +00001// Copyright 2017 The PDFium Authors
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -07002// 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#ifndef FXJS_XFA_CJX_TREELIST_H_
8#define FXJS_XFA_CJX_TREELIST_H_
9
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070010#include "fxjs/xfa/cjx_list.h"
Haibo Huang49cc9302020-04-27 16:14:24 -070011#include "fxjs/xfa/jse_define.h"
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070012
13class CXFA_TreeList;
14
Haibo Huang49cc9302020-04-27 16:14:24 -070015class CJX_TreeList final : public CJX_List {
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070016 public:
kumarashishg826308d2023-06-23 13:21:22 +000017 CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED;
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070018 ~CJX_TreeList() override;
19
Haibo Huang49cc9302020-04-27 16:14:24 -070020 // CJX_Object:
21 bool DynamicTypeIs(TypeTag eType) const override;
22
23 JSE_METHOD(namedItem);
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070024
25 private:
kumarashishg826308d2023-06-23 13:21:22 +000026 explicit CJX_TreeList(CXFA_TreeList* list);
27
Haibo Huang49cc9302020-04-27 16:14:24 -070028 using Type__ = CJX_TreeList;
29 using ParentType__ = CJX_List;
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070030
Haibo Huang49cc9302020-04-27 16:14:24 -070031 static const TypeTag static_type__ = TypeTag::TreeList;
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070032 static const CJX_MethodSpec MethodSpecs[];
Haibo Huang49cc9302020-04-27 16:14:24 -070033
34 CXFA_TreeList* GetXFATreeList();
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -070035};
36
37#endif // FXJS_XFA_CJX_TREELIST_H_