blob: e18dae610f3bcede6a16eca1bb1cdfcf699342e8 [file] [log] [blame]
<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>ExtensionFunctionHandler.hpp</h1><a href="ExtensionFunctionHandler_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016
00017 <font class="preprocessor">#if !defined(XALAN_EXTENSIONFUNCTIONHANDLER_HEADER_GUARD)</font>
<a name="l00018"></a><a class="code" href="ExtensionFunctionHandler_8hpp.html#a0">00018</a> <font class="preprocessor"></font><font class="preprocessor">#define XALAN_EXTENSIONFUNCTIONHANDLER_HEADER_GUARD</font>
00019 <font class="preprocessor"></font>
00020
00021
00022 <font class="comment">// Base include file. Must be first.</font>
00023 <font class="preprocessor">#include &lt;<a class="code" href="XSLTDefinitions_8hpp.html">xalanc/XSLT/XSLTDefinitions.hpp</a>&gt;</font>
00024
00025
00026
00027 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</font>
00028
00029
00030
00031 <font class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</font>
00032 <font class="preprocessor">#include &lt;<a class="code" href="XalanSet_8hpp.html">xalanc/Include/XalanSet.hpp</a>&gt;</font>
00033
00034
00035
00036 <font class="preprocessor">#include &lt;<a class="code" href="DOMStringHelper_8hpp.html">xalanc/PlatformSupport/DOMStringHelper.hpp</a>&gt;</font>
00037
00038
00039
00040 <font class="preprocessor">#include &lt;<a class="code" href="XObject_8hpp.html">xalanc/XPath/XObject.hpp</a>&gt;</font>
00041
00042
00043
00044 XALAN_CPP_NAMESPACE_BEGIN
00045
00046
00047
<a name="l00048"></a><a class="code" href="ExtensionFunctionHandler_8hpp.html#a1">00048</a> <font class="keyword">class </font><a class="code" href="classXObjectPtr.html">XObjectPtr</a>;
00049
00050
00051
<a name="l00058"></a><a class="code" href="classExtensionFunctionHandler.html">00058</a> <font class="keyword">class </font>XALAN_XSLT_EXPORT <a class="code" href="classExtensionFunctionHandler.html">ExtensionFunctionHandler</a>
00059 {
00060
00061 <font class="keyword">public</font>:
00062
00069 <a class="code" href="classExtensionFunctionHandler.html#a0">ExtensionFunctionHandler</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceUri,
00070 MemoryManagerType&amp; theManager);
00071
00084 <a class="code" href="classExtensionFunctionHandler.html#a0">ExtensionFunctionHandler</a>(
00085 MemoryManagerType&amp; theManager,
00086 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceUri,
00087 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; funcNames,
00088 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; lang,
00089 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; srcURL,
00090 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; scriptSrc);
00091
00092
00093 <font class="keyword">virtual</font>
00094 <a class="code" href="classExtensionFunctionHandler.html#a2">~ExtensionFunctionHandler</a>();
00095
00096 MemoryManagerType&amp;
<a name="l00097"></a><a class="code" href="classExtensionFunctionHandler.html#a3">00097</a> <a class="code" href="classExtensionFunctionHandler.html#a3">getMemoryManager</a>()<font class="keyword"></font>
00098 <font class="keyword"> </font>{
00099 <font class="keywordflow">return</font> m_namespaceUri.<a class="code" href="classXalanDOMString.html#a72">getMemoryManager</a>();
00100 }
00101
00108 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00109 <a class="code" href="classExtensionFunctionHandler.html#a4">setFunctions</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; funcNames);
00110
00124 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00125 <a class="code" href="classExtensionFunctionHandler.html#a5">setScript</a>(
00126 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; lang,
00127 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; srcURL,
00128 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; scriptSrc);
00129
00136 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00137 <a class="code" href="classExtensionFunctionHandler.html#a6">isFunctionAvailable</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; function) <font class="keyword">const</font>;
00138
<a name="l00140"></a><a class="code" href="classExtensionFunctionHandler.html#s0">00140</a> <font class="keyword">typedef</font> XalanVector&lt;void*&gt; ArgVectorType;
00141
<a name="l00142"></a><a class="code" href="classExtensionFunctionHandler.html#s1">00142</a> <font class="keyword">typedef</font> <a class="code" href="classXalanSet.html">XalanSet&lt;XalanDOMString&gt;</a> <a class="code" href="classXalanSet.html">StringSetType</a>;
00143
00159
00160 <font class="keyword">virtual</font> <a class="code" href="classXObjectPtr.html">XObjectPtr</a>
00161 <a class="code" href="classExtensionFunctionHandler.html#a7">callFunction</a>(
00162 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; funcName,
00163 <font class="keyword">const</font> ArgVectorType&amp; args);
00164
00165 <font class="keyword">protected</font>:
00166
<a name="l00167"></a><a class="code" href="classExtensionFunctionHandler.html#n0">00167</a> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_namespaceUri; <font class="comment">// uri of the extension namespace</font>
<a name="l00168"></a><a class="code" href="classExtensionFunctionHandler.html#n1">00168</a> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_scriptLang; <font class="comment">// scripting language of implementation</font>
<a name="l00169"></a><a class="code" href="classExtensionFunctionHandler.html#n2">00169</a> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_scriptSrc; <font class="comment">// script source to run (if any)</font>
<a name="l00170"></a><a class="code" href="classExtensionFunctionHandler.html#n3">00170</a> <a class="code" href="classXalanDOMString.html">XalanDOMString</a> m_scriptSrcURL; <font class="comment">// URL of source of script (if any)</font>
00171
<a name="l00172"></a><a class="code" href="classExtensionFunctionHandler.html#n4">00172</a> <font class="keywordtype">void</font>* m_javaObject; <font class="comment">// object for javaclass engine</font>
00173
<a name="l00174"></a><a class="code" href="classExtensionFunctionHandler.html#n5">00174</a> <a class="code" href="classXalanSet.html">StringSetType</a> m_functions; <font class="comment">// functions of namespace</font>
00175
00176 <font class="comment">// BSFManager mgr = new BSFManager (); // mgr used to run scripts</font>
00177
<a name="l00178"></a><a class="code" href="classExtensionFunctionHandler.html#n6">00178</a> <font class="keywordtype">bool</font> m_componentStarted; <font class="comment">// true when the scripts in a</font>
00179
00180 <font class="comment">// component description (if any) have been run</font>
00181
00189 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00190 <a class="code" href="classExtensionFunctionHandler.html#b0">startupComponent</a>();
00191
<a name="l00192"></a><a class="code" href="classExtensionFunctionHandler.html#q0">00192</a> <font class="keyword">static</font> <font class="keyword">const</font> XalanDOMChar s_tokenDelimiterCharacters[];
00193 };
00194
00195
00196
00197 XALAN_CPP_NAMESPACE_END
00198
00199
00200
00201 <font class="preprocessor">#endif // XALAN_EXTENSIONFUNCTIONHANDLER_HEADER_GUARD</font>
</font></pre></div><p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
<TR>
<TD WIDTH="80%" VALIGN="TOP">
<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
</TD>
</TR>
<TR>
<TD WIDTH="100%">
<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
</TD>
</TR>
</TABLE>