📄 _pion_8hpp-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>libpion: /Users/mdickey/code/libpion-export/include/libpion/Pion.hpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul></div><h1>/Users/mdickey/code/libpion-export/include/libpion/Pion.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// -----------------------------------------------------------------</span><a name="l00002"></a>00002 <span class="comment">// libpion: a C++ framework for building lightweight HTTP interfaces</span><a name="l00003"></a>00003 <span class="comment">// -----------------------------------------------------------------</span><a name="l00004"></a>00004 <span class="comment">// Copyright (C) 2007 Atomic Labs, Inc. (http://www.atomiclabs.com)</span><a name="l00005"></a>00005 <span class="comment">//</span><a name="l00006"></a>00006 <span class="comment">// Distributed under the Boost Software License, Version 1.0.</span><a name="l00007"></a>00007 <span class="comment">// See accompanying file COPYING or copy at http://www.boost.org/LICENSE_1_0.txt</span><a name="l00008"></a>00008 <span class="comment">//</span><a name="l00009"></a>00009 <a name="l00010"></a>00010 <span class="preprocessor">#ifndef __PION_PION_HEADER__</span><a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define __PION_PION_HEADER__</span><a name="l00012"></a>00012 <span class="preprocessor"></span><a name="l00013"></a>00013 <span class="preprocessor">#include <libpion/PionConfig.hpp></span><a name="l00014"></a>00014 <span class="preprocessor">#include <libpion/PionEngine.hpp></span><a name="l00015"></a>00015 <span class="preprocessor">#include <libpion/PionPlugin.hpp></span><a name="l00016"></a>00016 <a name="l00017"></a>00017 <a name="l00018"></a>00018 <span class="keyword">namespace </span>pion { <span class="comment">// begin namespace pion</span><a name="l00019"></a>00019 <a name="l00023"></a><a class="code" href="structpion_1_1_pion.html">00023</a> <span class="keyword">struct </span><a class="code" href="structpion_1_1_pion.html">Pion</a> {<a name="l00024"></a>00024 <a name="l00032"></a><a class="code" href="structpion_1_1_pion.html#33a29edd3cc9c0038859db498b60da83">00032</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structpion_1_1_pion.html#33a29edd3cc9c0038859db498b60da83">addServer</a>(<a class="code" href="namespacepion.html#a54ac170d28fb8b88d560775581a9b8f" title="data type for a TCPServer pointer">TCPServerPtr</a> tcp_server) {<a name="l00033"></a>00033 <span class="keywordflow">return</span> <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#39c7e8b0eeca284001cf7a9455cbb5ae">addServer</a>(tcp_server);<a name="l00034"></a>00034 }<a name="l00035"></a>00035 <a name="l00043"></a><a class="code" href="structpion_1_1_pion.html#28ecaa62ec039912d903c3005853f1c2">00043</a> <span class="keyword">inline</span> <span class="keyword">static</span> <a class="code" href="namespacepion.html#7ed8c1f0fbb318801a8a19dda04f7001" title="data type for a HTTP protocol handler pointer">HTTPServerPtr</a> <a class="code" href="structpion_1_1_pion.html#28ecaa62ec039912d903c3005853f1c2">addHTTPServer</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tcp_port) {<a name="l00044"></a>00044 <span class="keywordflow">return</span> <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#caa79f07e5eb562eb4b3ba99230ee941">addHTTPServer</a>(tcp_port);<a name="l00045"></a>00045 }<a name="l00046"></a>00046 <a name="l00054"></a><a class="code" href="structpion_1_1_pion.html#c4f47bc006e8c4a38ccc7bca31d48357">00054</a> <span class="keyword">inline</span> <span class="keyword">static</span> <a class="code" href="namespacepion.html#a54ac170d28fb8b88d560775581a9b8f" title="data type for a TCPServer pointer">TCPServerPtr</a> <a class="code" href="structpion_1_1_pion.html#c4f47bc006e8c4a38ccc7bca31d48357">getServer</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tcp_port) {<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#d2a1e4fc8c01020702b067508c027d6d">getServer</a>(tcp_port);<a name="l00056"></a>00056 }<a name="l00057"></a>00057 <a name="l00063"></a><a class="code" href="structpion_1_1_pion.html#b6a70d791c6d4d89a7e074e419ebc46e">00063</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#b6a70d791c6d4d89a7e074e419ebc46e">stop</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> reset_servers = <span class="keyword">false</span>) {<a name="l00064"></a>00064 <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#2c6d002ad46191a4c4c4046537db329e">stop</a>(reset_servers);<a name="l00065"></a>00065 }<a name="l00066"></a>00066 <a name="l00068"></a><a class="code" href="structpion_1_1_pion.html#a5daa267c01446014a070b551f7d8c5a">00068</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#a5daa267c01446014a070b551f7d8c5a" title="starts pion">start</a>(<span class="keywordtype">void</span>) {<a name="l00069"></a>00069 <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#82d766568a1629f92f36ff6930ba0751" title="starts pion">start</a>();<a name="l00070"></a>00070 }<a name="l00071"></a>00071 <a name="l00073"></a><a class="code" href="structpion_1_1_pion.html#e6f662f606c222e5ed7f92f7c05f5e79">00073</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#e6f662f606c222e5ed7f92f7c05f5e79" title="the calling thread will sleep until the engine has stopped">join</a>(<span class="keywordtype">void</span>) {<a name="l00074"></a>00074 <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#e9ae5bdbf1ef328a83e9a1a12037d08e" title="the calling thread will sleep until the engine has stopped">join</a>();<a name="l00075"></a>00075 }<a name="l00076"></a>00076 <a name="l00078"></a><a class="code" href="structpion_1_1_pion.html#6258082fd674d53140df67f2b5b60a72">00078</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#6258082fd674d53140df67f2b5b60a72" title="sets the number of threads to be used (these are shared by all servers)">setNumThreads</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n) {<a name="l00079"></a>00079 <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#5d04f83ff12550d8a645cd92dbd3a753" title="sets the number of threads to be used (these are shared by all servers)">setNumThreads</a>(n);<a name="l00080"></a>00080 }<a name="l00081"></a>00081 <a name="l00083"></a><a class="code" href="structpion_1_1_pion.html#ded3e48a839abae504e54a28299da56f">00083</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structpion_1_1_pion.html#ded3e48a839abae504e54a28299da56f" title="returns the number of threads currently in use">getNumThreads</a>(<span class="keywordtype">void</span>) {<a name="l00084"></a>00084 <span class="keywordflow">return</span> <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#18533750090c18bedee61564d9769140" title="returns the number of threads currently in use">getNumThreads</a>();<a name="l00085"></a>00085 }<a name="l00086"></a>00086 <a name="l00088"></a><a class="code" href="structpion_1_1_pion.html#b8312ab1b94b9c8bbf24f81f4f58fb29">00088</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#b8312ab1b94b9c8bbf24f81f4f58fb29" title="sets the logger to be used">setLogger</a>(<a class="code" href="namespacepion.html#917bc483e4f692504156efb93c11b322">PionLogger</a> log_ptr) {<a name="l00089"></a>00089 <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#74aa1df1308e3a02e2eb0b3bee141706" title="sets the logger to be used">setLogger</a>(log_ptr);<a name="l00090"></a>00090 }<a name="l00091"></a>00091 <a name="l00093"></a><a class="code" href="structpion_1_1_pion.html#dd7ba6ad98b594faa470040cd81c90dc">00093</a> <span class="keyword">inline</span> <span class="keyword">static</span> <a class="code" href="namespacepion.html#917bc483e4f692504156efb93c11b322">PionLogger</a> <a class="code" href="structpion_1_1_pion.html#dd7ba6ad98b594faa470040cd81c90dc" title="returns the logger currently in use">getLogger</a>(<span class="keywordtype">void</span>) {<a name="l00094"></a>00094 <span class="keywordflow">return</span> <a class="code" href="classpion_1_1_pion_engine.html#041692dfc331532fd97a79b43a7aeb74">PionEngine::getInstance</a>().<a class="code" href="classpion_1_1_pion_engine.html#1d656ab4125167ce1e17e684d7c80b93" title="returns the logger currently in use">getLogger</a>();<a name="l00095"></a>00095 }<a name="l00096"></a>00096 <a name="l00098"></a><a class="code" href="structpion_1_1_pion.html#33d3b7a929703cd30195ecfc1f16ae06">00098</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#33d3b7a929703cd30195ecfc1f16ae06" title="appends a directory to the plug-in search path">addPluginDirectory</a>(<span class="keyword">const</span> std::string& dir) {<a name="l00099"></a>00099 <a class="code" href="classpion_1_1_pion_plugin.html#8b8215145cd47f8f87d87cad24bbc488" title="appends a directory to the plug-in search path">PionPlugin::addPluginDirectory</a>(dir);<a name="l00100"></a>00100 }<a name="l00101"></a>00101 <a name="l00103"></a><a class="code" href="structpion_1_1_pion.html#36fbf84d05e2b340eb14c5d7195dcb50">00103</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structpion_1_1_pion.html#36fbf84d05e2b340eb14c5d7195dcb50" title="clears all directories from the plug-in search path">resetPluginDirectories</a>(<span class="keywordtype">void</span>) {<a name="l00104"></a>00104 <a class="code" href="classpion_1_1_pion_plugin.html#e3edad5eff79a95d95e622ef4bbe3fc0" title="clears all directories from the plug-in search path">PionPlugin::resetPluginDirectories</a>();<a name="l00105"></a>00105 }<a name="l00106"></a>00106 };<a name="l00107"></a>00107 <a name="l00108"></a>00108 } <span class="comment">// end namespace pion</span><a name="l00109"></a>00109 <a name="l00110"></a>00110 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 19 13:29:22 2007 for libpion by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -