// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #pragma once #include "requests/checkstatus.h" #include "requests/getcompletions.h" #include "requests/signinconfirm.h" #include "requests/signininitiate.h" #include "requests/signout.h" #include #include #include #include namespace Copilot::Internal { class DocumentWatcher; class CopilotClient : public LanguageClient::Client { public: explicit CopilotClient(); static CopilotClient *instance(); void requestCompletion( const Utils::FilePath &path, int version, LanguageServerProtocol::Position position, std::function callback); void requestCheckStatus( bool localChecksOnly, std::function callback); void requestSignOut(std::function callback); void requestSignInInitiate( std::function callback); void requestSignInConfirm( const QString &userCode, std::function callback); private: std::map> m_documentWatchers; }; } // namespace Copilot::Internal