session: Implement Session API Destroy method call
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 25 Oct 2011 07:51:36 +0000 (10:51 +0300)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 31 Oct 2011 13:50:34 +0000 (14:50 +0100)
Call session_disconnect() from destroy_session() thus adding
functionality to Session API Destroy method call.

src/session.c

index 37004eb..83cdaf0 100644 (file)
@@ -1414,9 +1414,15 @@ static DBusMessage *destroy_session(DBusConnection *conn,
                                        DBusMessage *msg, void *user_data)
 {
        struct connman_session *session = user_data;
+       struct session_info *info = session->info;
 
        DBG("session %p", session);
 
+       if (ecall_info != NULL && ecall_info != info)
+               return __connman_error_failed(msg, EBUSY);
+
+       session_disconnect(session);
+
        return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
 }