blob: bd1e13ce73f110bddc571ae9499b0ee132eb17b7 [file] [log] [blame]
// Copyright 2017 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#ifndef FXJS_XFA_CJX_NODE_H_
#define FXJS_XFA_CJX_NODE_H_
#include "fxjs/xfa/cjx_tree.h"
#include "fxjs/xfa/jse_define.h"
#include "xfa/fxfa/fxfa.h"
#include "xfa/fxfa/fxfa_basic.h"
class CXFA_Node;
class CJX_Node : public CJX_Tree {
public:
CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED;
~CJX_Node() override;
// CJX_Object:
bool DynamicTypeIs(TypeTag eType) const override;
JSE_METHOD(applyXSL);
JSE_METHOD(assignNode);
JSE_METHOD(clone);
JSE_METHOD(getAttribute);
JSE_METHOD(getElement);
JSE_METHOD(isPropertySpecified);
JSE_METHOD(loadXML);
JSE_METHOD(saveFilteredXML);
JSE_METHOD(saveXML);
JSE_METHOD(setAttribute);
JSE_METHOD(setElement);
JSE_PROP(isContainer);
JSE_PROP(isNull);
JSE_PROP(model);
JSE_PROP(ns);
JSE_PROP(oneOfChild);
protected:
explicit CJX_Node(CXFA_Node* node);
XFA_EventError execSingleEventByName(WideStringView wsEventName,
XFA_Element eType);
private:
using Type__ = CJX_Node;
using ParentType__ = CJX_Tree;
static const TypeTag static_type__ = TypeTag::Node;
static const CJX_MethodSpec MethodSpecs[];
};
#endif // FXJS_XFA_CJX_NODE_H_