~ubuntu-branches/debian/sid/pion/sid

« back to all changes in this revision

Viewing changes to doc/html/error_8hpp_source.html

  • Committer: Package Import Robot
  • Author(s): Roberto C. Sanchez
  • Date: 2013-08-03 11:53:18 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20130803115318-3cees1yi7csq8j3m
Tags: 5.0.3+dfsg-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
89
89
<a name="l00072"></a>00072         boost::exception <span class="keyword">const</span> * <span class="keyword">const</span> be = <span class="keyword">dynamic_cast&lt;</span><span class="keyword">const </span>boost::exception*<span class="keyword">&gt;</span>(&amp;e);
90
90
<a name="l00073"></a>00073         std::exception <span class="keyword">const</span> * <span class="keyword">const</span> se = <span class="keyword">dynamic_cast&lt;</span><span class="keyword">const </span>std::exception*<span class="keyword">&gt;</span>(&amp;e);
91
91
<a name="l00074"></a>00074         std::ostringstream tmp;
92
 
<a name="l00075"></a>00075         tmp &lt;&lt; (se ? se-&gt;what() : <span class="stringliteral">&quot;unknown exception&quot;</span>);
93
 
<a name="l00076"></a>00076         <span class="keywordflow">if</span> (be) {
94
 
<a name="l00077"></a>00077             <span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> * fn=boost::get_error_info&lt;boost::throw_function&gt;(*be);
95
 
<a name="l00078"></a>00078             <span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> * f=boost::get_error_info&lt;boost::throw_file&gt;(*be);
96
 
<a name="l00079"></a>00079             <span class="keywordflow">if</span> (fn) tmp &lt;&lt; <span class="stringliteral">&quot; at &quot;</span> &lt;&lt; *fn;
97
 
<a name="l00080"></a>00080             <span class="keywordflow">if</span> (f) {
98
 
<a name="l00081"></a>00081                 tmp &lt;&lt; <span class="stringliteral">&quot; [&quot;</span> &lt;&lt; *f;
99
 
<a name="l00082"></a>00082                 <span class="keywordflow">if</span>( <span class="keywordtype">int</span> <span class="keyword">const</span> * l=boost::get_error_info&lt;boost::throw_line&gt;(*be) )
100
 
<a name="l00083"></a>00083                     tmp &lt;&lt; <span class="charliteral">&apos;:&apos;</span> &lt;&lt; *l;
101
 
<a name="l00084"></a>00084             }
102
 
<a name="l00085"></a>00085         }
103
 
<a name="l00086"></a>00086         <span class="keywordflow">return</span> tmp.str();
104
 
<a name="l00087"></a>00087     }
105
 
<a name="l00088"></a>00088 
106
 
<a name="l00089"></a>00089     
107
 
