18 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_TRANSPORT_H_
19 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_TRANSPORT_H_
21 #include "llvm/ADT/StringRef.h"
22 #include "llvm/Support/JSON.h"
23 #include "llvm/Support/raw_ostream.h"
39 virtual void notify(llvm::StringRef
Method, llvm::json::Value Params) = 0;
40 virtual void call(llvm::StringRef
Method, llvm::json::Value Params,
41 llvm::json::Value ID) = 0;
42 virtual void reply(llvm::json::Value ID,
43 llvm::Expected<llvm::json::Value> Result) = 0;
50 virtual bool onNotify(llvm::StringRef
Method, llvm::json::Value) = 0;
51 virtual bool onCall(llvm::StringRef
Method, llvm::json::Value Params,
52 llvm::json::Value ID) = 0;
53 virtual bool onReply(llvm::json::Value ID,
54 llvm::Expected<llvm::json::Value> Result) = 0;
83 std::unique_ptr<Transport>
85 llvm::raw_ostream *InMirror,
bool Pretty,