Serenity Operating System
at master 37 lines 1.1 kB view raw
1/* 2 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> 3 * Copyright (c) 2022, the SerenityOS developers. 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#pragma once 9 10#include <LibCore/Timer.h> 11#include <LibGUI/LazyWidget.h> 12 13namespace SystemMonitor { 14 15class NetworkStatisticsWidget final : public GUI::LazyWidget { 16 C_OBJECT(NetworkStatisticsWidget) 17public: 18 virtual ~NetworkStatisticsWidget() override = default; 19 20private: 21 NetworkStatisticsWidget(); 22 void update_models(); 23 24 RefPtr<GUI::TableView> m_adapter_table_view; 25 RefPtr<GUI::Menu> m_adapter_context_menu; 26 RefPtr<GUI::TableView> m_tcp_socket_table_view; 27 RefPtr<GUI::TableView> m_udp_socket_table_view; 28 RefPtr<GUI::JsonArrayModel> m_adapter_model; 29 RefPtr<GUI::JsonArrayModel> m_tcp_socket_model; 30 RefPtr<GUI::JsonArrayModel> m_udp_socket_model; 31 RefPtr<Core::Timer> m_update_timer; 32 RefPtr<Gfx::Bitmap> m_network_connected_bitmap; 33 RefPtr<Gfx::Bitmap> m_network_disconnected_bitmap; 34 RefPtr<Gfx::Bitmap> m_network_link_down_bitmap; 35}; 36 37}