summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser/cxfa_list.h')
-rw-r--r--xfa/fxfa/parser/cxfa_list.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/xfa/fxfa/parser/cxfa_list.h b/xfa/fxfa/parser/cxfa_list.h
index c2829352cc..2141a8fb10 100644
--- a/xfa/fxfa/parser/cxfa_list.h
+++ b/xfa/fxfa/parser/cxfa_list.h
@@ -7,12 +7,24 @@
#ifndef XFA_FXFA_PARSER_CXFA_LIST_H_
#define XFA_FXFA_PARSER_CXFA_LIST_H_
-#include "xfa/fxfa/parser/cxfa_node.h"
+#include <memory>
-class CXFA_List : public CXFA_Node {
+#include "xfa/fxfa/parser/cxfa_object.h"
+
+class CXFA_Document;
+
+class CXFA_List : public CXFA_Object {
public:
- CXFA_List(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_List() override;
+
+ virtual int32_t GetLength() = 0;
+ virtual bool Append(CXFA_Node* pNode) = 0;
+ virtual bool Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) = 0;
+ virtual bool Remove(CXFA_Node* pNode) = 0;
+ virtual CXFA_Node* Item(int32_t iIndex) = 0;
+
+ protected:
+ CXFA_List(CXFA_Document* doc, std::unique_ptr<CJX_Object> js_obj);
};
#endif // XFA_FXFA_PARSER_CXFA_LIST_H_