[connman] Added Tizen Wi-Fi Mesh
[platform/upstream/connman.git] / src / error.c
1 /*
2  *
3  *  Connection Manager
4  *
5  *  Copyright (C) 2007-2013  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 ENOTUNIQ:
53                 return __connman_error_not_unique(msg);
54         case EOPNOTSUPP:
55                 return __connman_error_not_supported(msg);
56         case ECONNABORTED:
57                 return __connman_error_operation_aborted(msg);
58         case EISCONN:
59                 return __connman_error_already_connected(msg);
60         case ENOTCONN:
61         case ECONNREFUSED:
62                 return __connman_error_not_connected(msg);
63         case ETIMEDOUT:
64                 return __connman_error_operation_timeout(msg);
65         case EALREADY:
66         case EINPROGRESS:
67                 return __connman_error_in_progress(msg);
68         case ENOKEY:
69                 return __connman_error_passphrase_required(msg);
70         }
71
72         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
73                                         ".Failed", "%s", str);
74 }
75
76 DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg)
77 {
78         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
79                                 ".InvalidArguments", "Invalid arguments");
80 }
81
82 DBusMessage *__connman_error_permission_denied(DBusMessage *msg)
83 {
84         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
85                                 ".PermissionDenied", "Permission denied");
86 }
87
88 DBusMessage *__connman_error_passphrase_required(DBusMessage *msg)
89 {
90         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
91                                 ".PassphraseRequired", "Passphrase required");
92 }
93
94 DBusMessage *__connman_error_not_registered(DBusMessage *msg)
95 {
96         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
97                                         ".NotRegistered", "Not registered");
98 }
99
100 DBusMessage *__connman_error_not_unique(DBusMessage *msg)
101 {
102         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
103                                         ".NotUnique", "Not unique");
104 }
105
106 DBusMessage *__connman_error_not_supported(DBusMessage *msg)
107 {
108         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
109                                         ".NotSupported", "Not supported");
110 }
111
112 DBusMessage *__connman_error_not_implemented(DBusMessage *msg)
113 {
114         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
115                                         ".NotImplemented", "Not implemented");
116 }
117
118 DBusMessage *__connman_error_not_found(DBusMessage *msg)
119 {
120         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
121                                                 ".NotFound", "Not found");
122 }
123
124 DBusMessage *__connman_error_no_carrier(DBusMessage *msg)
125 {
126         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
127                                                 ".NoCarrier", "No carrier");
128 }
129
130 DBusMessage *__connman_error_in_progress(DBusMessage *msg)
131 {
132         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
133                                                 ".InProgress", "In progress");
134 }
135
136 DBusMessage *__connman_error_already_exists(DBusMessage *msg)
137 {
138         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
139                                 ".AlreadyExists", "Already exists");
140 }
141
142 DBusMessage *__connman_error_already_enabled(DBusMessage *msg)
143 {
144         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
145                                 ".AlreadyEnabled", "Already enabled");
146 }
147
148 DBusMessage *__connman_error_already_disabled(DBusMessage *msg)
149 {
150         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
151                                 ".AlreadyDisabled", "Already disabled");
152 }
153
154 DBusMessage *__connman_error_already_connected(DBusMessage *msg)
155 {
156         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
157                                 ".AlreadyConnected", "Already connected");
158 }
159
160 DBusMessage *__connman_error_not_connected(DBusMessage *msg)
161 {
162         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
163                                         ".NotConnected", "Not connected");
164 }
165 DBusMessage *__connman_error_operation_aborted(DBusMessage *msg)
166 {
167         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
168                                 ".OperationAborted", "Operation aborted");
169 }
170
171 DBusMessage *__connman_error_operation_timeout(DBusMessage *msg)
172 {
173         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
174                                 ".OperationTimeout", "Operation timeout");
175 }
176
177 DBusMessage *__connman_error_invalid_service(DBusMessage *msg)
178 {
179         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
180                                 ".InvalidService", "Invalid service");
181 }
182
183 DBusMessage *__connman_error_invalid_property(DBusMessage *msg)
184 {
185         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
186                                 ".InvalidProperty", "Invalid property");
187 }
188
189 #if defined TIZEN_EXT_WIFI_MESH
190 DBusMessage *__connman_error_invalid_command(DBusMessage *msg)
191 {
192         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
193                                 ".InvalidCommand", "Invalid Mesh Command");
194 }
195
196 DBusMessage *__connman_error_scan_abort_failed(DBusMessage *msg)
197 {
198         return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
199                                 ".ScanAbortFailed", "Scan Abort Failed");
200 }
201 #endif