<a name="l00090"></a>00090     <span class="keyword">namespace </span>error {    <span class="comment">// begin namespace error</span>
108
 
<a name="l00091"></a>00091 
109
 
<a name="l00092"></a>00092         <span class="comment">//</span>
110
 
<a name="l00093"></a>00093         <span class="comment">// pion error info types</span>
111
 
<a name="l00094"></a>00094         <span class="comment">//</span>
112
 
<a name="l00095"></a>00095         
113
 
<a name="l00097"></a>00097         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_arg_name_,std::string&gt; errinfo_message;
114
 
<a name="l00098"></a>00098         
115
 
<a name="l00100"></a>00100         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_arg_name_,std::string&gt; errinfo_arg_name;
116
 
<a name="l00101"></a>00101         
117
 
<a name="l00103"></a>00103         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_file_name_,std::string&gt; errinfo_file_name;
 
92
<a name="l00075"></a>00075         <span class="keywordflow">if</span> (se) {
 
93
<a name="l00076"></a>00076             tmp &lt;&lt; se-&gt;what();
 
94
<a name="l00077"></a>00077         } <span class="keywordflow">else</span> {
 
95
<a name="l00078"></a>00078 <span class="preprocessor">#if BOOST_VERSION &gt;= 104700</span>
 
96
<a name="l00079"></a>00079 <span class="preprocessor"></span>            tmp &lt;&lt; boost::units::detail::demangle(BOOST_EXCEPTION_DYNAMIC_TYPEID(e).type_-&gt;name());
 
97
<a name="l00080"></a>00080 <span class="preprocessor">#else</span>
 
98
<a name="l00081"></a>00081 <span class="preprocessor"></span>            tmp &lt;&lt; boost::units::detail::demangle(BOOST_EXCEPTION_DYNAMIC_TYPEID(e).type_.name());
 
99
<a name="l00082"></a>00082 <span class="preprocessor">#endif</span>
 
100
<a name="l00083"></a>00083 <span class="preprocessor"></span>        }
 
101
<a name="l00084"></a>00084         <span class="keywordflow">if</span> (be) {
 
102
<a name="l00085"></a>00085             <span class="comment">//char const * const * fn=boost::get_error_info&lt;boost::throw_function&gt;(*be);</span>
 
103
<a name="l00086"></a>00086             <span class="comment">//if (fn) tmp &lt;&lt; &quot; at &quot; &lt;&lt; *fn;</span>
 
104
<a name="l00087"></a>00087             <span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> * f=boost::get_error_info&lt;boost::throw_file&gt;(*be);
 
105
<a name="l00088"></a>00088             <span class="keywordflow">if</span> (f) {
 
106
<a name="l00089"></a>00089                 tmp &lt;&lt; <span class="stringliteral">&quot; [&quot;</span> &lt;&lt; *f;
 
107
<a name="l00090"></a>00090                 <span class="keywordflow">if</span> (<span class="keywordtype">int</span> <span class="keyword">const</span> * l=boost::get_error_info&lt;boost::throw_line&gt;(*be))
 
108
<a name="l00091"></a>00091                     tmp &lt;&lt; <span class="charliteral">&apos;:&apos;</span> &lt;&lt; *l;
 
109
<a name="l00092"></a>00092                 tmp &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;
 
110
<a name="l00093"></a>00093             }
 
111
<a name="l00094"></a>00094         }
 
112
<a name="l00095"></a>00095         <span class="keywordflow">return</span> tmp.str();
 
113
<a name="l00096"></a>00096     }
 
114
<a name="l00097"></a>00097 
 
115
<a name="l00098"></a>00098     
 
116
<a name="l00099"></a>00099     <span class="keyword">namespace </span>error {    <span class="comment">// begin namespace error</span>
 
117
<a name="l00100"></a>00100 
 
118
<a name="l00101"></a>00101         <span class="comment">//</span>
 
119
<a name="l00102"></a>00102         <span class="comment">// pion error info types</span>
 
120
<a name="l00103"></a>00103         <span class="comment">//</span>
118
121
<a name="l00104"></a>00104         
119
 
<a name="l00106"></a>00106         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_dir_name_,std::string&gt; errinfo_dir_name;
 
122
<a name="l00106"></a>00106         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_arg_name_,std::string&gt; errinfo_message;
120
123
<a name="l00107"></a>00107         
121
 
<a name="l00109"></a>00109         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_plugin_name_,std::string&gt; errinfo_plugin_name;
 
124
<a name="l00109"></a>00109         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_arg_name_,std::string&gt; errinfo_arg_name;
122
125
<a name="l00110"></a>00110         
123
 
<a name="l00112"></a>00112         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_dir_name_,std::string&gt; errinfo_symbol_name;
124
 
<a name="l00113"></a>00113 
125
 
<a name="l00114"></a>00114         
126
 
<a name="l00115"></a>00115         <span class="comment">//</span>
127
 
<a name="l00116"></a>00116         <span class="comment">// pion exception types</span>
128
 
<a name="l00117"></a>00117         <span class="comment">//</span>
129
 
<a name="l00118"></a>00118 
130
 
<a name="l00120"></a><a class="code" href="classpion_1_1error_1_1bad__arg.html">00120</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1bad__arg.html" title="exception thrown for an invalid configuration argument or option">bad_arg</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
131
 
<a name="l00121"></a>00121             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
132
 
<a name="l00122"></a>00122                 set_what_msg(<span class="stringliteral">&quot;bad argument&quot;</span>, boost::get_error_info&lt;errinfo_arg_name&gt;(*<span class="keyword">this</span>));
133
 
<a name="l00123"></a>00123             }
134
 
<a name="l00124"></a>00124         };
135
 
