1 // Copyright 2017 PDFium Authors. All rights reserved. 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_SOURCE_H_ 8 #define FXJS_XFA_CJX_SOURCE_H_ 9 10 #include "fxjs/xfa/cjx_node.h" 11 #include "fxjs/xfa/jse_define.h" 12 13 class CXFA_Source; 14 15 class CJX_Source final : public CJX_Node { 16 public: 17 explicit CJX_Source(CXFA_Source* src); 18 ~CJX_Source() override; 19 20 // CJX_Object: 21 bool DynamicTypeIs(TypeTag eType) const override; 22 23 JSE_METHOD(addNew); 24 JSE_METHOD(cancel); 25 JSE_METHOD(cancelBatch); 26 JSE_METHOD(close); 27 JSE_METHOD(deleteItem /*delete*/); 28 JSE_METHOD(first); 29 JSE_METHOD(hasDataChanged); 30 JSE_METHOD(isBOF); 31 JSE_METHOD(isEOF); 32 JSE_METHOD(last); 33 JSE_METHOD(next); 34 JSE_METHOD(open); 35 JSE_METHOD(previous); 36 JSE_METHOD(requery); 37 JSE_METHOD(resync); 38 JSE_METHOD(update); 39 JSE_METHOD(updateBatch); 40 41 JSE_PROP(db); 42 43 private: 44 using Type__ = CJX_Source; 45 using ParentType__ = CJX_Node; 46 47 static const TypeTag static_type__ = TypeTag::Source; 48 static const CJX_MethodSpec MethodSpecs[]; 49 }; 50 51 #endif // FXJS_XFA_CJX_SOURCE_H_ 52