Fix regression when removing watches
[framework/connectivity/connman.git] / src / error.c
1 /*
2  *
3  *  Connection Manager
4  *
5  *  Copyright (C) 2007-2010  Intel Corporation. All rights reserved.
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License version 2 as
9  *  published by the Free Software Foundation.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  */
21
22 #ifdef HAVE_CONFIG_H
23 #include <config.h>
24 #endif
25
26 #include <errno.h>
27 #include <string.h>
28
29 #include <gdbus.h>
30
31 #include "connman.h"
32
33 DBusMessage *__connman_error_failed(DBusMessage *msg, int errnum)
34 {
35         const char *str = strerror(errnum);
36
37         switch (errnum) {
38         case ESRCH:
39                 return __connman_error_not_registered(msg);
40         case ENXIO:
41                 return __connman_error_not_found(msg);
42         case EACCES:
43                 return __connman_error_permission_denied(msg);
44         case EEXIST:
45                 return __connman_error_already_exists(msg);
46         case EINVAL:
47                 return __connman_error_invalid_arguments(msg);
48         case ENOSYS:
49                 return __connman_error_not_implemented(msg);
50         case ENOLINK:
51                 return __connman_error_no_carrier(msg);
52         case EOPNOTSUPP:
53                 return __connman_error_not_supported(msg);
54         case ECONNABORTED:
55                 return __connman_error_operation_aborted(msg);
56         case EISCONN:
57                 return __connman_error_already_connected(msg);
58         case ENOTCONN:
59                 return __connman_error_not_connected(msg);
60         case ETIMEDOUT:
61                 return __connman_error_operation_timeout(msg);
62         case EALREADY:
63                 return __connman_error_in_progress(msg);
64         case ENOKEY:
65                 return __connman_error_passphrase_required(msg);
66         }
67
68         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
69                                                         ".Failed", str);
70 }
71
72 DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg)
73 {
74         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
75                                 ".InvalidArguments", "Invalid arguments");
76 }
77
78 DBusMessage *__connman_error_permission_denied(DBusMessage *msg)
79 {
80         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
81                                 ".PermissionDenied", "Permission denied");
82 }
83
84 DBusMessage *__connman_error_passphrase_required(DBusMessage *msg)
85 {
86         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
87                                 ".PassphraseRequired", "Passphrase required");
88 }
89
90 DBusMessage *__connman_error_not_registered(DBusMessage *msg)
91 {
92         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
93                                         ".NotRegistered", "Not registered");
94 }
95
96 DBusMessage *__connman_error_not_supported(DBusMessage *msg)
97 {
98         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
99                                         ".NotSupported", "Not supported");
100 }
101
102 DBusMessage *__connman_error_not_implemented(DBusMessage *msg)
103 {
104         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
105                                         ".NotImplemented", "Not implemented");
106 }
107
108 DBusMessage *__connman_error_not_found(DBusMessage *msg)
109 {
110         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
111                                                 ".NotFound", "Not found");
112 }
113
114 DBusMessage *__connman_error_no_carrier(DBusMessage *msg)
115 {
116         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
117                                                 ".NoCarrier", "No carrier");
118 }
119
120 DBusMessage *__connman_error_in_progress(DBusMessage *msg)
121 {
122         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
123                                                 ".InProgress", "In progress");
124 }
125
126 DBusMessage *__connman_error_already_exists(DBusMessage *msg)
127 {
128         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
129                                 ".AlreadyExists", "Already exists");
130 }
131
132 DBusMessage *__connman_error_already_enabled(DBusMessage *msg)
133 {
134         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
135                                 ".AlreadyEnabled", "Already enabled");
136 }
137
138 DBusMessage *__connman_error_already_disabled(DBusMessage *msg)
139 {
140         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
141                                 ".AlreadyDisabled", "Already disabled");
142 }
143
144 DBusMessage *__connman_error_already_connected(DBusMessage *msg)
145 {
146         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
147                                 ".AlreadyConnected", "Already connected");
148 }
149
150 DBusMessage *__connman_error_not_connected(DBusMessage *msg)
151 {
152         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
153                                         ".NotConnected", "Not connected");
154 }
155 DBusMessage *__connman_error_operation_aborted(DBusMessage *msg)
156 {
157         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
158                                 ".OperationAborted", "Operation aborted");
159 }
160
161 DBusMessage *__connman_error_operation_timeout(DBusMessage *msg)
162 {
163         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
164                                 ".OperationTimeout", "Operation timeout");
165 }
166
167 DBusMessage *__connman_error_invalid_service(DBusMessage *msg)
168 {
169         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
170                                 ".InvalidService", "Invalid service");
171 }
172
173 DBusMessage *__connman_error_invalid_property(DBusMessage *msg)
174 {
175         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE,
176                                 ".InvalidProperty", "Invalid property");
177 }