|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /proc/21573/root/usr/share/devhelp/books/dbus/api/ |
Upload File : |
<!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>D-Bus: Error reporting</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.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
</ul></div>
<h1>Error reporting<br>
<small>
[<a class="el" href="group__DBus.html">D-Bus low-level public API</a>]</small>
</h1>Error reporting.
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusError.html">DBusError</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Object representing an exception. <a href="structDBusError.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g568b785040bdbff30312e71811907f4b"></a><!-- doxytag: member="DBusErrors::DBusError" ref="g568b785040bdbff30312e71811907f4b" args="" -->
typedef <a class="el" href="structDBusError.html">DBusError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#g568b785040bdbff30312e71811907f4b">DBusError</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mostly-opaque type representing an error that occurred. <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#g8ce28eae754237703296599967d7ab77">dbus_error_init</a> (<a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initializes a <a class="el" href="structDBusError.html">DBusError</a> structure. <a href="#g8ce28eae754237703296599967d7ab77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#gd192d53cf930b1b12e1ce91bc0963709">dbus_error_free</a> (<a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees an error that's been set (or just initialized), then reinitializes the error as in <a class="el" href="group__DBusErrors.html#g8ce28eae754237703296599967d7ab77">dbus_error_init()</a>. <a href="#gd192d53cf930b1b12e1ce91bc0963709"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#g6d88800f109912571aae71427b6c1587">dbus_set_error_const</a> (<a class="el" href="structDBusError.html">DBusError</a> *error, const char *name, const char *message)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Assigns an error name and message to a <a class="el" href="structDBusError.html">DBusError</a>. <a href="#g6d88800f109912571aae71427b6c1587"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#g9857517c813b19ef87b12f00558cecda">dbus_move_error</a> (<a class="el" href="structDBusError.html">DBusError</a> *src, <a class="el" href="structDBusError.html">DBusError</a> *dest)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Moves an error src into dest, freeing src and overwriting dest. <a href="#g9857517c813b19ef87b12f00558cecda"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#gd4a073fdbcfe5170ebb984fb79c7a94f">dbus_error_has_name</a> (const <a class="el" href="structDBusError.html">DBusError</a> *error, const char *name)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the error is set and has the given name. <a href="#gd4a073fdbcfe5170ebb984fb79c7a94f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#g49c2509c79ae0fa01f5004b17e2ec6be">dbus_error_is_set</a> (const <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether an error occurred (the error is set). <a href="#g49c2509c79ae0fa01f5004b17e2ec6be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#g4e1b4b297468006781a957129ad9cf00">dbus_set_error</a> (<a class="el" href="structDBusError.html">DBusError</a> *error, const char *name, const char *format,...)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Assigns an error name and message to a <a class="el" href="structDBusError.html">DBusError</a>. <a href="#g4e1b4b297468006781a957129ad9cf00"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Error reporting.
<p>
Types and functions related to reporting errors.<p>
In essence D-Bus error reporting works as follows:<p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structDBusError.html">DBusError</a> error;
<a class="code" href="group__DBusErrors.html#g8ce28eae754237703296599967d7ab77">dbus_error_init</a> (&error);
dbus_some_function (arg1, arg2, &error);
<span class="keywordflow">if</span> (<a class="code" href="group__DBusErrors.html#g49c2509c79ae0fa01f5004b17e2ec6be">dbus_error_is_set</a> (&error))
{
fprintf (stderr, <span class="stringliteral">"an error occurred: %s\n"</span>, error.message);
<a class="code" href="group__DBusErrors.html#gd192d53cf930b1b12e1ce91bc0963709">dbus_error_free</a> (&error);
}
</pre></div><p>
By convention, all functions allow <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> instead of a DBusError*, so callers who don't care about the error can ignore it.<p>
There are some rules. An error passed to a D-Bus function must always be unset; you can't pass in an error that's already set. If a function has a return code indicating whether an error occurred, and also a <a class="el" href="structDBusError.html">DBusError</a> parameter, then the error will always be set if and only if the return code indicates an error occurred. i.e. the return code and the error are never going to disagree.<p>
An error only needs to be freed if it's been set, not if it's merely been initialized.<p>
You can check the specific error that occurred using <a class="el" href="group__DBusErrors.html#gd4a073fdbcfe5170ebb984fb79c7a94f">dbus_error_has_name()</a>.<p>
Errors will not be set for programming errors, such as passing invalid arguments to the libdbus API. Instead, libdbus will print warnings, exit on a failed assertion, or even crash in those cases (in other words, incorrect use of the API results in undefined behavior, possibly accompanied by helpful debugging output if you're lucky). <hr><h2>Function Documentation</h2>
<a class="anchor" name="gd192d53cf930b1b12e1ce91bc0963709"></a><!-- doxytag: member="dbus-errors.c::dbus_error_free" ref="gd192d53cf930b1b12e1ce91bc0963709" args="(DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbus_error_free </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Frees an error that's been set (or just initialized), then reinitializes the error as in <a class="el" href="group__DBusErrors.html#g8ce28eae754237703296599967d7ab77">dbus_error_init()</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>memory where the error is stored. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00183">183</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-errors_8c-source.html#l00046">DBusRealError::const_message</a>, <a class="el" href="dbus-errors_8c-source.html#l00160">dbus_error_init()</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-errors_8c-source.html#l00044">DBusRealError::message</a>, <a class="el" href="dbus-errors_8c-source.html#l00043">DBusRealError::name</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00715">_dbus_get_local_machine_uuid_encoded()</a>, <a class="el" href="dbus-keyring_8c-source.html#l00713">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-internals_8c-source.html#l00666">_dbus_read_uuid_file()</a>, <a class="el" href="dbus-errors_8c-source.html#l00251">dbus_move_error()</a>, and <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="gd4a073fdbcfe5170ebb984fb79c7a94f"></a><!-- doxytag: member="dbus-errors.c::dbus_error_has_name" ref="gd4a073fdbcfe5170ebb984fb79c7a94f" args="(const DBusError *error, const char *name)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_error_has_name </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Checks whether the error is set and has the given name.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>the error </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if the given named error occurred </dd></dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00274">274</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-string_8c-source.html#l02192">_dbus_string_equal()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-errors_8h-source.html#l00050">DBusError::message</a>, <a class="el" href="dbus-errors_8h-source.html#l00049">DBusError::name</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00666">_dbus_read_uuid_file()</a>.
</div>
</div><p>
<a class="anchor" name="g8ce28eae754237703296599967d7ab77"></a><!-- doxytag: member="dbus-errors.c::dbus_error_init" ref="g8ce28eae754237703296599967d7ab77" args="(DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbus_error_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Initializes a <a class="el" href="structDBusError.html">DBusError</a> structure.
<p>
Does not allocate any memory; the error only needs to be freed if it is set at some point.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>the <a class="el" href="structDBusError.html">DBusError</a>. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00160">160</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-errors_8c-source.html#l00046">DBusRealError::const_message</a>, <a class="el" href="dbus-errors_8c-source.html#l00044">DBusRealError::message</a>, <a class="el" href="dbus-errors_8c-source.html#l00043">DBusRealError::name</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00715">_dbus_get_local_machine_uuid_encoded()</a>, <a class="el" href="dbus-keyring_8c-source.html#l00713">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-internals_8c-source.html#l00666">_dbus_read_uuid_file()</a>, <a class="el" href="dbus-transport_8c-source.html#l00350">_dbus_transport_open()</a>, <a class="el" href="dbus-errors_8c-source.html#l00183">dbus_error_free()</a>, <a class="el" href="dbus-errors_8c-source.html#l00251">dbus_move_error()</a>, and <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="g49c2509c79ae0fa01f5004b17e2ec6be"></a><!-- doxytag: member="dbus-errors.c::dbus_error_is_set" ref="g49c2509c79ae0fa01f5004b17e2ec6be" args="(const DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_error_is_set </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Checks whether an error occurred (the error is set).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>the error object </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if an error occurred </dd></dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00301">301</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-errors_8h-source.html#l00050">DBusError::message</a>, <a class="el" href="dbus-errors_8h-source.html#l00049">DBusError::name</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00074">_dbus_become_daemon()</a>, <a class="el" href="dbus-transport_8c-source.html#l00350">_dbus_transport_open()</a>, <a class="el" href="dbus-address_8c-source.html#l00617">dbus_address_unescape_value()</a>, <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>, and <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="g9857517c813b19ef87b12f00558cecda"></a><!-- doxytag: member="dbus-errors.c::dbus_move_error" ref="g9857517c813b19ef87b12f00558cecda" args="(DBusError *src, DBusError *dest)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbus_move_error </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>dest</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Moves an error src into dest, freeing src and overwriting dest.
<p>
Both src and dest must be initialized. src is reinitialized to an empty error. dest may not contain an existing error. If the destination is <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, just frees and reinits the source error.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>the source error </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the destination error or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00251">251</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-errors_8c-source.html#l00183">dbus_error_free()</a>, and <a class="el" href="dbus-errors_8c-source.html#l00160">dbus_error_init()</a>.
<p>
Referenced by <a class="el" href="dbus-internals_8c-source.html#l00666">_dbus_read_uuid_file()</a>, <a class="el" href="dbus-transport_8c-source.html#l00350">_dbus_transport_open()</a>, and <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="g4e1b4b297468006781a957129ad9cf00"></a><!-- doxytag: member="dbus-errors.c::dbus_set_error" ref="g4e1b4b297468006781a957129ad9cf00" args="(DBusError *error, const char *name, const char *format,...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbus_set_error </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"> <em>...</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Assigns an error name and message to a <a class="el" href="structDBusError.html">DBusError</a>.
<p>
Does nothing if error is <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.<p>
The format may be <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, which means a (pretty much useless) default message will be deduced from the name. This is not a good idea, just go ahead and provide a useful error message. It won't hurt you.<p>
If no memory can be allocated for the error message, an out-of-memory error message will be set instead.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>the error.or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the error name </td></tr>
<tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>printf-style format string. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00326">326</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-internals_8c-source.html#l00396">_dbus_strdup()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c-source.html#l01192">_dbus_string_append_printf_valist()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-string_8c-source.html#l00608">_dbus_string_steal_data()</a>, <a class="el" href="dbus-errors_8c-source.html#l00046">DBusRealError::const_message</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-errors_8c-source.html#l00044">DBusRealError::message</a>, <a class="el" href="dbus-errors_8h-source.html#l00050">DBusError::message</a>, <a class="el" href="dbus-errors_8c-source.html#l00043">DBusRealError::name</a>, <a class="el" href="dbus-errors_8h-source.html#l00049">DBusError::name</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-spawn_8c-source.html#l00663">_dbus_babysitter_set_child_exit_error()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00074">_dbus_become_daemon()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00275">_dbus_change_to_daemon_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01365">_dbus_check_dir_is_private_to_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02531">_dbus_close()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00746">_dbus_connect_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00473">_dbus_connect_unix_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02297">_dbus_create_directory()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02222">_dbus_create_file_exclusively()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00444">_dbus_delete_directory()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02268">_dbus_delete_file()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00678">_dbus_directory_get_next_file()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00590">_dbus_directory_open()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01949">_dbus_file_get_contents()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02641">_dbus_full_duplex_pipe()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02754">_dbus_get_autolaunch_address()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00043">_dbus_is_console_user()</a>, <a class="el" href="dbus-keyring_8c-source.html#l00713">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00854">_dbus_listen_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00609">_dbus_listen_unix_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02195">_dbus_make_file_world_readable()</a>, <a class="el" href="dbus-message_8c-source.html#l00641">_dbus_message_iter_get_args_valist()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00186">_dbus_pipe_write()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l01112">_dbus_read_credentials_socket()</a>, <a class="el" href="dbus-server-unix_8c-source.html#l00052">_dbus_server_listen_platform_specific()</a>, <a class="el" href="dbus-server-unix_8c-source.html#l00167">_dbus_server_new_for_domain_socket()</a>, <a class="el" href="dbus-server-socket_8c-source.html#l00369">_dbus_server_new_for_tcp_socket()</a>, <a class="el" href="dbus-address_8c-source.html#l00065">_dbus_set_bad_address()</a>, <a class="el" href="dbus-spawn_8c-source.html#l01061">_dbus_spawn_async_with_babysitter()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00542">_dbus_stat()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02057">_dbus_string_save_to_file()</a>, <a class="el" href="dbus-transport-unix_8c-source.html#l00053">_dbus_transport_new_for_domain_socket()</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l01216">_dbus_transport_new_for_tcp_socket()</a>, <a class="el" href="dbus-userdb_8c-source.html#l00127">_dbus_user_database_lookup()</a>, <a class="el" href="dbus-userdb-util_8c-source.html#l00208">_dbus_user_database_lookup_group()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c-source.html#l00202">_dbus_write_pid_file()</a>, <a class="el" href="dbus-connection_8c-source.html#l03243">dbus_connection_send_with_reply_and_block()</a>, <a class="el" href="dbus-message_8c-source.html#l03979">dbus_message_demarshal()</a>, <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>, <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>, <a class="el" href="dbus-message_8c-source.html#l03255">dbus_set_error_from_message()</a>, <a class="el" href="dbus-signature_8c-source.html#l00231">dbus_signature_validate()</a>, and <a class="el" href="dbus-signature_8c-source.html#l00256">dbus_signature_validate_single()</a>.
</div>
</div><p>
<a class="anchor" name="g6d88800f109912571aae71427b6c1587"></a><!-- doxytag: member="dbus-errors.c::dbus_set_error_const" ref="g6d88800f109912571aae71427b6c1587" args="(DBusError *error, const char *name, const char *message)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbus_set_error_const </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>message</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Assigns an error name and message to a <a class="el" href="structDBusError.html">DBusError</a>.
<p>
Does nothing if error is <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>. The message may be <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, which means a default message will be deduced from the name. The default message will be totally useless, though, so using a <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> message is not recommended.<p>
Because this function does not copy the error name or message, you must ensure the name and message are global data that won't be freed. You probably want <a class="el" href="group__DBusErrors.html#g4e1b4b297468006781a957129ad9cf00">dbus_set_error()</a> instead, in most cases.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>the error.or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the error name (not copied!!!) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>message</em> </td><td>the error message (not copied!!!) </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-errors_8c-source.html#l00215">215</a> of file <a class="el" href="dbus-errors_8c-source.html">dbus-errors.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-errors_8c-source.html#l00046">DBusRealError::const_message</a>, <a class="el" href="dbus-errors_8c-source.html#l00044">DBusRealError::message</a>, <a class="el" href="dbus-errors_8h-source.html#l00050">DBusError::message</a>, <a class="el" href="dbus-errors_8c-source.html#l00043">DBusRealError::name</a>, <a class="el" href="dbus-errors_8h-source.html#l00049">DBusError::name</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-keyring_8c-source.html#l00946">_dbus_keyring_get_best_key()</a>, and <a class="el" href="dbus-keyring_8c-source.html#l00713">_dbus_keyring_new_for_credentials()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:13 2009 for D-Bus by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>