1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef FXJS_XFA_CJX_NODE_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define FXJS_XFA_CJX_NODE_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/xfa/cjx_tree.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/xfa/jse_define.h" 12*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fxfa/fxfa.h" 13*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fxfa/fxfa_basic.h" 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker class CXFA_Node; 16*3ac0a46fSAndroid Build Coastguard Worker 17*3ac0a46fSAndroid Build Coastguard Worker class CJX_Node : public CJX_Tree { 18*3ac0a46fSAndroid Build Coastguard Worker public: 19*3ac0a46fSAndroid Build Coastguard Worker CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; 20*3ac0a46fSAndroid Build Coastguard Worker ~CJX_Node() override; 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker // CJX_Object: 23*3ac0a46fSAndroid Build Coastguard Worker bool DynamicTypeIs(TypeTag eType) const override; 24*3ac0a46fSAndroid Build Coastguard Worker 25*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(applyXSL); 26*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(assignNode); 27*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(clone); 28*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(getAttribute); 29*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(getElement); 30*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(isPropertySpecified); 31*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(loadXML); 32*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(saveFilteredXML); 33*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(saveXML); 34*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(setAttribute); 35*3ac0a46fSAndroid Build Coastguard Worker JSE_METHOD(setElement); 36*3ac0a46fSAndroid Build Coastguard Worker 37*3ac0a46fSAndroid Build Coastguard Worker JSE_PROP(isContainer); 38*3ac0a46fSAndroid Build Coastguard Worker JSE_PROP(isNull); 39*3ac0a46fSAndroid Build Coastguard Worker JSE_PROP(model); 40*3ac0a46fSAndroid Build Coastguard Worker JSE_PROP(ns); 41*3ac0a46fSAndroid Build Coastguard Worker JSE_PROP(oneOfChild); 42*3ac0a46fSAndroid Build Coastguard Worker 43*3ac0a46fSAndroid Build Coastguard Worker protected: 44*3ac0a46fSAndroid Build Coastguard Worker explicit CJX_Node(CXFA_Node* node); 45*3ac0a46fSAndroid Build Coastguard Worker 46*3ac0a46fSAndroid Build Coastguard Worker XFA_EventError execSingleEventByName(WideStringView wsEventName, 47*3ac0a46fSAndroid Build Coastguard Worker XFA_Element eType); 48*3ac0a46fSAndroid Build Coastguard Worker 49*3ac0a46fSAndroid Build Coastguard Worker private: 50*3ac0a46fSAndroid Build Coastguard Worker using Type__ = CJX_Node; 51*3ac0a46fSAndroid Build Coastguard Worker using ParentType__ = CJX_Tree; 52*3ac0a46fSAndroid Build Coastguard Worker 53*3ac0a46fSAndroid Build Coastguard Worker static const TypeTag static_type__ = TypeTag::Node; 54*3ac0a46fSAndroid Build Coastguard Worker static const CJX_MethodSpec MethodSpecs[]; 55*3ac0a46fSAndroid Build Coastguard Worker }; 56*3ac0a46fSAndroid Build Coastguard Worker 57*3ac0a46fSAndroid Build Coastguard Worker #endif // FXJS_XFA_CJX_NODE_H_ 58