1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 12:07:45 +00:00

HackStudio: Rename HackStudio::ServerConnection=>ConnectionToServer

Also renames ServerConnectionWrapper=>ConnectionToServerWrapper
and ServerConnectionInstances=>ConnectionToServerInstances

This was done with CLion's automatic rename feature.
This commit is contained in:
Itamar 2022-02-25 13:04:59 +02:00 committed by Andreas Kling
parent 935d023967
commit 75ee77f8a1
5 changed files with 64 additions and 64 deletions

View file

@ -23,15 +23,15 @@
namespace HackStudio {
class LanguageClient;
class ServerConnectionWrapper;
class ConnectionToServerWrapper;
class ServerConnection
class ConnectionToServer
: public IPC::ConnectionToServer<LanguageClientEndpoint, LanguageServerEndpoint>
, public LanguageClientEndpoint {
friend class ServerConnectionWrapper;
friend class ConnectionToServerWrapper;
public:
ServerConnection(NonnullOwnPtr<Core::Stream::LocalSocket> socket, const String& project_path)
ConnectionToServer(NonnullOwnPtr<Core::Stream::LocalSocket> socket, const String& project_path)
: IPC::ConnectionToServer<LanguageClientEndpoint, LanguageServerEndpoint>(*this, move(socket))
{
m_project_path = project_path;
@ -52,25 +52,25 @@ protected:
virtual void todo_entries_in_document(String const&, Vector<Cpp::Parser::TodoEntry> const&) override;
virtual void parameters_hint_result(Vector<String> const&, int index) override;
virtual void tokens_info_result(Vector<GUI::AutocompleteProvider::TokenInfo> const&) override;
void set_wrapper(ServerConnectionWrapper& wrapper) { m_wrapper = &wrapper; }
void set_wrapper(ConnectionToServerWrapper& wrapper) { m_wrapper = &wrapper; }
String m_project_path;
WeakPtr<LanguageClient> m_current_language_client;
ServerConnectionWrapper* m_wrapper { nullptr };
ConnectionToServerWrapper* m_wrapper { nullptr };
};
class ServerConnectionWrapper {
AK_MAKE_NONCOPYABLE(ServerConnectionWrapper);
class ConnectionToServerWrapper {
AK_MAKE_NONCOPYABLE(ConnectionToServerWrapper);
public:
explicit ServerConnectionWrapper(const String& language_name, Function<NonnullRefPtr<ServerConnection>()> connection_creator);
~ServerConnectionWrapper() = default;
explicit ConnectionToServerWrapper(const String& language_name, Function<NonnullRefPtr<ConnectionToServer>()> connection_creator);
~ConnectionToServerWrapper() = default;
template<typename LanguageServerType>
static ServerConnectionWrapper& get_or_create(const String& project_path);
static ConnectionToServerWrapper& get_or_create(const String& project_path);
Language language() const { return m_language; }
ServerConnection* connection();
ConnectionToServer* connection();
void on_crash();
void try_respawn_connection();
@ -84,27 +84,27 @@ private:
void show_frequent_crashes_notification() const;
Language m_language;
Function<NonnullRefPtr<ServerConnection>()> m_connection_creator;
RefPtr<ServerConnection> m_connection;
Function<NonnullRefPtr<ConnectionToServer>()> m_connection_creator;
RefPtr<ConnectionToServer> m_connection;
Core::ElapsedTimer m_last_crash_timer;
bool m_respawn_allowed { true };
};
class ServerConnectionInstances {
class ConnectionToServerInstances {
public:
static void set_instance_for_language(const String& language_name, NonnullOwnPtr<ServerConnectionWrapper>&& connection_wrapper);
static void set_instance_for_language(const String& language_name, NonnullOwnPtr<ConnectionToServerWrapper>&& connection_wrapper);
static void remove_instance_for_language(const String& language_name);
static ServerConnectionWrapper* get_instance_wrapper(const String& language_name);
static ConnectionToServerWrapper* get_instance_wrapper(const String& language_name);
private:
static HashMap<String, NonnullOwnPtr<ServerConnectionWrapper>> s_instance_for_language;
static HashMap<String, NonnullOwnPtr<ConnectionToServerWrapper>> s_instance_for_language;
};
class LanguageClient : public Weakable<LanguageClient> {
public:
explicit LanguageClient(ServerConnectionWrapper& connection_wrapper)
explicit LanguageClient(ConnectionToServerWrapper& connection_wrapper)
: m_connection_wrapper(connection_wrapper)
{
if (m_connection_wrapper.connection()) {
@ -148,26 +148,26 @@ public:
Function<void(Vector<GUI::AutocompleteProvider::TokenInfo> const&)> on_tokens_info_result;
private:
ServerConnectionWrapper& m_connection_wrapper;
ConnectionToServerWrapper& m_connection_wrapper;
WeakPtr<LanguageClient> m_previous_client;
};
template<typename ServerConnectionT>
template<typename ConnectionToServerT>
static inline NonnullOwnPtr<LanguageClient> get_language_client(const String& project_path)
{
return make<LanguageClient>(ServerConnectionWrapper::get_or_create<ServerConnectionT>(project_path));
return make<LanguageClient>(ConnectionToServerWrapper::get_or_create<ConnectionToServerT>(project_path));
}
template<typename LanguageServerType>
ServerConnectionWrapper& ServerConnectionWrapper::get_or_create(const String& project_path)
ConnectionToServerWrapper& ConnectionToServerWrapper::get_or_create(const String& project_path)
{
auto* wrapper = ServerConnectionInstances::get_instance_wrapper(LanguageServerType::language_name());
auto* wrapper = ConnectionToServerInstances::get_instance_wrapper(LanguageServerType::language_name());
if (wrapper)
return *wrapper;
auto connection_wrapper_ptr = make<ServerConnectionWrapper>(LanguageServerType::language_name(), [project_path]() { return LanguageServerType::try_create(project_path).release_value_but_fixme_should_propagate_errors(); });
auto connection_wrapper_ptr = make<ConnectionToServerWrapper>(LanguageServerType::language_name(), [project_path]() { return LanguageServerType::try_create(project_path).release_value_but_fixme_should_propagate_errors(); });
auto& connection_wrapper = *connection_wrapper_ptr;
ServerConnectionInstances::set_instance_for_language(LanguageServerType::language_name(), move(connection_wrapper_ptr));
ConnectionToServerInstances::set_instance_for_language(LanguageServerType::language_name(), move(connection_wrapper_ptr));
return connection_wrapper;
}