summaryrefslogtreecommitdiff
path: root/src/profile.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-04-05 19:19:07 +0200
committerMarcel Holtmann <marcel@holtmann.org>2009-04-05 19:19:07 +0200
commit75970f6e60689bccb502f0977a482b8a9233bae1 (patch)
tree9bc6636c8d50389e2cbe529450fb79cdce8cb5c0 /src/profile.c
parent07b6b42bf350cba1887eb71dba1f654b86402c07 (diff)
downloadconnman-75970f6e60689bccb502f0977a482b8a9233bae1.tar.gz
connman-75970f6e60689bccb502f0977a482b8a9233bae1.tar.bz2
connman-75970f6e60689bccb502f0977a482b8a9233bae1.zip
Add error checking for service methods
Diffstat (limited to 'src/profile.c')
-rw-r--r--src/profile.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/profile.c b/src/profile.c
index ce26c7ac..86b78f13 100644
--- a/src/profile.c
+++ b/src/profile.c
@@ -146,12 +146,22 @@ static DBusMessage *get_properties(DBusConnection *conn,
static DBusMessage *connect_service(DBusConnection *conn,
DBusMessage *msg, void *data)
{
+ struct connman_group *group = data;
+
+ if (group->type == CONNMAN_SERVICE_TYPE_ETHERNET)
+ return __connman_error_not_supported(msg);
+
return __connman_error_not_implemented(msg);
}
static DBusMessage *disconnect_service(DBusConnection *conn,
DBusMessage *msg, void *data)
{
+ struct connman_group *group = data;
+
+ if (group->type == CONNMAN_SERVICE_TYPE_ETHERNET)
+ return __connman_error_not_supported(msg);
+
return __connman_error_not_implemented(msg);
}
@@ -160,6 +170,9 @@ static DBusMessage *remove_service(DBusConnection *conn,
{
struct connman_group *group = data;
+ if (group->type == CONNMAN_SERVICE_TYPE_ETHERNET)
+ return __connman_error_not_supported(msg);
+
group->favorite = FALSE;
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
@@ -168,12 +181,22 @@ static DBusMessage *remove_service(DBusConnection *conn,
static DBusMessage *move_before(DBusConnection *conn,
DBusMessage *msg, void *data)
{
+ struct connman_group *group = data;
+
+ if (group->favorite == FALSE)
+ return __connman_error_not_supported(msg);
+
return __connman_error_not_implemented(msg);
}
static DBusMessage *move_after(DBusConnection *conn,
DBusMessage *msg, void *data)
{
+ struct connman_group *group = data;
+
+ if (group->favorite == FALSE)
+ return __connman_error_not_supported(msg);
+
return __connman_error_not_implemented(msg);
}