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 #ifndef FXJS_XFA_CJX_LIST_H_ 8 #define FXJS_XFA_CJX_LIST_H_ 9 10 #include "fxjs/xfa/cjx_object.h" 11 #include "fxjs/xfa/jse_define.h" 12 13 class CXFA_List; 14 15 class CJX_List : public CJX_Object { 16 public: 17 CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; 18 ~CJX_List() override; 19 20 // CJX_Object: 21 bool DynamicTypeIs(TypeTag eType) const override; 22 23 JSE_METHOD(append); 24 JSE_METHOD(insert); 25 JSE_METHOD(item); 26 JSE_METHOD(remove); 27 28 JSE_PROP(length); 29 30 protected: 31 explicit CJX_List(CXFA_List* list); 32 33 private: 34 using Type__ = CJX_List; 35 using ParentType__ = CJX_Object; 36 37 static const TypeTag static_type__ = TypeTag::List; 38 static const CJX_MethodSpec MethodSpecs[]; 39 40 CXFA_List* GetXFAList(); 41 }; 42 43 #endif // FXJS_XFA_CJX_LIST_H_ 44