idevice_error_t idevice_disconnect(idevice_connection_t connection) { if (!connection) { return IDEVICE_E_INVALID_ARG; } /* shut down ssl if enabled */ if (connection->ssl_data) { idevice_connection_disable_ssl(connection); } idevice_error_t result = IDEVICE_E_UNKNOWN_ERROR; if (connection->type == CONNECTION_USBMUXD) { usbmuxd_disconnect((int)(long)connection->data); connection->data = NULL; result = IDEVICE_E_SUCCESS; } else { debug_info("Unknown connection type %d", connection->type); } if (connection->udid) free(connection->udid); free(connection); connection = NULL; return result; }
/** * Disable SSL for the given service client. * * @param client The connected service client for that SSL should be disabled. * * @return SERVICE_E_SUCCESS on success, * SERVICE_E_INVALID_ARG if client or client->connection is * NULL, or SERVICE_E_UNKNOWN_ERROR otherwise. */ service_error_t service_disable_ssl(service_client_t client) { if (!client || !client->connection) return SERVICE_E_INVALID_ARG; return idevice_to_service_error(idevice_connection_disable_ssl(client->connection)); }
/** * Disable SSL for the given property list service client. * * @param client The connected property list service client for which SSL * should be disabled. * * @return PROPERTY_LIST_SERVICE_E_SUCCESS on success, * PROPERTY_LIST_SERVICE_E_INVALID_ARG if client or client->connection is * NULL, or PROPERTY_LIST_SERVICE_E_UNKNOWN_ERROR otherwise. */ property_list_service_error_t property_list_service_disable_ssl(property_list_service_client_t client) { if (!client || !client->connection) return PROPERTY_LIST_SERVICE_E_INVALID_ARG; return idevice_to_property_list_service_error(idevice_connection_disable_ssl(client->connection)); }