#pragma once #include #include "isolate/class_handle.h" #include "isolate/inspector.h" #include namespace ivm { /** * This handle is given to the client and encapsulates an inspector session. Non-transferable. */ class SessionHandle : public ClassHandle { private: std::shared_ptr session; public: using DontFreezePrototype = void; using DontFreezeInstance = void; explicit SessionHandle(IsolateEnvironment& isolate); static auto Definition() -> v8::Local; void CheckDisposed(); auto DispatchProtocolMessage(v8::Local message) -> v8::Local; auto Dispose() -> v8::Local; auto OnNotificationGetter() -> v8::Local; void OnNotificationSetter(v8::Local value); auto OnResponseGetter() -> v8::Local; void OnResponseSetter(v8::Local value); }; } // namespace ivm