1/*
2 * Copyright (C) 2020-2022 The opuntiaOS Project Authors.
3 * + Contributed by Nikita Melekhin <nimelehin@gmail.com>
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9#pragma once
10#include "../../shared/Connections/WSConnection.h"
11#include "../Managers/Compositor.h"
12
13namespace WinServer {
14
15class WindowServerDecoder : public BaseWindowServerDecoder {
16public:
17 WindowServerDecoder() = default;
18 ~WindowServerDecoder() = default;
19
20 using BaseWindowServerDecoder::handle;
21 virtual std::unique_ptr<Message> handle(GreetMessage& msg) override;
22 virtual std::unique_ptr<Message> handle(CreateWindowMessage& msg) override;
23 virtual std::unique_ptr<Message> handle(DestroyWindowMessage& msg) override;
24 virtual std::unique_ptr<Message> handle(SetBarStyleMessage& msg) override;
25 virtual std::unique_ptr<Message> handle(SetTitleMessage& msg) override;
26 virtual std::unique_ptr<Message> handle(SetBufferMessage& msg) override;
27 virtual std::unique_ptr<Message> handle(InvalidateMessage& msg) override;
28 virtual std::unique_ptr<Message> handle(MenuBarCreateMenuMessage& msg) override;
29 virtual std::unique_ptr<Message> handle(MenuBarCreateItemMessage& msg) override;
30 virtual std::unique_ptr<Message> handle(PopupShowMenuMessage& msg) override;
31 virtual std::unique_ptr<Message> handle(AskBringToFrontMessage& msg) override;
32};
33
34} // namespace WinServer