The error handling can get easily get pretty hairy, e.g.
reallocating memory for allowed_bearers. If we hit this situation
we allow the plugin to shutdown the session. That is consistent
with what we do when there is a problem while creating a new
session.
void connman_session_policy_unregister(struct connman_session_policy *config);
int connman_session_config_update(struct connman_session *session);
+void connman_session_destroy(struct connman_session *session);
struct connman_session_config *connman_session_create_default_config(void);
return err;
}
+void connman_session_destroy(struct connman_session *session)
+{
+ DBG("session %p", session);
+
+ session_disconnect(session);
+}
+
int __connman_session_destroy(DBusMessage *msg)
{
const char *owner, *session_path;
if (g_strcmp0(owner, session->owner) != 0)
return -EACCES;
- session_disconnect(session);
+ connman_session_destroy(session);
return 0;
}