XQuilla/docs/simple-api/ContextHelpers_8hpp-source.html
2020-02-17 22:19:08 +01:00

315 lines
26 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>XQilla Simple API Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<a style="float:right;" href="http://sourceforge.net/projects/xqilla"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=152021&amp;type=2" border="0" alt="SourceForge.net Logo" /></a>
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">xqilla</a>&nbsp;/&nbsp;<a class="el" href="dir_000003.html">context</a></div>
<h1>ContextHelpers.hpp</h1><a href="ContextHelpers_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
00002 <span class="comment"> * Copyright (c) 2001-2008</span>
00003 <span class="comment"> * DecisionSoft Limited. All rights reserved.</span>
00004 <span class="comment"> * Copyright (c) 2004-2008</span>
00005 <span class="comment"> * Oracle. All rights reserved.</span>
00006 <span class="comment"> *</span>
00007 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
00008 <span class="comment"> * you may not use this file except in compliance with the License.</span>
00009 <span class="comment"> * You may obtain a copy of the License at</span>
00010 <span class="comment"> *</span>
00011 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
00012 <span class="comment"> *</span>
00013 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
00014 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
00015 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
00016 <span class="comment"> * See the License for the specific language governing permissions and</span>
00017 <span class="comment"> * limitations under the License.</span>
00018 <span class="comment"> *</span>
00019 <span class="comment"> * $Id: ContextHelpers.hpp 734 2009-01-30 18:08:37Z gmfeinberg $</span>
00020 <span class="comment"> */</span>
00021
00022 <span class="preprocessor">#ifndef CONTEXTHELPERS_HPP</span>
00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTHELPERS_HPP</span>
00024 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include &lt;xqilla/framework/XQillaExport.hpp&gt;</span>
00026 <span class="preprocessor">#include &lt;<a class="code" href="DynamicContext_8hpp.html">xqilla/context/DynamicContext.hpp</a>&gt;</span>
00027
<a name="l00028"></a><a class="code" href="classAutoNodeSetOrderingReset.html">00028</a> <span class="keyword">class </span>XQILLA_API AutoNodeSetOrderingReset
00029 {
00030 <span class="keyword">public</span>:
<a name="l00031"></a><a class="code" href="classAutoNodeSetOrderingReset.html#a0">00031</a> <a class="code" href="classAutoNodeSetOrderingReset.html#a0">AutoNodeSetOrderingReset</a>(<a class="code" href="classStaticContext.html">StaticContext</a>* context, StaticContext::NodeSetOrdering ordering = StaticContext::ORDERING_UNORDERED)
00032 {
00033 <a class="code" href="classAutoNodeSetOrderingReset.html#p0">context_</a> = context;
00034 <span class="keywordflow">if</span>(context_) {
00035 <a class="code" href="classAutoNodeSetOrderingReset.html#p1">ordering_</a> = context-&gt;<a class="code" href="classStaticContext.html#a47">getNodeSetOrdering</a>();
00036 context-&gt;<a class="code" href="classStaticContext.html#a48">setNodeSetOrdering</a>(ordering);
00037 }
00038 }
00039
<a name="l00040"></a><a class="code" href="classAutoNodeSetOrderingReset.html#a1">00040</a> <a class="code" href="classAutoNodeSetOrderingReset.html#a1">~AutoNodeSetOrderingReset</a>()
00041 {
00042 <span class="keywordflow">if</span>(context_) {
00043 <a class="code" href="classAutoNodeSetOrderingReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a48">setNodeSetOrdering</a>(<a class="code" href="classAutoNodeSetOrderingReset.html#p1">ordering_</a>);
00044 }
00045 }
00046
00047 <span class="keyword">protected</span>:
<a name="l00048"></a><a class="code" href="classAutoNodeSetOrderingReset.html#p0">00048</a> <a class="code" href="classStaticContext.html">StaticContext</a>* context_;
<a name="l00049"></a><a class="code" href="classAutoNodeSetOrderingReset.html#p1">00049</a> StaticContext::NodeSetOrdering ordering_;
00050 };
00051
<a name="l00052"></a><a class="code" href="classAutoContextItemTypeReset.html">00052</a> <span class="keyword">class </span>XQILLA_API AutoContextItemTypeReset
00053 {
00054 <span class="keyword">public</span>:
<a name="l00055"></a><a class="code" href="classAutoContextItemTypeReset.html#a0">00055</a> <a class="code" href="classAutoContextItemTypeReset.html#a0">AutoContextItemTypeReset</a>(<a class="code" href="classStaticContext.html">StaticContext</a>* context)
00056 {
00057 <a class="code" href="classAutoContextItemTypeReset.html#p0">context_</a> = context;
00058 <span class="keywordflow">if</span>(context_) {
00059 <a class="code" href="classAutoContextItemTypeReset.html#p1">sType_</a> = context-&gt;<a class="code" href="classStaticContext.html#a8">getContextItemType</a>();
00060 }
00061 }
00062
<a name="l00063"></a><a class="code" href="classAutoContextItemTypeReset.html#a1">00063</a> <a class="code" href="classAutoContextItemTypeReset.html#a0">AutoContextItemTypeReset</a>(<a class="code" href="classStaticContext.html">StaticContext</a>* context, <span class="keyword">const</span> <a class="code" href="classStaticType.html">StaticType</a> &amp;sType)
00064 {
00065 <a class="code" href="classAutoContextItemTypeReset.html#p0">context_</a> = context;
00066 <span class="keywordflow">if</span>(context_) {
00067 <a class="code" href="classAutoContextItemTypeReset.html#p1">sType_</a> = context-&gt;<a class="code" href="classStaticContext.html#a8">getContextItemType</a>();
00068 context-&gt;<a class="code" href="classStaticContext.html#a9">setContextItemType</a>(sType);
00069 }
00070 }
00071
<a name="l00072"></a><a class="code" href="classAutoContextItemTypeReset.html#a2">00072</a> <a class="code" href="classAutoContextItemTypeReset.html#a2">~AutoContextItemTypeReset</a>()
00073 {
00074 <span class="keywordflow">if</span>(context_) {
00075 <a class="code" href="classAutoContextItemTypeReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a9">setContextItemType</a>(<a class="code" href="classAutoContextItemTypeReset.html#p1">sType_</a>);
00076 }
00077 }
00078
00079 <span class="keyword">protected</span>:
<a name="l00080"></a><a class="code" href="classAutoContextItemTypeReset.html#p0">00080</a> <a class="code" href="classStaticContext.html">StaticContext</a>* context_;
<a name="l00081"></a><a class="code" href="classAutoContextItemTypeReset.html#p1">00081</a> <a class="code" href="classStaticType.html">StaticType</a> sType_;
00082 };
00083
<a name="l00084"></a><a class="code" href="classAutoNsScopeReset.html">00084</a> <span class="keyword">class </span>XQILLA_API AutoNsScopeReset
00085 {
00086 <span class="keyword">public</span>:
<a name="l00087"></a><a class="code" href="classAutoNsScopeReset.html#a0">00087</a> <a class="code" href="classAutoNsScopeReset.html#a0">AutoNsScopeReset</a>(<a class="code" href="classStaticContext.html">StaticContext</a>* context, XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver* newResolver)
00088 {
00089 <a class="code" href="classAutoNsScopeReset.html#p0">context_</a>=context;
00090 <span class="keywordflow">if</span>(context_) {
00091 <a class="code" href="classAutoNsScopeReset.html#p1">_oldNSResolver</a>=<a class="code" href="classAutoNsScopeReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a12">getNSResolver</a>();
00092 <a class="code" href="classAutoNsScopeReset.html#p2">_defaultElementAndTypeNS</a>=context-&gt;<a class="code" href="classStaticContext.html#a17">getDefaultElementAndTypeNS</a>();
00093 <a class="code" href="classAutoNsScopeReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a15">setNSResolver</a>(newResolver);
00094 }
00095 }
00096
<a name="l00097"></a><a class="code" href="classAutoNsScopeReset.html#a1">00097</a> <a class="code" href="classAutoNsScopeReset.html#a1">~AutoNsScopeReset</a>()
00098 {
00099 <span class="keywordflow">if</span>(context_) {
00100 <a class="code" href="classAutoNsScopeReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a15">setNSResolver</a>(<a class="code" href="classAutoNsScopeReset.html#p1">_oldNSResolver</a>);
00101 <a class="code" href="classAutoNsScopeReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a18">setDefaultElementAndTypeNS</a>(<a class="code" href="classAutoNsScopeReset.html#p2">_defaultElementAndTypeNS</a>);
00102 }
00103 }
00104
00105 <span class="keyword">protected</span>:
<a name="l00106"></a><a class="code" href="classAutoNsScopeReset.html#p0">00106</a> <a class="code" href="classStaticContext.html">StaticContext</a>* context_;
<a name="l00107"></a><a class="code" href="classAutoNsScopeReset.html#p1">00107</a> <span class="keyword">const</span> XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver* _oldNSResolver;
<a name="l00108"></a><a class="code" href="classAutoNsScopeReset.html#p2">00108</a> <span class="keyword">const</span> XMLCh *_defaultElementAndTypeNS;
00109
00110 };
00111
<a name="l00112"></a><a class="code" href="classAutoContextInfoReset.html">00112</a> <span class="keyword">class </span>XQILLA_API AutoContextInfoReset
00113 {
00114 <span class="keyword">public</span>:
<a name="l00115"></a><a class="code" href="classAutoContextInfoReset.html#a0">00115</a> <a class="code" href="classAutoContextInfoReset.html#a0">AutoContextInfoReset</a>(<a class="code" href="classDynamicContext.html">DynamicContext</a> *context)
00116 : <a class="code" href="classAutoContextInfoReset.html#o0">oldContextItem</a>(context-&gt;getContextItem()),
00117 <a class="code" href="classAutoContextInfoReset.html#o1">oldContextPosition</a>(context-&gt;getContextPosition()),
00118 <a class="code" href="classAutoContextInfoReset.html#o2">oldContextSize</a>(context-&gt;getContextSize()),
00119 context_(context)
00120 {
00121 }
00122
<a name="l00123"></a><a class="code" href="classAutoContextInfoReset.html#a1">00123</a> <a class="code" href="classAutoContextInfoReset.html#a0">AutoContextInfoReset</a>(<a class="code" href="classDynamicContext.html">DynamicContext</a> *context, <span class="keyword">const</span> <a class="code" href="classRefCountPointer.html">Item::Ptr</a> &amp;contextItem, size_t contextPosition = 0, size_t contextSize = 0)
00124 : <a class="code" href="classAutoContextInfoReset.html#o0">oldContextItem</a>(context-&gt;getContextItem()),
00125 <a class="code" href="classAutoContextInfoReset.html#o1">oldContextPosition</a>(context-&gt;getContextPosition()),
00126 <a class="code" href="classAutoContextInfoReset.html#o2">oldContextSize</a>(context-&gt;getContextSize()),
00127 context_(context)
00128 {
00129 context-&gt;<a class="code" href="classDynamicContext.html#a4">setContextItem</a>(contextItem);
00130 context-&gt;<a class="code" href="classDynamicContext.html#a6">setContextPosition</a>(contextPosition);
00131 context-&gt;<a class="code" href="classDynamicContext.html#a8">setContextSize</a>(contextSize);
00132 }
00133
<a name="l00134"></a><a class="code" href="classAutoContextInfoReset.html#a2">00134</a> <a class="code" href="classAutoContextInfoReset.html#a2">~AutoContextInfoReset</a>()
00135 {
00136 <a class="code" href="classAutoContextInfoReset.html#a3">resetContextInfo</a>();
00137 }
00138
<a name="l00139"></a><a class="code" href="classAutoContextInfoReset.html#a3">00139</a> <span class="keywordtype">void</span> <a class="code" href="classAutoContextInfoReset.html#a3">resetContextInfo</a>()
00140 {
00141 context_-&gt;<a class="code" href="classDynamicContext.html#a4">setContextItem</a>(<a class="code" href="classAutoContextInfoReset.html#o0">oldContextItem</a>);
00142 context_-&gt;<a class="code" href="classDynamicContext.html#a6">setContextPosition</a>(<a class="code" href="classAutoContextInfoReset.html#o1">oldContextPosition</a>);
00143 context_-&gt;<a class="code" href="classDynamicContext.html#a8">setContextSize</a>(<a class="code" href="classAutoContextInfoReset.html#o2">oldContextSize</a>);
00144 }
00145
<a name="l00146"></a><a class="code" href="classAutoContextInfoReset.html#o0">00146</a> <a class="code" href="classRefCountPointer.html">Item::Ptr</a> oldContextItem;
<a name="l00147"></a><a class="code" href="classAutoContextInfoReset.html#o1">00147</a> size_t oldContextPosition;
<a name="l00148"></a><a class="code" href="classAutoContextInfoReset.html#o2">00148</a> size_t oldContextSize;
00149
00150 <span class="keyword">private</span>:
00151 <a class="code" href="classDynamicContext.html">DynamicContext</a>* context_;
00152 };
00153
<a name="l00154"></a><a class="code" href="classAutoDocumentCacheReset.html">00154</a> <span class="keyword">class </span>XQILLA_API AutoDocumentCacheReset
00155 {
00156 <span class="keyword">public</span>:
<a name="l00157"></a><a class="code" href="classAutoDocumentCacheReset.html#a0">00157</a> <a class="code" href="classAutoDocumentCacheReset.html#a0">AutoDocumentCacheReset</a>(<a class="code" href="classDynamicContext.html">DynamicContext</a>* context)
00158 : <a class="code" href="classAutoDocumentCacheReset.html#o0">oldDC</a>(const_cast&lt;<a class="code" href="classDocumentCache.html">DocumentCache</a>*&gt;(context-&gt;getDocumentCache())),
00159 <a class="code" href="classAutoDocumentCacheReset.html#p0">context_</a> (context)
00160 {
00161 }
00162
<a name="l00163"></a><a class="code" href="classAutoDocumentCacheReset.html#a1">00163</a> <a class="code" href="classAutoDocumentCacheReset.html#a1">~AutoDocumentCacheReset</a>()
00164 {
00165 <a class="code" href="classAutoDocumentCacheReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a22">setDocumentCache</a>(<a class="code" href="classAutoDocumentCacheReset.html#o0">oldDC</a>);
00166 }
00167
<a name="l00168"></a><a class="code" href="classAutoDocumentCacheReset.html#o0">00168</a> <a class="code" href="classDocumentCache.html">DocumentCache</a> *oldDC;
00169
00170 <span class="keyword">protected</span>:
<a name="l00171"></a><a class="code" href="classAutoDocumentCacheReset.html#p0">00171</a> <a class="code" href="classDynamicContext.html">DynamicContext</a>* context_;
00172 };
00173
<a name="l00174"></a><a class="code" href="classAutoVariableStoreReset.html">00174</a> <span class="keyword">class </span>XQILLA_API AutoVariableStoreReset
00175 {
00176 <span class="keyword">public</span>:
<a name="l00177"></a><a class="code" href="classAutoVariableStoreReset.html#a0">00177</a> <a class="code" href="classAutoVariableStoreReset.html#a0">AutoVariableStoreReset</a>(<a class="code" href="classDynamicContext.html">DynamicContext</a> *context, <span class="keyword">const</span> <a class="code" href="classVariableStore.html">VariableStore</a> *store = 0)
00178 {
00179 <a class="code" href="classAutoVariableStoreReset.html#p0">context_</a> = context;
00180 <a class="code" href="classAutoVariableStoreReset.html#p1">_oldVarStore</a> = <a class="code" href="classAutoVariableStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a9">getVariableStore</a>();
00181 <span class="keywordflow">if</span>(store)
00182 <a class="code" href="classAutoVariableStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a10">setVariableStore</a>(store);
00183 }
00184
<a name="l00185"></a><a class="code" href="classAutoVariableStoreReset.html#a1">00185</a> <a class="code" href="classAutoVariableStoreReset.html#a1">~AutoVariableStoreReset</a>()
00186 {
00187 <a class="code" href="classAutoVariableStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a10">setVariableStore</a>(<a class="code" href="classAutoVariableStoreReset.html#p1">_oldVarStore</a>);
00188 }
00189
<a name="l00190"></a><a class="code" href="classAutoVariableStoreReset.html#a2">00190</a> <span class="keywordtype">void</span> <a class="code" href="classAutoVariableStoreReset.html#a2">reset</a>()
00191 {
00192 <a class="code" href="classAutoVariableStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a10">setVariableStore</a>(<a class="code" href="classAutoVariableStoreReset.html#p1">_oldVarStore</a>);
00193 }
00194
00195 <span class="keyword">protected</span>:
<a name="l00196"></a><a class="code" href="classAutoVariableStoreReset.html#p0">00196</a> <a class="code" href="classDynamicContext.html">DynamicContext</a> *context_;
<a name="l00197"></a><a class="code" href="classAutoVariableStoreReset.html#p1">00197</a> <span class="keyword">const</span> <a class="code" href="classVariableStore.html">VariableStore</a> *_oldVarStore;
00198 };
00199
<a name="l00200"></a><a class="code" href="classAutoRegexGroupStoreReset.html">00200</a> <span class="keyword">class </span>XQILLA_API AutoRegexGroupStoreReset
00201 {
00202 <span class="keyword">public</span>:
<a name="l00203"></a><a class="code" href="classAutoRegexGroupStoreReset.html#a0">00203</a> <a class="code" href="classAutoRegexGroupStoreReset.html#a0">AutoRegexGroupStoreReset</a>(<a class="code" href="classDynamicContext.html">DynamicContext</a> *context, <span class="keyword">const</span> <a class="code" href="classRegexGroupStore.html">RegexGroupStore</a> *store = 0)
00204 {
00205 <a class="code" href="classAutoRegexGroupStoreReset.html#p0">context_</a> = context;
00206 <a class="code" href="classAutoRegexGroupStoreReset.html#p1">_oldRegexStore</a> = <a class="code" href="classAutoRegexGroupStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a15">getRegexGroupStore</a>();
00207 <span class="keywordflow">if</span>(store)
00208 <a class="code" href="classAutoRegexGroupStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a16">setRegexGroupStore</a>(store);
00209 }
00210
<a name="l00211"></a><a class="code" href="classAutoRegexGroupStoreReset.html#a1">00211</a> <a class="code" href="classAutoRegexGroupStoreReset.html#a1">~AutoRegexGroupStoreReset</a>()
00212 {
00213 <a class="code" href="classAutoRegexGroupStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a16">setRegexGroupStore</a>(<a class="code" href="classAutoRegexGroupStoreReset.html#p1">_oldRegexStore</a>);
00214 }
00215
<a name="l00216"></a><a class="code" href="classAutoRegexGroupStoreReset.html#a2">00216</a> <span class="keywordtype">void</span> <a class="code" href="classAutoRegexGroupStoreReset.html#a2">reset</a>()
00217 {
00218 <a class="code" href="classAutoRegexGroupStoreReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a16">setRegexGroupStore</a>(<a class="code" href="classAutoRegexGroupStoreReset.html#p1">_oldRegexStore</a>);
00219 }
00220
00221 <span class="keyword">protected</span>:
<a name="l00222"></a><a class="code" href="classAutoRegexGroupStoreReset.html#p0">00222</a> <a class="code" href="classDynamicContext.html">DynamicContext</a> *context_;
<a name="l00223"></a><a class="code" href="classAutoRegexGroupStoreReset.html#p1">00223</a> <span class="keyword">const</span> <a class="code" href="classRegexGroupStore.html">RegexGroupStore</a> *_oldRegexStore;
00224 };
00225
<a name="l00226"></a><a class="code" href="classAutoMessageListenerReset.html">00226</a> <span class="keyword">class </span>XQILLA_API AutoMessageListenerReset
00227 {
00228 <span class="keyword">public</span>:
<a name="l00229"></a><a class="code" href="classAutoMessageListenerReset.html#a0">00229</a> <a class="code" href="classAutoMessageListenerReset.html#a0">AutoMessageListenerReset</a>(<a class="code" href="classStaticContext.html">StaticContext</a>* context, <a class="code" href="classMessageListener.html">MessageListener</a> *listener = 0)
00230 {
00231 <a class="code" href="classAutoMessageListenerReset.html#p0">context_</a> = context;
00232 <span class="keywordflow">if</span>(context_) {
00233 <a class="code" href="classAutoMessageListenerReset.html#p1">listener_</a> = context-&gt;<a class="code" href="classStaticContext.html#a62">getMessageListener</a>();
00234 context-&gt;<a class="code" href="classStaticContext.html#a61">setMessageListener</a>(listener);
00235 }
00236 }
00237
<a name="l00238"></a><a class="code" href="classAutoMessageListenerReset.html#a1">00238</a> <a class="code" href="classAutoMessageListenerReset.html#a1">~AutoMessageListenerReset</a>()
00239 {
00240 <span class="keywordflow">if</span>(context_) {
00241 <a class="code" href="classAutoMessageListenerReset.html#p0">context_</a>-&gt;<a class="code" href="classStaticContext.html#a61">setMessageListener</a>(<a class="code" href="classAutoMessageListenerReset.html#p1">listener_</a>);
00242 }
00243 }
00244
00245 <span class="keyword">protected</span>:
<a name="l00246"></a><a class="code" href="classAutoMessageListenerReset.html#p0">00246</a> <a class="code" href="classStaticContext.html">StaticContext</a>* context_;
<a name="l00247"></a><a class="code" href="classAutoMessageListenerReset.html#p1">00247</a> <a class="code" href="classMessageListener.html">MessageListener</a> *listener_;
00248 };
00249
<a name="l00250"></a><a class="code" href="classAutoStackFrameReset.html">00250</a> <span class="keyword">class </span>XQILLA_API AutoStackFrameReset
00251 {
00252 <span class="keyword">public</span>:
<a name="l00253"></a><a class="code" href="classAutoStackFrameReset.html#a0">00253</a> <a class="code" href="classAutoStackFrameReset.html#a0">AutoStackFrameReset</a>(<a class="code" href="classDynamicContext.html">DynamicContext</a> *context, <span class="keyword">const</span> <a class="code" href="classStackFrame.html">StackFrame</a> *frame)
00254 {
00255 <a class="code" href="classAutoStackFrameReset.html#p0">context_</a> = context;
00256 <a class="code" href="classAutoStackFrameReset.html#p1">_oldFrame</a> = <a class="code" href="classAutoStackFrameReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a27">getStackFrame</a>();
00257 <a class="code" href="classAutoStackFrameReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a26">setStackFrame</a>(frame);
00258 }
00259
<a name="l00260"></a><a class="code" href="classAutoStackFrameReset.html#a1">00260</a> <a class="code" href="classAutoStackFrameReset.html#a1">~AutoStackFrameReset</a>()
00261 {
00262 <a class="code" href="classAutoStackFrameReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a26">setStackFrame</a>(<a class="code" href="classAutoStackFrameReset.html#p1">_oldFrame</a>);
00263 }
00264
<a name="l00265"></a><a class="code" href="classAutoStackFrameReset.html#a2">00265</a> <span class="keywordtype">void</span> <a class="code" href="classAutoStackFrameReset.html#a2">reset</a>()
00266 {
00267 <a class="code" href="classAutoStackFrameReset.html#p0">context_</a>-&gt;<a class="code" href="classDynamicContext.html#a26">setStackFrame</a>(<a class="code" href="classAutoStackFrameReset.html#p1">_oldFrame</a>);
00268 }
00269
00270 <span class="keyword">protected</span>:
<a name="l00271"></a><a class="code" href="classAutoStackFrameReset.html#p0">00271</a> <a class="code" href="classDynamicContext.html">DynamicContext</a> *context_;
<a name="l00272"></a><a class="code" href="classAutoStackFrameReset.html#p1">00272</a> <span class="keyword">const</span> <a class="code" href="classStackFrame.html">StackFrame</a> *_oldFrame;
00273 };
00274
<a name="l00275"></a><a class="code" href="classAutoReset.html">00275</a> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">class </span>XQILLA_API AutoReset
00276 {
00277 <span class="keyword">public</span>:
<a name="l00278"></a><a class="code" href="classAutoReset.html#a0">00278</a> <a class="code" href="classAutoReset.html#a0">AutoReset</a>(T &amp;orig)
00279 : <a class="code" href="classAutoReset.html#p0">orig_</a>(orig)
00280 {
00281 <a class="code" href="classAutoReset.html#p1">old_</a> = orig;
00282 }
00283
<a name="l00284"></a><a class="code" href="classAutoReset.html#a1">00284</a> <a class="code" href="classAutoReset.html#a1">~AutoReset</a>()
00285 {
00286 <a class="code" href="classAutoReset.html#a2">reset</a>();
00287 }
00288
<a name="l00289"></a><a class="code" href="classAutoReset.html#a2">00289</a> <span class="keywordtype">void</span> <a class="code" href="classAutoReset.html#a2">reset</a>()
00290 {
00291 <a class="code" href="classAutoReset.html#p0">orig_</a> = old_;
00292 }
00293
00294 <span class="keyword">protected</span>:
<a name="l00295"></a><a class="code" href="classAutoReset.html#p0">00295</a> T &amp;orig_;
<a name="l00296"></a><a class="code" href="classAutoReset.html#p1">00296</a> T old_;
00297 };
00298
00299 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Sep 25 06:55:26 2009 for XQilla Simple API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>