ccls/src/messages/shutdown.cc

30 lines
802 B
C++
Raw Normal View History

#include "message_handler.h"
2018-05-28 00:50:02 +00:00
#include "pipeline.hh"
using namespace ccls;
namespace {
MethodType kMethodType = "shutdown";
2018-03-22 05:01:21 +00:00
struct In_Shutdown : public RequestInMessage {
MethodType GetMethodType() const override { return kMethodType; }
};
MAKE_REFLECT_STRUCT(In_Shutdown, id);
REGISTER_IN_MESSAGE(In_Shutdown);
2018-01-11 02:43:01 +00:00
struct Out_Shutdown : public lsOutMessage<Out_Shutdown> {
2018-04-16 19:36:02 +00:00
lsRequestId id;
JsonNull result;
};
MAKE_REFLECT_STRUCT(Out_Shutdown, jsonrpc, id, result);
struct Handler_Shutdown : BaseMessageHandler<In_Shutdown> {
MethodType GetMethodType() const override { return kMethodType; }
2018-08-09 17:08:14 +00:00
void Run(In_Shutdown *request) override {
Out_Shutdown out;
2018-01-13 19:39:06 +00:00
out.id = request->id;
2018-05-28 00:50:02 +00:00
pipeline::WriteStdout(kMethodType, out);
}
};
REGISTER_MESSAGE_HANDLER(Handler_Shutdown);
2018-08-09 17:08:14 +00:00
} // namespace