mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-09 16:42:33 +01:00
dbus: Add dbus_error_from_errno
This commit is contained in:
parent
7f844a2520
commit
31081f98e7
35
src/dbus.c
35
src/dbus.c
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include <ell/ell.h>
|
#include <ell/ell.h>
|
||||||
#include <ell/dbus-private.h>
|
#include <ell/dbus-private.h>
|
||||||
@ -192,6 +193,40 @@ struct l_dbus_message *dbus_error_not_hidden(struct l_dbus_message *msg)
|
|||||||
"Not hidden");
|
"Not hidden");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct l_dbus_message *dbus_error_from_errno(int err,
|
||||||
|
struct l_dbus_message *msg)
|
||||||
|
{
|
||||||
|
switch (err) {
|
||||||
|
case -EBUSY:
|
||||||
|
return dbus_error_busy(msg);
|
||||||
|
case -ECANCELED:
|
||||||
|
return dbus_error_aborted(msg);
|
||||||
|
case -ERFKILL:
|
||||||
|
return dbus_error_not_available(msg);
|
||||||
|
case -EINVAL:
|
||||||
|
return dbus_error_invalid_args(msg);
|
||||||
|
case -EBADMSG:
|
||||||
|
return dbus_error_invalid_format(msg);
|
||||||
|
case -EEXIST:
|
||||||
|
return dbus_error_already_exists(msg);
|
||||||
|
case -ENOENT:
|
||||||
|
return dbus_error_not_found(msg);
|
||||||
|
case -ENOTSUP:
|
||||||
|
return dbus_error_not_supported(msg);
|
||||||
|
/* TODO: no_agent */
|
||||||
|
case -ENOKEY:
|
||||||
|
return dbus_error_not_configured(msg);
|
||||||
|
case -ENOTCONN:
|
||||||
|
return dbus_error_not_connected(msg);
|
||||||
|
case -ENOSYS:
|
||||||
|
return dbus_error_not_implemented(msg);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return dbus_error_failed(msg);
|
||||||
|
}
|
||||||
|
|
||||||
void dbus_pending_reply(struct l_dbus_message **msg,
|
void dbus_pending_reply(struct l_dbus_message **msg,
|
||||||
struct l_dbus_message *reply)
|
struct l_dbus_message *reply)
|
||||||
{
|
{
|
||||||
|
@ -74,6 +74,9 @@ struct l_dbus_message *dbus_error_already_provisioned(
|
|||||||
struct l_dbus_message *msg);
|
struct l_dbus_message *msg);
|
||||||
struct l_dbus_message *dbus_error_not_hidden(struct l_dbus_message *msg);
|
struct l_dbus_message *dbus_error_not_hidden(struct l_dbus_message *msg);
|
||||||
|
|
||||||
|
struct l_dbus_message *dbus_error_from_errno(int err,
|
||||||
|
struct l_dbus_message *msg);
|
||||||
|
|
||||||
bool dbus_init(bool enable_debug);
|
bool dbus_init(bool enable_debug);
|
||||||
bool dbus_exit(void);
|
bool dbus_exit(void);
|
||||||
void dbus_shutdown(void);
|
void dbus_shutdown(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user