<a name="l00125"></a>00125         
136
 
<a name="l00127"></a><a class="code" href="classpion_1_1error_1_1bad__config.html">00127</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1bad__config.html" title="exception thrown if there is an error parsing a configuration file">bad_config</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
137
 
<a name="l00128"></a>00128             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
138
 
<a name="l00129"></a>00129                 set_what_msg(<span class="stringliteral">&quot;config parser error&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
139
 
<a name="l00130"></a>00130             }
140
 
<a name="l00131"></a>00131         };
141
 
<a name="l00132"></a>00132         
142
 
<a name="l00134"></a><a class="code" href="classpion_1_1error_1_1open__file.html">00134</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1open__file.html" title="exception thrown if we failed to open a file">open_file</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
143
 
<a name="l00135"></a>00135             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
144
 
<a name="l00136"></a>00136                 set_what_msg(<span class="stringliteral">&quot;unable to open file&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
145
 
<a name="l00137"></a>00137             }
146
 
<a name="l00138"></a>00138         };
147
 
<a name="l00139"></a>00139         
148
 
<a name="l00141"></a><a class="code" href="classpion_1_1error_1_1open__plugin.html">00141</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1open__plugin.html" title="exception thrown if we are unable to open a plugin">open_plugin</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
149
 
<a name="l00142"></a>00142             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
150
 
<a name="l00143"></a>00143                 set_what_msg(<span class="stringliteral">&quot;unable to open plugin&quot;</span>, boost::get_error_info&lt;errinfo_plugin_name&gt;(*<span class="keyword">this</span>));
151
 
<a name="l00144"></a>00144             }
152
 
<a name="l00145"></a>00145         };
153
 
<a name="l00146"></a>00146         
154
 
<a name="l00148"></a><a class="code" href="classpion_1_1error_1_1read__file.html">00148</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1read__file.html" title="exception thrown if we failed to read data from a file">read_file</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
155
 
<a name="l00149"></a>00149             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
156
 
<a name="l00150"></a>00150                 set_what_msg(<span class="stringliteral">&quot;unable to read file&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
157
 
<a name="l00151"></a>00151             }
158
 
<a name="l00152"></a>00152         };
159
 
<a name="l00153"></a>00153         
160
 
<a name="l00155"></a><a class="code" href="classpion_1_1error_1_1file__not__found.html">00155</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1file__not__found.html" title="exception thrown if a file is not found">file_not_found</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
161
 
<a name="l00156"></a>00156             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
162
 
<a name="l00157"></a>00157                 set_what_msg(<span class="stringliteral">&quot;file not found&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
163
 
<a name="l00158"></a>00158             }
164
 
<a name="l00159"></a>00159         };
165
 
<a name="l00160"></a>00160         
166
 
<a name="l00162"></a><a class="code" href="classpion_1_1error_1_1directory__not__found.html">00162</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1directory__not__found.html" title="exception thrown if a required directory is not found">directory_not_found</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
167
 
<a name="l00163"></a>00163             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
168
 
<a name="l00164"></a>00164                 set_what_msg(<span class="stringliteral">&quot;directory not found&quot;</span>, boost::get_error_info&lt;errinfo_dir_name&gt;(*<span class="keyword">this</span>));
169
 
<a name="l00165"></a>00165             }
170
 
<a name="l00166"></a>00166         };
171
 
<a name="l00167"></a>00167 
172
 
<a name="l00169"></a><a class="code" href="classpion_1_1error_1_1plugin__not__found.html">00169</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1plugin__not__found.html" title="exception thrown if a plugin cannot be found">plugin_not_found</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
173
 
<a name="l00170"></a>00170             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
174
 
<a name="l00171"></a>00171                 set_what_msg(<span class="stringliteral">&quot;plugin not found&quot;</span>, boost::get_error_info&lt;errinfo_plugin_name&gt;(*<span class="keyword">this</span>));
175
 
