OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FXFA_PARSER_XFA_SCRIPT_RESOLVEPROCESSOR_H_ | 7 #ifndef XFA_FXFA_PARSER_XFA_SCRIPT_RESOLVEPROCESSOR_H_ |
8 #define XFA_FXFA_PARSER_XFA_SCRIPT_RESOLVEPROCESSOR_H_ | 8 #define XFA_FXFA_PARSER_XFA_SCRIPT_RESOLVEPROCESSOR_H_ |
9 | 9 |
10 #include "xfa/fxfa/parser/xfa_object.h" | 10 #include "xfa/fxfa/parser/xfa_object.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 uint32_t m_dwStyles; | 28 uint32_t m_dwStyles; |
29 const XFA_SCRIPTATTRIBUTEINFO* m_pScriptAttribute; | 29 const XFA_SCRIPTATTRIBUTEINFO* m_pScriptAttribute; |
30 XFA_RESOVENODE_RSTYPE m_dwFlag; | 30 XFA_RESOVENODE_RSTYPE m_dwFlag; |
31 }; | 31 }; |
32 | 32 |
33 class CXFA_ResolveProcessor { | 33 class CXFA_ResolveProcessor { |
34 public: | 34 public: |
35 CXFA_ResolveProcessor(); | 35 CXFA_ResolveProcessor(); |
36 ~CXFA_ResolveProcessor(); | 36 ~CXFA_ResolveProcessor(); |
37 | 37 |
38 int32_t XFA_ResolveNodes(CXFA_ResolveNodesData& rnd); | 38 int32_t Resolve(CXFA_ResolveNodesData& rnd); |
39 int32_t XFA_ResolveNodes_AnyChild(CXFA_ResolveNodesData& rnd); | 39 int32_t GetFilter(const CFX_WideStringC& wsExpression, |
40 int32_t XFA_ResolveNodes_Dollar(CXFA_ResolveNodesData& rnd); | 40 int32_t nStart, |
41 int32_t XFA_ResolveNodes_Excalmatory(CXFA_ResolveNodesData& rnd); | 41 CXFA_ResolveNodesData& rnd); |
42 int32_t XFA_ResolveNodes_NumberSign(CXFA_ResolveNodesData& rnd); | 42 int32_t SetResultCreateNode(XFA_RESOLVENODE_RS& resolveNodeRS, |
43 int32_t XFA_ResolveNodes_Asterisk(CXFA_ResolveNodesData& rnd); | 43 CFX_WideString& wsLastCondition); |
44 int32_t XFA_ResolveNodes_Normal(CXFA_ResolveNodesData& rnd); | 44 void SetIndexDataBind(CFX_WideString& wsNextCondition, |
45 int32_t XFA_ResolveNodes_ForAttributeRs(CXFA_Object* curNode, | 45 int32_t& iIndex, |
46 CXFA_ResolveNodesData& rnd, | 46 int32_t iCount); |
47 const CFX_WideStringC& strAttr); | 47 void SetCurStart(int32_t start) { m_iCurStart = start; } |
48 void XFA_ResolveNode_ConditionArray(int32_t iCurIndex, | 48 |
49 CFX_WideString wsCondition, | |
50 int32_t iFoundCount, | |
51 CXFA_ResolveNodesData& rnd); | |
52 void XFA_ResolveNode_DoPredicateFilter(int32_t iCurIndex, | |
53 CFX_WideString wsCondition, | |
54 int32_t iFoundCount, | |
55 CXFA_ResolveNodesData& rnd); | |
56 int32_t XFA_ResolveNodes_GetFilter(const CFX_WideStringC& wsExpression, | |
57 int32_t nStart, | |
58 CXFA_ResolveNodesData& rnd); | |
59 void XFA_ResolveNode_FilterCondition(CXFA_ResolveNodesData& rnd, | |
60 CFX_WideString wsCondition); | |
61 int32_t XFA_ResolveNodes_PopStack(CFX_Int32Array& stack); | |
62 void XFA_ResolveNodes_SetStylesForChild(uint32_t dwParentStyles, | |
63 CXFA_ResolveNodesData& rnd); | |
64 int32_t XFA_ResolveNode_SetResultCreateNode(XFA_RESOLVENODE_RS& resolveNodeRS, | |
65 CFX_WideString& wsLastCondition); | |
66 void XFA_ResolveNode_SetIndexDataBind(CFX_WideString& wsNextCondition, | |
67 int32_t& iIndex, | |
68 int32_t iCount); | |
69 CXFA_NodeHelper* GetNodeHelper() { return m_pNodeHelper; } | 49 CXFA_NodeHelper* GetNodeHelper() { return m_pNodeHelper; } |
70 | 50 |
71 private: | 51 private: |
| 52 int32_t ResolveForAttributeRs(CXFA_Object* curNode, |
| 53 CXFA_ResolveNodesData& rnd, |
| 54 const CFX_WideStringC& strAttr); |
| 55 int32_t ResolveAnyChild(CXFA_ResolveNodesData& rnd); |
| 56 int32_t ResolveDollar(CXFA_ResolveNodesData& rnd); |
| 57 int32_t ResolveExcalmatory(CXFA_ResolveNodesData& rnd); |
| 58 int32_t ResolveNumberSign(CXFA_ResolveNodesData& rnd); |
| 59 int32_t ResolveAsterisk(CXFA_ResolveNodesData& rnd); |
| 60 int32_t ResolveNormal(CXFA_ResolveNodesData& rnd); |
| 61 int32_t ResolvePopStack(CFX_Int32Array& stack); |
| 62 void SetStylesForChild(uint32_t dwParentStyles, CXFA_ResolveNodesData& rnd); |
| 63 |
| 64 void ConditionArray(int32_t iCurIndex, |
| 65 CFX_WideString wsCondition, |
| 66 int32_t iFoundCount, |
| 67 CXFA_ResolveNodesData& rnd); |
| 68 void DoPredicateFilter(int32_t iCurIndex, |
| 69 CFX_WideString wsCondition, |
| 70 int32_t iFoundCount, |
| 71 CXFA_ResolveNodesData& rnd); |
| 72 void FilterCondition(CXFA_ResolveNodesData& rnd, CFX_WideString wsCondition); |
| 73 |
| 74 int32_t m_iCurStart; |
72 CXFA_NodeHelper* m_pNodeHelper; | 75 CXFA_NodeHelper* m_pNodeHelper; |
73 | |
74 public: | |
75 int32_t m_iCurStart; | |
76 }; | 76 }; |
77 | 77 |
78 #endif // XFA_FXFA_PARSER_XFA_SCRIPT_RESOLVEPROCESSOR_H_ | 78 #endif // XFA_FXFA_PARSER_XFA_SCRIPT_RESOLVEPROCESSOR_H_ |
OLD | NEW |