Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
xqilla
debug
StackFrame.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001, 2008,
3
* DecisionSoft Limited. All rights reserved.
4
* Copyright (c) 2004, 2011,
5
* Oracle and/or its affiliates. All rights reserved.
6
*
7
* Licensed under the Apache License, Version 2.0 (the "License");
8
* you may not use this file except in compliance with the License.
9
* You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS,
15
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
* See the License for the specific language governing permissions and
17
* limitations under the License.
18
*/
19
20
#ifndef _STACKFRAME_HPP
21
#define _STACKFRAME_HPP
22
23
#include <string>
24
25
#include <xqilla/framework/XQillaExport.hpp>
26
#include <
xqilla/items/Item.hpp
>
27
28
#include <xercesc/util/XercesDefs.hpp>
29
30
class
ASTNode;
31
class
TupleNode;
32
class
LocationInfo
;
33
class
DynamicContext
;
34
class
EventHandler
;
35
class
Sequence
;
36
class
VariableStore
;
37
38
XERCES_CPP_NAMESPACE_BEGIN
39
class
DOMXPathNSResolver;
40
XERCES_CPP_NAMESPACE_END
41
45
class
XQILLA_API
StackFrame
46
{
47
public
:
48
virtual
~StackFrame
() {}
49
50
const
LocationInfo
*
getLocationInfo
()
const
{
return
location_; }
51
const
StackFrame
*
getPreviousFrame
()
const
{
return
prev_; }
52
53
virtual
Sequence
query(
const
XMLCh *query)
const
;
54
virtual
void
query(
const
XMLCh *query,
EventHandler
*events)
const
;
55
56
virtual
const
ASTNode *getASTNode()
const
= 0;
57
virtual
const
TupleNode *getTupleNode()
const
= 0;
58
virtual
std::string getQueryPlan()
const
= 0;
59
60
protected
:
61
StackFrame
(
const
LocationInfo
*location,
DynamicContext
*context);
62
63
const
LocationInfo
*
location_
;
64
65
DynamicContext
*
context_
;
66
Item::Ptr
contextItem_
;
67
size_t
contextPosition_
;
68
size_t
contextSize_
;
69
const
VariableStore
*
variables_
;
70
const
XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver *
nsResolver_
;
71
const
XMLCh *
defaultElementNS_
;
72
73
const
StackFrame
*
prev_
;
74
75
private
:
76
StackFrame
(
const
StackFrame
&);
77
StackFrame
&operator=(
const
StackFrame
&);
78
};
79
80
#endif
Generated by
1.8.4