<a name="l00172"></a>00172             }
176
 
<a name="l00173"></a>00173         };
177
 
<a name="l00174"></a>00174         
178
 
<a name="l00176"></a><a class="code" href="classpion_1_1error_1_1duplicate__plugin.html">00176</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1duplicate__plugin.html" title="exception thrown if we try to add or load a duplicate plugin">duplicate_plugin</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
179
 
<a name="l00177"></a>00177             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
180
 
<a name="l00178"></a>00178                 set_what_msg(<span class="stringliteral">&quot;duplicate plugin&quot;</span>, boost::get_error_info&lt;errinfo_plugin_name&gt;(*<span class="keyword">this</span>));
181
 
<a name="l00179"></a>00179             }
182
 
<a name="l00180"></a>00180         };
183
 
<a name="l00181"></a>00181 
184
 
<a name="l00183"></a><a class="code" href="classpion_1_1error_1_1plugin__missing__symbol.html">00183</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1plugin__missing__symbol.html" title="exception thrown if a plugin is missing a required symbol">plugin_missing_symbol</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
185
 
<a name="l00184"></a>00184             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
186
 
<a name="l00185"></a>00185                 set_what_msg(<span class="stringliteral">&quot;missing plugin symbol&quot;</span>, boost::get_error_info&lt;errinfo_symbol_name&gt;(*<span class="keyword">this</span>));
187
 
<a name="l00186"></a>00186             }
188
 
<a name="l00187"></a>00187         };
189
 
<a name="l00188"></a>00188       
190
 
<a name="l00190"></a><a class="code" href="classpion_1_1error_1_1plugin__undefined.html">00190</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1plugin__undefined.html" title="exception thrown if a plugin has an undefined state">plugin_undefined</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
191
 
<a name="l00191"></a>00191             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
192
 
<a name="l00192"></a>00192                 set_what_msg(<span class="stringliteral">&quot;plugin has undefined state&quot;</span>);
193
 
<a name="l00193"></a>00193             }
194
 
<a name="l00194"></a>00194         };
195
 
<a name="l00195"></a>00195         
196
 
<a name="l00197"></a><a class="code" href="classpion_1_1error_1_1bad__password__hash.html">00197</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1bad__password__hash.html" title="exception thrown if a bad password hash is provided">bad_password_hash</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
197
 
<a name="l00198"></a>00198             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
198
 
<a name="l00199"></a>00199                 set_what_msg(<span class="stringliteral">&quot;bad password hash&quot;</span>);
199
 
<a name="l00200"></a>00200             }
200
 
<a name="l00201"></a>00201         };
201
 
<a name="l00202"></a>00202     
202
 
<a name="l00203"></a>00203     }   <span class="comment">// end namespace error</span>
203
 
<a name="l00204"></a>00204     
204
 
<a name="l00205"></a>00205 }   <span class="comment">// end namespace pion</span>
205
 
<a name="l00206"></a>00206 
206
 
<a name="l00207"></a>00207 <span class="preprocessor">#endif</span>
 
126
<a name="l00112"></a>00112         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_file_name_,std::string&gt; errinfo_file_name;
 
127
<a name="l00113"></a>00113         
 
128
<a name="l00115"></a>00115         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_dir_name_,std::string&gt; errinfo_dir_name;
 
129
<a name="l00116"></a>00116         
 
130
<a name="l00118"></a>00118         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_plugin_name_,std::string&gt; errinfo_plugin_name;
 
131
<a name="l00119"></a>00119         
 
132
<a name="l00121"></a>00121         <span class="keyword">typedef</span> boost::error_info&lt;struct errinfo_dir_name_,std::string&gt; errinfo_symbol_name;
 
133
<a name="l00122"></a>00122 
 
134
<a name="l00123"></a>00123         
 
135
<a name="l00124"></a>00124         <span class="comment">//</span>
 
136
<a name="l00125"></a>00125         <span class="comment">// pion exception types</span>
 
137
<a name="l00126"></a>00126         <span class="comment">//</span>
 
