Commit 00adf7ff authored by Max Kellermann's avatar Max Kellermann

db/proxy: move code to Disconnect()

parent 3f0415fa
......@@ -83,6 +83,8 @@ private:
bool Connect(Error &error);
bool CheckConnection(Error &error);
bool EnsureConnected(Error &error);
void Disconnect();
};
static constexpr Domain libmpdclient_domain("libmpdclient");
......@@ -254,7 +256,7 @@ ProxyDatabase::Close()
delete root;
if (connection != nullptr)
mpd_connection_free(connection);
Disconnect();
}
bool
......@@ -269,10 +271,8 @@ ProxyDatabase::Connect(Error &error)
}
if (!CheckError(connection, error)) {
if (connection != nullptr) {
mpd_connection_free(connection);
connection = nullptr;
}
if (connection != nullptr)
Disconnect();
return false;
}
......@@ -286,7 +286,7 @@ ProxyDatabase::CheckConnection(Error &error)
assert(connection != nullptr);
if (!mpd_connection_clear_error(connection)) {
mpd_connection_free(connection);
Disconnect();
return Connect(error);
}
......@@ -301,6 +301,15 @@ ProxyDatabase::EnsureConnected(Error &error)
: Connect(error);
}
void
ProxyDatabase::Disconnect()
{
assert(connection != nullptr);
mpd_connection_free(connection);
connection = nullptr;
}
static Song *
Convert(const struct mpd_song *song);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment