| Current File : //usr/share/doc/dbus/api/group__DBusErrors.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>D-Bus: Error reporting</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">D-Bus
 <span id="projectnumber">1.8.20</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<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="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Error reporting</div> </div>
<div class="ingroups"><a class="el" href="group__DBus.html">D-Bus low-level public API</a></div></div><!--header-->
<div class="contents">
<p>Error reporting.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" 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"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga568b785040bdbff30312e71811907f4b"></a><!-- doxytag: member="DBusErrors::DBusError" ref="ga568b785040bdbff30312e71811907f4b" args="" -->
typedef struct <a class="el" href="structDBusError.html">DBusError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#ga568b785040bdbff30312e71811907f4b">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"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#ga8937f0b7cdf8554fa6305158ce453fbe">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" title="Object representing an exception.">DBusError</a> structure. <a href="#ga8937f0b7cdf8554fa6305158ce453fbe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#gaac6c14ead14829ee4e090f39de6a7568">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#ga8937f0b7cdf8554fa6305158ce453fbe" title="Initializes a DBusError structure.">dbus_error_init()</a>. <a href="#gaac6c14ead14829ee4e090f39de6a7568"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#ga3cc15cc37bcd3aaca87aa4d791c124f5">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" title="Object representing an exception.">DBusError</a>. <a href="#ga3cc15cc37bcd3aaca87aa4d791c124f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#ga0a27fb9f1af0c2bfd105d7e8622b93f4">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="#ga0a27fb9f1af0c2bfd105d7e8622b93f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#ga48515c580199514026542fe053ef1887">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="#ga48515c580199514026542fe053ef1887"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#gab0ed62e9fc2685897eb2d41467c89405">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="#gab0ed62e9fc2685897eb2d41467c89405"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusErrors.html#ga89d2ad4bde21f9e0057fac07a79885e3">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" title="Object representing an exception.">DBusError</a>. <a href="#ga89d2ad4bde21f9e0057fac07a79885e3"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Error reporting. </p>
<p>Types and functions related to reporting errors.</p>
<p>In essence D-Bus error reporting works as follows:</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structDBusError.html" title="Object representing an exception.">DBusError</a> error;
<a class="code" href="group__DBusErrors.html#ga8937f0b7cdf8554fa6305158ce453fbe" title="Initializes a DBusError structure.">dbus_error_init</a> (&error);
dbus_some_function (arg1, arg2, &error);
<span class="keywordflow">if</span> (<a class="code" href="group__DBusErrors.html#gab0ed62e9fc2685897eb2d41467c89405" title="Checks whether an error occurred (the error is set).">dbus_error_is_set</a> (&error))
{
fprintf (stderr, <span class="stringliteral">"an error occurred: %s\n"</span>, error.<a class="code" href="structDBusError.html#afb559175326de5b6b340e26204e92d72" title="public error message field">message</a>);
<a class="code" href="group__DBusErrors.html#gaac6c14ead14829ee4e090f39de6a7568" title="Frees an error that's been set (or just initialized), then reinitializes the error as in dbus_error_i...">dbus_error_free</a> (&error);
}
</pre></div><p>By convention, all functions allow <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> instead of a DBusError*, so callers who don't care about the error can ignore it.</p>
<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" title="Object representing an exception.">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>
<p>An error only needs to be freed if it's been set, not if it's merely been initialized.</p>
<p>You can check the specific error that occurred using <a class="el" href="group__DBusErrors.html#ga48515c580199514026542fe053ef1887" title="Checks whether the error is set and has the given name.">dbus_error_has_name()</a>.</p>
<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). </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaac6c14ead14829ee4e090f39de6a7568"></a><!-- doxytag: member="dbus-errors.c::dbus_error_free" ref="gaac6c14ead14829ee4e090f39de6a7568" args="(DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT void <a class="el" href="group__DBusErrors.html#gaac6c14ead14829ee4e090f39de6a7568">dbus_error_free</a> </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></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#ga8937f0b7cdf8554fa6305158ce453fbe" title="Initializes a DBusError structure.">dbus_error_init()</a>. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">error</td><td>memory where the error is stored. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00211">211</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="dbus-errors_8c_source.html#l00070">DBusRealError::const_message</a>, <a class="el" href="dbus-errors_8c_source.html#l00188">dbus_error_init()</a>, <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="dbus-errors_8c_source.html#l00068">DBusRealError::message</a>, <a class="el" href="dbus-errors_8c_source.html#l00067">DBusRealError::name</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-internals_8c_source.html#l00854">_dbus_get_local_machine_uuid_encoded()</a>, <a class="el" href="dbus-keyring_8c_source.html#l00709">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l03604">_dbus_read_local_machine_uuid()</a>, <a class="el" href="dbus-internals_8c_source.html#l00806">_dbus_read_uuid_file()</a>, <a class="el" href="dbus-transport-unix_8c_source.html#l00225">_dbus_transport_open_platform_specific()</a>, <a class="el" href="dbus-connection_8c_source.html#l05774">dbus_connection_register_fallback()</a>, <a class="el" href="dbus-connection_8c_source.html#l05702">dbus_connection_register_object_path()</a>, <a class="el" href="dbus-errors_8c_source.html#l00279">dbus_move_error()</a>, and <a class="el" href="dbus-server_8c_source.html#l00549">dbus_server_listen()</a>.</p>
</div>
</div>
<a class="anchor" id="ga48515c580199514026542fe053ef1887"></a><!-- doxytag: member="dbus-errors.c::dbus_error_has_name" ref="ga48515c580199514026542fe053ef1887" args="(const DBusError *error, const char *name)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusErrors.html#ga48515c580199514026542fe053ef1887">dbus_error_has_name</a> </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>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Checks whether the error is set and has the given name. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">error</td><td>the error </td></tr>
<tr><td class="paramname">name</td><td>the name </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if the given named error occurred </dd></dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00302">302</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="dbus-string_8c_source.html#l01995">_dbus_string_equal()</a>, <a class="el" href="dbus-string_8c_source.html#l00190">_dbus_string_init_const()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-errors_8h_source.html#l00051">DBusError::message</a>, <a class="el" href="dbus-errors_8h_source.html#l00050">DBusError::name</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-internals_8c_source.html#l00806">_dbus_read_uuid_file()</a>, <a class="el" href="dbus-connection_8c_source.html#l05774">dbus_connection_register_fallback()</a>, and <a class="el" href="dbus-connection_8c_source.html#l05702">dbus_connection_register_object_path()</a>.</p>
</div>
</div>
<a class="anchor" id="ga8937f0b7cdf8554fa6305158ce453fbe"></a><!-- doxytag: member="dbus-errors.c::dbus_error_init" ref="ga8937f0b7cdf8554fa6305158ce453fbe" args="(DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT void <a class="el" href="group__DBusErrors.html#ga8937f0b7cdf8554fa6305158ce453fbe">dbus_error_init</a> </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></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes a <a class="el" href="structDBusError.html" title="Object representing an exception.">DBusError</a> structure. </p>
<p>Does not allocate any memory; the error only needs to be freed if it is set at some point.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">error</td><td>the <a class="el" href="structDBusError.html" title="Object representing an exception.">DBusError</a>. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00188">188</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="dbus-errors_8c_source.html#l00070">DBusRealError::const_message</a>, <a class="el" href="dbus-errors_8c_source.html#l00068">DBusRealError::message</a>, <a class="el" href="dbus-errors_8c_source.html#l00067">DBusRealError::name</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-keyring_8c_source.html#l00709">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-errors_8c_source.html#l00211">dbus_error_free()</a>, and <a class="el" href="dbus-errors_8c_source.html#l00279">dbus_move_error()</a>.</p>
</div>
</div>
<a class="anchor" id="gab0ed62e9fc2685897eb2d41467c89405"></a><!-- doxytag: member="dbus-errors.c::dbus_error_is_set" ref="gab0ed62e9fc2685897eb2d41467c89405" args="(const DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusErrors.html#gab0ed62e9fc2685897eb2d41467c89405">dbus_error_is_set</a> </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></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Checks whether an error occurred (the error is set). </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">error</td><td>the error object </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if an error occurred </dd></dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00329">329</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-errors_8h_source.html#l00051">DBusError::message</a>, <a class="el" href="dbus-errors_8h_source.html#l00050">DBusError::name</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-transport_8c_source.html#l00367">_dbus_transport_open()</a>, <a class="el" href="dbus-transport-unix_8c_source.html#l00225">_dbus_transport_open_platform_specific()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00240">_dbus_write_pid_to_file_and_pipe()</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#l00549">dbus_server_listen()</a>.</p>
</div>
</div>
<a class="anchor" id="ga0a27fb9f1af0c2bfd105d7e8622b93f4"></a><!-- doxytag: member="dbus-errors.c::dbus_move_error" ref="ga0a27fb9f1af0c2bfd105d7e8622b93f4" args="(DBusError *src, DBusError *dest)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT void <a class="el" href="group__DBusErrors.html#ga0a27fb9f1af0c2bfd105d7e8622b93f4">dbus_move_error</a> </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>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Moves an error src into dest, freeing src and overwriting dest. </p>
<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#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>, just frees and reinits the source error.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>the source error </td></tr>
<tr><td class="paramname">dest</td><td>the destination error or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00279">279</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="dbus-errors_8c_source.html#l00211">dbus_error_free()</a>, and <a class="el" href="dbus-errors_8c_source.html#l00188">dbus_error_init()</a>.</p>
<p>Referenced by <a class="el" href="dbus-internals_8c_source.html#l00806">_dbus_read_uuid_file()</a>, <a class="el" href="dbus-transport_8c_source.html#l00367">_dbus_transport_open()</a>, <a class="el" href="dbus-transport-unix_8c_source.html#l00225">_dbus_transport_open_platform_specific()</a>, and <a class="el" href="dbus-server_8c_source.html#l00549">dbus_server_listen()</a>.</p>
</div>
</div>
<a class="anchor" id="ga89d2ad4bde21f9e0057fac07a79885e3"></a><!-- doxytag: member="dbus-errors.c::dbus_set_error" ref="ga89d2ad4bde21f9e0057fac07a79885e3" args="(DBusError *error, const char *name, const char *format,...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT void <a class="el" href="group__DBusErrors.html#ga89d2ad4bde21f9e0057fac07a79885e3">dbus_set_error</a> </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>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Assigns an error name and message to a <a class="el" href="structDBusError.html" title="Object representing an exception.">DBusError</a>. </p>
<p>Does nothing if error is <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>.</p>
<p>The format may be <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">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>
<p>If no memory can be allocated for the error message, an out-of-memory error message will be set instead.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">error</td><td>the error.or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> </td></tr>
<tr><td class="paramname">name</td><td>the error name </td></tr>
<tr><td class="paramname">format</td><td>printf-style format string. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00354">354</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="dbus-internals_8c_source.html#l00527">_dbus_strdup()</a>, <a class="el" href="dbus-string_8c_source.html#l00918">_dbus_string_append()</a>, <a class="el" href="dbus-string_8c_source.html#l01055">_dbus_string_append_printf_valist()</a>, <a class="el" href="dbus-string_8c_source.html#l00242">_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#l00624">_dbus_string_steal_data()</a>, <a class="el" href="dbus-errors_8c_source.html#l00070">DBusRealError::const_message</a>, <a class="el" href="dbus-memory_8c_source.html#l00701">dbus_free()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-errors_8h_source.html#l00051">DBusError::message</a>, <a class="el" href="dbus-errors_8c_source.html#l00068">DBusRealError::message</a>, <a class="el" href="dbus-errors_8h_source.html#l00050">DBusError::name</a>, <a class="el" href="dbus-errors_8c_source.html#l00067">DBusRealError::name</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-sysdeps-unix_8c_source.html#l04035">_dbus_append_address_from_socket()</a>, <a class="el" href="dbus-spawn-win_8c_source.html#l00327">_dbus_babysitter_set_child_exit_error()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00087">_dbus_become_daemon()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00334">_dbus_change_to_daemon_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02023">_dbus_check_dir_is_private_to_user()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02959">_dbus_close()</a>, <a class="el" href="dbus-sysdeps-win_8c_source.html#l00493">_dbus_close_socket()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l01231">_dbus_command_for_pid()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l00927">_dbus_connect_exec()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l00831">_dbus_connect_unix_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02725">_dbus_create_directory()</a>, <a class="el" href="dbus-file-unix_8c_source.html#l00353">_dbus_create_file_exclusively()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l03906">_dbus_delete_directory()</a>, <a class="el" href="dbus-file-unix_8c_source.html#l00399">_dbus_delete_file()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00825">_dbus_directory_get_next_file()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00777">_dbus_directory_open()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l02987">_dbus_dup()</a>, <a class="el" href="dbus-file-unix_8c_source.html#l00055">_dbus_file_get_contents()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l03109">_dbus_full_duplex_pipe()</a>, <a class="el" href="dbus-userdb-util_8c_source.html#l00049">_dbus_is_console_user()</a>, <a class="el" href="dbus-keyring_8c_source.html#l00709">_dbus_keyring_new_for_credentials()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l01160">_dbus_listen_systemd_sockets()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l01378">_dbus_listen_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l01033">_dbus_listen_unix_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l03651">_dbus_lookup_launchd_socket()</a>, <a class="el" href="dbus-file-unix_8c_source.html#l00326">_dbus_make_file_world_readable()</a>, <a class="el" href="dbus-message_8c_source.html#l00796">_dbus_message_iter_get_args_valist()</a>, <a class="el" href="dbus-object-tree_8c_source.html#l00391">_dbus_object_tree_register()</a>, <a class="el" href="dbus-sysdeps-unix_8c_source.html#l01665">_dbus_read_credentials_socket()</a>, <a class="el" href="dbus-sysdeps-win_8c_source.html#l02681">_dbus_read_local_machine_uuid()</a>, <a class="el" href="dbus-sysdeps-win_8c_source.html#l01870">_dbus_send_credentials_socket()</a>, <a class="el" href="dbus-server-unix_8c_source.html#l00054">_dbus_server_listen_platform_specific()</a>, <a class="el" href="dbus-server-unix_8c_source.html#l00237">_dbus_server_new_for_domain_socket()</a>, <a class="el" href="dbus-server-launchd_8c_source.html#l00065">_dbus_server_new_for_launchd()</a>, <a class="el" href="dbus-server-socket_8c_source.html#l00388">_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#l01194">_dbus_spawn_async_with_babysitter()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00729">_dbus_stat()</a>, <a class="el" href="dbus-file-unix_8c_source.html#l00164">_dbus_string_save_to_file()</a>, <a class="el" href="dbus-transport-unix_8c_source.html#l00058">_dbus_transport_new_for_domain_socket()</a>, <a class="el" href="dbus-transport-socket_8c_source.html#l01331">_dbus_transport_new_for_tcp_socket()</a>, <a class="el" href="dbus-transport-unix_8c_source.html#l00225">_dbus_transport_open_platform_specific()</a>, <a class="el" href="dbus-sysdeps-util-win_8c_source.html#l00824">_dbus_unix_user_is_at_console()</a>, <a class="el" href="dbus-userdb_8c_source.html#l00128">_dbus_user_database_lookup()</a>, <a class="el" href="dbus-userdb-util_8c_source.html#l00246">_dbus_user_database_lookup_group()</a>, <a class="el" href="dbus-sysdeps-util-unix_8c_source.html#l00240">_dbus_write_pid_to_file_and_pipe()</a>, <a class="el" href="dbus-connection_8c_source.html#l03535">dbus_connection_send_with_reply_and_block()</a>, <a class="el" href="dbus-message_8c_source.html#l04783">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#l00549">dbus_server_listen()</a>, <a class="el" href="dbus-message_8c_source.html#l03796">dbus_set_error_from_message()</a>, <a class="el" href="dbus-signature_8c_source.html#l00233">dbus_signature_validate()</a>, <a class="el" href="dbus-signature_8c_source.html#l00264">dbus_signature_validate_single()</a>, <a class="el" href="dbus-syntax_8c_source.html#l00242">dbus_validate_bus_name()</a>, <a class="el" href="dbus-syntax_8c_source.html#l00195">dbus_validate_error_name()</a>, <a class="el" href="dbus-syntax_8c_source.html#l00101">dbus_validate_interface()</a>, <a class="el" href="dbus-syntax_8c_source.html#l00148">dbus_validate_member()</a>, <a class="el" href="dbus-syntax_8c_source.html#l00054">dbus_validate_path()</a>, and <a class="el" href="dbus-syntax_8c_source.html#l00289">dbus_validate_utf8()</a>.</p>
</div>
</div>
<a class="anchor" id="ga3cc15cc37bcd3aaca87aa4d791c124f5"></a><!-- doxytag: member="dbus-errors.c::dbus_set_error_const" ref="ga3cc15cc37bcd3aaca87aa4d791c124f5" args="(DBusError *error, const char *name, const char *message)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBUS_EXPORT void <a class="el" href="group__DBusErrors.html#ga3cc15cc37bcd3aaca87aa4d791c124f5">dbus_set_error_const</a> </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>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Assigns an error name and message to a <a class="el" href="structDBusError.html" title="Object representing an exception.">DBusError</a>. </p>
<p>Does nothing if error is <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>. The message may be <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">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#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> message is not recommended.</p>
<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#ga89d2ad4bde21f9e0057fac07a79885e3" title="Assigns an error name and message to a DBusError.">dbus_set_error()</a> instead, in most cases.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">error</td><td>the error or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> </td></tr>
<tr><td class="paramname">name</td><td>the error name (not copied!!!) </td></tr>
<tr><td class="paramname">message</td><td>the error message (not copied!!!) </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-errors_8c_source.html#l00243">243</a> of file <a class="el" href="dbus-errors_8c_source.html">dbus-errors.c</a>.</p>
<p>References <a class="el" href="dbus-errors_8c_source.html#l00070">DBusRealError::const_message</a>, <a class="el" href="dbus-errors_8h_source.html#l00051">DBusError::message</a>, <a class="el" href="dbus-errors_8c_source.html#l00068">DBusRealError::message</a>, <a class="el" href="dbus-errors_8h_source.html#l00050">DBusError::name</a>, <a class="el" href="dbus-errors_8c_source.html#l00067">DBusRealError::name</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-sysdeps-unix_8c_source.html#l03508">_dbus_get_autolaunch_address()</a>, <a class="el" href="dbus-keyring_8c_source.html#l00943">_dbus_keyring_get_best_key()</a>, <a class="el" href="dbus-keyring_8c_source.html#l00709">_dbus_keyring_new_for_credentials()</a>, and <a class="el" href="dbus-spawn-win_8c_source.html#l00644">_dbus_spawn_async_with_babysitter()</a>.</p>
</div>
</div>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:32 for D-Bus by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>