<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Atlas-C++: DebugBridge.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</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> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> </ul> </div> <h1>DebugBridge.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include <Atlas/Bridge.h></span> <a name="l00002"></a>00002 <a name="l00003"></a>00003 <span class="preprocessor">#include <iostream></span> <a name="l00004"></a>00004 <span class="preprocessor">#include <string></span> <a name="l00005"></a>00005 <a name="l00006"></a>00006 <span class="keyword">class </span>DebugBridge : <span class="keyword">public</span> Atlas::Bridge <a name="l00007"></a>00007 { <a name="l00008"></a>00008 <span class="keyword">public</span>: <a name="l00009"></a>00009 <a name="l00010"></a>00010 DebugBridge() <a name="l00011"></a>00011 { <a name="l00012"></a>00012 padding = <span class="stringliteral">""</span>; <a name="l00013"></a>00013 } <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="keyword">virtual</span> ~DebugBridge() { } <a name="l00016"></a>00016 <a name="l00017"></a>00017 <span class="keyword">virtual</span> <span class="keywordtype">void</span> streamBegin() { <a name="l00018"></a>00018 std::cout << padding << <span class="stringliteral">"streamBegin"</span> << std::endl; <a name="l00019"></a>00019 addPadding(); <a name="l00020"></a>00020 } <a name="l00021"></a>00021 <span class="keyword">virtual</span> <span class="keywordtype">void</span> streamMessage() { <a name="l00022"></a>00022 std::cout << padding << <span class="stringliteral">"New Map"</span> << std::endl; <a name="l00023"></a>00023 addPadding(); <a name="l00024"></a>00024 } <a name="l00025"></a>00025 <span class="keyword">virtual</span> <span class="keywordtype">void</span> streamEnd() { <a name="l00026"></a>00026 removePadding(); <a name="l00027"></a>00027 std::cout << padding << <span class="stringliteral">"streamEnd"</span> << std::endl; <a name="l00028"></a>00028 } <a name="l00029"></a>00029 <a name="l00030"></a>00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mapMapItem(<span class="keyword">const</span> std::string& name) <a name="l00031"></a>00031 { <a name="l00032"></a>00032 std::cout << padding << name << <span class="stringliteral">" -> New Map"</span> << std::endl; <a name="l00033"></a>00033 addPadding(); <a name="l00034"></a>00034 } <a name="l00035"></a>00035 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mapListItem(<span class="keyword">const</span> std::string& name) <a name="l00036"></a>00036 { <a name="l00037"></a>00037 std::cout << padding << name << <span class="stringliteral">" -> New List"</span> << std::endl; <a name="l00038"></a>00038 addPadding(); <a name="l00039"></a>00039 } <a name="l00040"></a>00040 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mapIntItem(<span class="keyword">const</span> std::string& name, <span class="keywordtype">long</span> i) <a name="l00041"></a>00041 { <a name="l00042"></a>00042 std::cout << padding << name << <span class="stringliteral">" -> Int: "</span> << i << std::endl; <a name="l00043"></a>00043 } <a name="l00044"></a>00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mapFloatItem(<span class="keyword">const</span> std::string& name, <span class="keywordtype">double</span> d) <a name="l00045"></a>00045 { <a name="l00046"></a>00046 std::cout << padding << name << <span class="stringliteral">" -> Float: "</span> << d << std::endl; <a name="l00047"></a>00047 } <a name="l00048"></a>00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mapStringItem(<span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& s) <a name="l00049"></a>00049 { <a name="l00050"></a>00050 std::cout << padding << name << <span class="stringliteral">" -> String: "</span> << s << std::endl; <a name="l00051"></a>00051 } <a name="l00052"></a>00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> mapEnd() <a name="l00053"></a>00053 { <a name="l00054"></a>00054 removePadding(); <a name="l00055"></a>00055 std::cout << padding << <span class="stringliteral">"mapEnd"</span> << std::endl; <a name="l00056"></a>00056 } <a name="l00057"></a>00057 <a name="l00058"></a>00058 <span class="keyword">virtual</span> <span class="keywordtype">void</span> listMapItem() <a name="l00059"></a>00059 { <a name="l00060"></a>00060 std::cout << padding << <span class="stringliteral">"New Map"</span> << std::endl; <a name="l00061"></a>00061 addPadding(); <a name="l00062"></a>00062 } <a name="l00063"></a>00063 <span class="keyword">virtual</span> <span class="keywordtype">void</span> listListItem() <a name="l00064"></a>00064 { <a name="l00065"></a>00065 std::cout << padding << <span class="stringliteral">"New List"</span> << std::endl; <a name="l00066"></a>00066 addPadding(); <a name="l00067"></a>00067 } <a name="l00068"></a>00068 <span class="keyword">virtual</span> <span class="keywordtype">void</span> listIntItem(<span class="keywordtype">long</span> i) <a name="l00069"></a>00069 { <a name="l00070"></a>00070 std::cout << padding << <span class="stringliteral">"Int: "</span> << i << std::endl; <a name="l00071"></a>00071 } <a name="l00072"></a>00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> listFloatItem(<span class="keywordtype">double</span> d) <a name="l00073"></a>00073 { <a name="l00074"></a>00074 std::cout << padding << <span class="stringliteral">"Float: "</span> << d << std::endl; <a name="l00075"></a>00075 } <a name="l00076"></a>00076 <span class="keyword">virtual</span> <span class="keywordtype">void</span> listStringItem(<span class="keyword">const</span> std::string& s) <a name="l00077"></a>00077 { <a name="l00078"></a>00078 std::cout << padding << <span class="stringliteral">"String: "</span> << s << std::endl; <a name="l00079"></a>00079 } <a name="l00080"></a>00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> listEnd() <a name="l00081"></a>00081 { <a name="l00082"></a>00082 removePadding(); <a name="l00083"></a>00083 std::cout << padding << <span class="stringliteral">"listEnd"</span> << std::endl; <a name="l00084"></a>00084 } <a name="l00085"></a>00085 <a name="l00086"></a>00086 <span class="keyword">protected</span>: <a name="l00087"></a>00087 <span class="keyword">virtual</span> <span class="keywordtype">void</span> addPadding() <a name="l00088"></a>00088 { <a name="l00089"></a>00089 padding += <span class="stringliteral">" "</span>; <a name="l00090"></a>00090 } <a name="l00091"></a>00091 <a name="l00092"></a>00092 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removePadding() <a name="l00093"></a>00093 { <a name="l00094"></a>00094 padding.erase(padding.end() - 2, padding.end()); <a name="l00095"></a>00095 } <a name="l00096"></a>00096 <a name="l00097"></a>00097 std::string padding; <a name="l00098"></a>00098 }; </pre></div></div> <HR> <P>Copyright 2000-2004 the respective authors.</P> <P>This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.</P>