| Index: xfa/fxfa/parser/xfa_object.h
|
| diff --git a/xfa/fxfa/parser/xfa_object.h b/xfa/fxfa/parser/xfa_object.h
|
| index 2cd09df15c1618669b46ef908ff2b3f380c17192..b5c31cfbb2f7b81dfb85419b2fdf7627b313dd07 100644
|
| --- a/xfa/fxfa/parser/xfa_object.h
|
| +++ b/xfa/fxfa/parser/xfa_object.h
|
| @@ -45,7 +45,7 @@ enum XFA_OBJECTTYPE {
|
| class CXFA_Object : public CFXJSE_HostObject {
|
| public:
|
| CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags);
|
| - virtual ~CXFA_Object() {}
|
| + ~CXFA_Object() override;
|
|
|
| CXFA_Document* GetDocument() const { return m_pDocument; }
|
| uint32_t GetFlag() const { return m_uFlags; }
|
| @@ -127,6 +127,9 @@ struct XFA_MAPDATABLOCK {
|
| };
|
|
|
| struct XFA_MAPMODULEDATA {
|
| + XFA_MAPMODULEDATA();
|
| + ~XFA_MAPMODULEDATA();
|
| +
|
| CFX_MapPtrToPtr m_ValueMap;
|
| CFX_MapPtrTemplate<void*, XFA_MAPDATABLOCK*> m_BufferMap;
|
| };
|
| @@ -134,6 +137,7 @@ struct XFA_MAPMODULEDATA {
|
| #define XFA_CalcRefCount (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'R')
|
| #define XFA_CalcData (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'C')
|
| #define XFA_LAYOUTITEMKEY (void*)(uintptr_t) FXBSTR_ID('L', 'Y', 'I', 'M')
|
| +
|
| class CXFA_Node : public CXFA_Object {
|
| public:
|
| XFA_ELEMENT GetClassID() const { return (XFA_ELEMENT)m_eNodeClass; }
|
| @@ -649,42 +653,39 @@ class CXFA_Node : public CXFA_Object {
|
| CXFA_Node* m_pAuxNode;
|
| XFA_MAPMODULEDATA* m_pMapModuleData;
|
| };
|
| +
|
| class CXFA_OrdinaryObject : public CXFA_Object {
|
| public:
|
| - CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_ELEMENT eElement)
|
| - : CXFA_Object(pDocument, XFA_OBJECTTYPE_OrdinaryObject),
|
| - m_uScriptHash(0) {
|
| - m_eNodeClass = eElement;
|
| - }
|
| - XFA_ELEMENT GetClassID() const { return (XFA_ELEMENT)m_eNodeClass; }
|
| - uint32_t GetScriptObjHash() { return m_uScriptHash; }
|
| + CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_ELEMENT eElement);
|
| + ~CXFA_OrdinaryObject() override;
|
| +
|
| + XFA_ELEMENT GetClassID() const;
|
| + uint32_t GetScriptObjHash() const;
|
|
|
| protected:
|
| XFA_ELEMENT m_eNodeClass;
|
| uint32_t m_uScriptHash;
|
| };
|
| +
|
| class CXFA_ThisProxy : public CXFA_Object {
|
| public:
|
| - CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode)
|
| - : CXFA_Object(pThisNode->GetDocument(), XFA_OBJECTTYPE_VariablesThis),
|
| - m_pThisNode(NULL),
|
| - m_pScriptNode(NULL) {
|
| - m_pThisNode = pThisNode;
|
| - m_pScriptNode = pScriptNode;
|
| - }
|
| - ~CXFA_ThisProxy() override {}
|
| - CXFA_Node* GetThisNode() { return m_pThisNode; }
|
| - CXFA_Node* GetScriptNode() { return m_pScriptNode; }
|
| + CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
|
| + ~CXFA_ThisProxy() override;
|
| +
|
| + CXFA_Node* GetThisNode() const;
|
| + CXFA_Node* GetScriptNode() const;
|
|
|
| private:
|
| CXFA_Node* m_pThisNode;
|
| CXFA_Node* m_pScriptNode;
|
| };
|
| +
|
| class CXFA_NodeList : public CXFA_Object {
|
| public:
|
| explicit CXFA_NodeList(CXFA_Document* pDocument);
|
| - virtual ~CXFA_NodeList() {}
|
| - XFA_ELEMENT GetClassID() const { return XFA_ELEMENT_NodeList; }
|
| + ~CXFA_NodeList() override;
|
| +
|
| + XFA_ELEMENT GetClassID() const;
|
| CXFA_Node* NamedItem(const CFX_WideStringC& wsName);
|
| virtual int32_t GetLength() = 0;
|
| virtual FX_BOOL Append(CXFA_Node* pNode) = 0;
|
| @@ -702,28 +703,35 @@ class CXFA_NodeList : public CXFA_Object {
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute);
|
| };
|
| +
|
| class CXFA_ArrayNodeList : public CXFA_NodeList {
|
| public:
|
| explicit CXFA_ArrayNodeList(CXFA_Document* pDocument);
|
| + ~CXFA_ArrayNodeList() override;
|
| +
|
| + // From CXFA_NodeList.
|
| + int32_t GetLength() override;
|
| + FX_BOOL Append(CXFA_Node* pNode) override;
|
| + FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override;
|
| + FX_BOOL Remove(CXFA_Node* pNode) override;
|
| + CXFA_Node* Item(int32_t iIndex) override;
|
| +
|
| void SetArrayNodeList(const CXFA_NodeArray& srcArray);
|
| - virtual int32_t GetLength();
|
| - virtual FX_BOOL Append(CXFA_Node* pNode);
|
| - virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode);
|
| - virtual FX_BOOL Remove(CXFA_Node* pNode);
|
| - virtual CXFA_Node* Item(int32_t iIndex);
|
|
|
| protected:
|
| CXFA_NodeArray m_array;
|
| };
|
| +
|
| class CXFA_AttachNodeList : public CXFA_NodeList {
|
| public:
|
| CXFA_AttachNodeList(CXFA_Document* pDocument, CXFA_Node* pAttachNode);
|
|
|
| - virtual int32_t GetLength();
|
| - virtual FX_BOOL Append(CXFA_Node* pNode);
|
| - virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode);
|
| - virtual FX_BOOL Remove(CXFA_Node* pNode);
|
| - virtual CXFA_Node* Item(int32_t iIndex);
|
| + // From CXFA_NodeList.
|
| + int32_t GetLength() override;
|
| + FX_BOOL Append(CXFA_Node* pNode) override;
|
| + FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override;
|
| + FX_BOOL Remove(CXFA_Node* pNode) override;
|
| + CXFA_Node* Item(int32_t iIndex) override;
|
|
|
| protected:
|
| CXFA_Node* m_pAttachNode;
|
|
|