138
<a name="l00127"></a>00127 
 
139
<a name="l00129"></a><a class="code" href="classpion_1_1error_1_1bad__arg.html">00129</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1bad__arg.html" title="exception thrown for an invalid configuration argument or option">bad_arg</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
140
<a name="l00130"></a>00130             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
141
<a name="l00131"></a>00131                 set_what_msg(<span class="stringliteral">&quot;bad argument&quot;</span>, boost::get_error_info&lt;errinfo_arg_name&gt;(*<span class="keyword">this</span>));
 
142
<a name="l00132"></a>00132             }
 
143
<a name="l00133"></a>00133         };
 
144
<a name="l00134"></a>00134         
 
145
<a name="l00136"></a><a class="code" href="classpion_1_1error_1_1bad__config.html">00136</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1bad__config.html" title="exception thrown if there is an error parsing a configuration file">bad_config</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
146
<a name="l00137"></a>00137             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
147
<a name="l00138"></a>00138                 set_what_msg(<span class="stringliteral">&quot;config parser error&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
 
148
<a name="l00139"></a>00139             }
 
149
<a name="l00140"></a>00140         };
 
150
<a name="l00141"></a>00141         
 
151
<a name="l00143"></a><a class="code" href="classpion_1_1error_1_1open__file.html">00143</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1open__file.html" title="exception thrown if we failed to open a file">open_file</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
152
<a name="l00144"></a>00144             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
153
<a name="l00145"></a>00145                 set_what_msg(<span class="stringliteral">&quot;unable to open file&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
 
154
<a name="l00146"></a>00146             }
 
155
<a name="l00147"></a>00147         };
 
156
<a name="l00148"></a>00148         
 
157
<a name="l00150"></a><a class="code" href="classpion_1_1error_1_1open__plugin.html">00150</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1open__plugin.html" title="exception thrown if we are unable to open a plugin">open_plugin</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
158
<a name="l00151"></a>00151             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
159
<a name="l00152"></a>00152                 set_what_msg(<span class="stringliteral">&quot;unable to open plugin&quot;</span>, boost::get_error_info&lt;errinfo_plugin_name&gt;(*<span class="keyword">this</span>));
 
160
<a name="l00153"></a>00153             }
 
161
<a name="l00154"></a>00154         };
 
162
<a name="l00155"></a>00155         
 
163
<a name="l00157"></a><a class="code" href="classpion_1_1error_1_1read__file.html">00157</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1read__file.html" title="exception thrown if we failed to read data from a file">read_file</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
164
<a name="l00158"></a>00158             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
165
<a name="l00159"></a>00159                 set_what_msg(<span class="stringliteral">&quot;unable to read file&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
 
166
<a name="l00160"></a>00160             }
 
167
<a name="l00161"></a>00161         };
 
168
<a name="l00162"></a>00162         
 
169
<a name="l00164"></a><a class="code" href="classpion_1_1error_1_1file__not__found.html">00164</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1file__not__found.html" title="exception thrown if a file is not found">file_not_found</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
170
<a name="l00165"></a>00165             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
171
<a name="l00166"></a>00166                 set_what_msg(<span class="stringliteral">&quot;file not found&quot;</span>, boost::get_error_info&lt;errinfo_file_name&gt;(*<span class="keyword">this</span>));
 
172
<a name="l00167"></a>00167             }
 
173
<a name="l00168"></a>00168         };
 
174
<a name="l00169"></a>00169         
 
175
<a name="l00171"></a><a class="code" href="classpion_1_1error_1_1directory__not__found.html">00171</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1directory__not__found.html" title="exception thrown if a required directory is not found">directory_not_found</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
176
<a name="l00172"></a>00172             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
177
<a name="l00173"></a>00173                 set_what_msg(<span class="stringliteral">&quot;directory not found&quot;</span>, boost::get_error_info&lt;errinfo_dir_name&gt;(*<span class="keyword">this</span>));
 
178
<a name="l00174"></a>00174             }
 
179
<a name="l00175"></a>00175         };
 
180
<a name="l00176"></a>00176 
 
