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-2008
5
* Oracle. 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
* $Id: MessageListener.hpp 475 2008-01-08 18:47:44Z jpcs $
20
*/
21
22
#ifndef _STACKFRAME_HPP
23
#define _STACKFRAME_HPP
24
25
#include <string>
26
27
#include <xqilla/framework/XQillaExport.hpp>
28
#include <
xqilla/items/Item.hpp
>
29
30
#include <xercesc/util/XercesDefs.hpp>
31
32
class
ASTNode;
33
class
TupleNode;
34
class
LocationInfo
;
35
class
DynamicContext
;
36
class
EventHandler
;
37
class
Sequence
;
38
class
VariableStore
;
39
40
XERCES_CPP_NAMESPACE_BEGIN
41
class
DOMXPathNSResolver;
42
XERCES_CPP_NAMESPACE_END
43
47
class
XQILLA_API
StackFrame
48
{
49
public
:
50
virtual
~StackFrame
() {}
51
52
const
LocationInfo
*
getLocationInfo
()
const
{
return
location_; }
53
const
StackFrame
*
getPreviousFrame
()
const
{
return
prev_; }
54
55
virtual
Sequence
query(
const
XMLCh *query)
const
;
56
virtual
void
query(
const
XMLCh *query,
EventHandler
*events)
const
;
57
58
virtual
const
ASTNode *getASTNode()
const
= 0;
59
virtual
const
TupleNode *getTupleNode()
const
= 0;
60
virtual
std::string getQueryPlan()
const
= 0;
61
62
protected
:
63
StackFrame
(
const
LocationInfo
*location,
DynamicContext
*context);
64
65
const
LocationInfo
*
location_
;
66
67
DynamicContext
*
context_
;
68
Item::Ptr
contextItem_
;
69
size_t
contextPosition_
;
70
size_t
contextSize_
;
71
const
VariableStore
*
variables_
;
72
const
XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver *
nsResolver_
;
73
const
XMLCh *
defaultElementNS_
;
74
75
const
StackFrame
*
prev_
;
76
77
private
:
78
StackFrame
(
const
StackFrame
&);
79
StackFrame
&operator=(
const
StackFrame
&);
80
};
81
82
#endif
Generated by
1.8.3.1