181
<a name="l00178"></a><a class="code" href="classpion_1_1error_1_1plugin__not__found.html">00178</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1plugin__not__found.html" title="exception thrown if a plugin cannot be found">plugin_not_found</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
182
<a name="l00179"></a>00179             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
183
<a name="l00180"></a>00180                 set_what_msg(<span class="stringliteral">&quot;plugin not found&quot;</span>, boost::get_error_info&lt;errinfo_plugin_name&gt;(*<span class="keyword">this</span>));
 
184
<a name="l00181"></a>00181             }
 
185
<a name="l00182"></a>00182         };
 
186
<a name="l00183"></a>00183         
 
187
<a name="l00185"></a><a class="code" href="classpion_1_1error_1_1duplicate__plugin.html">00185</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1duplicate__plugin.html" title="exception thrown if we try to add or load a duplicate plugin">duplicate_plugin</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
188
<a name="l00186"></a>00186             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
189
<a name="l00187"></a>00187                 set_what_msg(<span class="stringliteral">&quot;duplicate plugin&quot;</span>, boost::get_error_info&lt;errinfo_plugin_name&gt;(*<span class="keyword">this</span>));
 
190
<a name="l00188"></a>00188             }
 
191
<a name="l00189"></a>00189         };
 
192
<a name="l00190"></a>00190 
 
193
<a name="l00192"></a><a class="code" href="classpion_1_1error_1_1plugin__missing__symbol.html">00192</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1plugin__missing__symbol.html" title="exception thrown if a plugin is missing a required symbol">plugin_missing_symbol</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
194
<a name="l00193"></a>00193             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
195
<a name="l00194"></a>00194                 set_what_msg(<span class="stringliteral">&quot;missing plugin symbol&quot;</span>, boost::get_error_info&lt;errinfo_symbol_name&gt;(*<span class="keyword">this</span>));
 
196
<a name="l00195"></a>00195             }
 
197
<a name="l00196"></a>00196         };
 
198
<a name="l00197"></a>00197       
 
199
<a name="l00199"></a><a class="code" href="classpion_1_1error_1_1plugin__undefined.html">00199</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1plugin__undefined.html" title="exception thrown if a plugin has an undefined state">plugin_undefined</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
200
<a name="l00200"></a>00200             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
201
<a name="l00201"></a>00201                 set_what_msg(<span class="stringliteral">&quot;plugin has undefined state&quot;</span>);
 
202
<a name="l00202"></a>00202             }
 
203
<a name="l00203"></a>00203         };
 
204
<a name="l00204"></a>00204         
 
205
<a name="l00206"></a><a class="code" href="classpion_1_1error_1_1bad__password__hash.html">00206</a>         <span class="keyword">class </span><a class="code" href="classpion_1_1error_1_1bad__password__hash.html" title="exception thrown if a bad password hash is provided">bad_password_hash</a> : <span class="keyword">public</span> pion::<a class="code" href="classpion_1_1exception.html">exception</a> {
 
206
<a name="l00207"></a>00207             <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_what_msg()<span class="keyword"> const </span>{
 
207
<a name="l00208"></a>00208                 set_what_msg(<span class="stringliteral">&quot;bad password hash&quot;</span>);
 
208
<a name="l00209"></a>00209             }
 
209
<a name="l00210"></a>00210         };
 
210
<a name="l00211"></a>00211     
 
211
<a name="l00212"></a>00212     }   <span class="comment">// end namespace error</span>
 
212
<a name="l00213"></a>00213     
 
213
<a name="l00214"></a>00214 }   <span class="comment">// end namespace pion</span>
 
214
<a name="l00215"></a>00215 
 
215
<a name="l00216"></a>00216 <span class="preprocessor">#endif</span>
207
216
</pre></div></div>
208
 
<hr size="1"/><address style="text-align: right;"><small>Generated on 15 Apr 2013 for pion by&nbsp;
 
217
<hr size="1"/><address style="text-align: right;"><small>Generated on 26 Jul 2013 for pion by&nbsp;
209
218
<a href="http://www.doxygen.org/index.html">
210
219
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
211
220
</body>