From 5159c6f8c7109efc9a4ba1ae5a97745b3dc1b79f Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Tue, 2 Jul 2024 10:03:59 -0400 Subject: [PATCH] convert monitor to Doxygen; --- src/monitor/Defines.h | 26 +++-- src/monitor/InhibitSubscriberWnd.h | 54 ++++++----- src/monitor/LogDisplayWnd.h | 82 +++++++++------- src/monitor/MonitorApplication.h | 50 +++++----- src/monitor/MonitorMain.cpp | 41 +++----- src/monitor/MonitorMain.h | 29 ++++-- src/monitor/MonitorMainWnd.h | 69 ++++++++------ src/monitor/NodeStatusWnd.h | 131 ++++++++++++++++---------- src/monitor/PageSubscriberWnd.h | 54 ++++++----- src/monitor/RadioCheckSubscriberWnd.h | 54 ++++++----- src/monitor/SelectedNodeWnd.h | 83 ++++++++++------ src/monitor/TransmitWndBase.h | 82 ++++++++-------- src/monitor/UninhibitSubscriberWnd.h | 54 ++++++----- 13 files changed, 457 insertions(+), 352 deletions(-) diff --git a/src/monitor/Defines.h b/src/monitor/Defines.h index 31259e60..44e3f9ab 100644 --- a/src/monitor/Defines.h +++ b/src/monitor/Defines.h @@ -1,15 +1,21 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ + * @defgroup monitor Host Monitor Software (dvmmon) + * @brief Digital Voice Modem - Host Monitor Software + * @details Montior software that connects to the DVM hosts and is a quick TUI for monitoring activity on them. + * @ingroup monitor + * + * @file Defines.h + * @ingroup monitor + */ #if !defined(__DEFINES_H__) #define __DEFINES_H__ diff --git a/src/monitor/InhibitSubscriberWnd.h b/src/monitor/InhibitSubscriberWnd.h index 7c41176e..e9c2a55a 100644 --- a/src/monitor/InhibitSubscriberWnd.h +++ b/src/monitor/InhibitSubscriberWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023,2024 Bryan Biedenkapp, N2PLL -* -*/ + * @file InhibitSubscriberWnd.h + * @ingroup monitor + */ #if !defined(__INHIBIT_SUBSCRIBER_WND_H__) #define __INHIBIT_SUBSCRIBER_WND_H__ @@ -20,16 +21,19 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the inhibit subscriber window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the inhibit subscriber window. + * @ingroup monitor + */ class HOST_SW_API InhibitSubscriberWnd final : public TransmitWndBase { public: - /// - /// Initializes a new instance of the InhibitSubscriberWnd class. - /// - /// - /// + /** + * @brief Initializes a new instance of the InhibitSubscriberWnd class. + * @param channel Channel data. + * @param widget + */ explicit InhibitSubscriberWnd(lookups::VoiceChData channel, FWidget* widget = nullptr) : TransmitWndBase{channel, widget} { /* stub */ @@ -41,9 +45,9 @@ private: FLabel m_subscriberLabel{"Subscriber ID: ", this}; FSpinBox m_subscriber{this}; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { FDialog::setText("Inhibit Subscriber"); @@ -52,9 +56,9 @@ private: TransmitWndBase::initLayout(); } - /// - /// - /// + /** + * @brief Initializes window controls. + */ void initControls() override { TransmitWndBase::initControls(); @@ -103,9 +107,9 @@ private: redraw(); } - /// - /// - /// + /** + * @brief Helper to transmit. + */ void setTransmit() override { std::string method = PUT_DMR_RID; diff --git a/src/monitor/LogDisplayWnd.h b/src/monitor/LogDisplayWnd.h index b8eff9f8..abc19a69 100644 --- a/src/monitor/LogDisplayWnd.h +++ b/src/monitor/LogDisplayWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ + * @file LogDisplayWnd.h + * @ingroup monitor + */ #if !defined(__LOG_DISPLAY_WND_H__) #define __LOG_DISPLAY_WND_H__ @@ -18,40 +19,53 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the log display window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the log display window. + * @ingroup monitor + */ class HOST_SW_API LogDisplayWnd final : public finalcut::FDialog, public std::ostringstream { public: - /// - /// Initializes a new instance of the LogDisplayWnd class. - /// - /// + /** + * @brief Initializes a new instance of the LogDisplayWnd class. + * @param widget + */ explicit LogDisplayWnd(FWidget* widget = nullptr) : FDialog{widget} { m_scrollText.ignorePadding(); m_timerId = addTimer(250); // starts the timer every 250 milliseconds } - /// Copy constructor. + /** + * @brief Copy constructor. + */ LogDisplayWnd(const LogDisplayWnd&) = delete; - /// Move constructor. + /** + * @brief Move constructor. + */ LogDisplayWnd(LogDisplayWnd&&) noexcept = delete; - /// Finalizes an instance of the LogDisplayWnd class. + /** + * @brief Finalizes an instance of the LogDisplayWnd class. + */ ~LogDisplayWnd() noexcept override = default; - /// Disable copy assignment operator (=). + /** + * @brief Disable copy assignment operator (=). + */ auto operator= (const LogDisplayWnd&) -> LogDisplayWnd& = delete; - /// Disable move assignment operator (=). + /** + * @brief Disable move assignment operator (=). + */ auto operator= (LogDisplayWnd&&) noexcept -> LogDisplayWnd& = delete; private: FTextView m_scrollText{this}; int m_timerId; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { using namespace std::string_literals; @@ -74,9 +88,9 @@ private: FDialog::initLayout(); } - /// - /// - /// + /** + * @brief Adjusts window size. + */ void adjustSize() override { FDialog::adjustSize(); @@ -88,19 +102,19 @@ private: ** Event Handlers */ - /// - /// - /// - /// + /** + * @brief Event that occurs when the window is closed. + * @param e Close Event + */ void onClose(FCloseEvent* e) override { minimizeWindow(); } - /// - /// - /// - /// + /** + * @brief Event that occurs on interval by timer. + * @param timer Timer Event + */ void onTimer(FTimerEvent* timer) override { if (timer != nullptr) { diff --git a/src/monitor/MonitorApplication.h b/src/monitor/MonitorApplication.h index 03866600..a721400d 100644 --- a/src/monitor/MonitorApplication.h +++ b/src/monitor/MonitorApplication.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ + * @file MonitorApplication.h + * @ingroup monitor + */ #if !defined(__MONITOR_APPLICATION_H__) #define __MONITOR_APPLICATION_H__ @@ -22,25 +23,28 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the finalcut application. // --------------------------------------------------------------------------- +/** + * @brief This class implements the finalcut application. + * @ingroup monitor + */ class HOST_SW_API MonitorApplication final : public finalcut::FApplication { public: - /// - /// Initializes a new instance of the MonitorApplication class. - /// - /// - /// + /** + * @brief Initializes a new instance of the MonitorApplication class. + * @param argc Passed argc. + * @param argv Passed argv. + */ explicit MonitorApplication(const int& argc, char** argv) : FApplication{argc, argv} { m_statusRefreshTimer = addTimer(1000); } protected: - /// - /// - /// + /** + * @brief Process external user events. + */ void processExternalUserEvent() override { /* stub */ @@ -50,10 +54,10 @@ protected: ** Event Handlers */ - /// - /// - /// - /// + /** + * @brief Event that occurs on interval by timer. + * @param timer Timer Event + */ void onTimer(FTimerEvent* timer) override { if (timer != nullptr) { diff --git a/src/monitor/MonitorMain.cpp b/src/monitor/MonitorMain.cpp index 90d6e6a4..035cfa2b 100644 --- a/src/monitor/MonitorMain.cpp +++ b/src/monitor/MonitorMain.cpp @@ -1,15 +1,12 @@ // SPDX-License-Identifier: GPL-2.0-only -/** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ #include "Defines.h" #include "common/yaml/Yaml.h" #include "common/Log.h" @@ -47,11 +44,8 @@ lookups::IdenTableLookup* g_idenTable = nullptr; // Global Functions // --------------------------------------------------------------------------- -/// -/// Helper to print a fatal error message and exit. -/// -/// This is a variable argument function. -/// Message. +/* Helper to print a fatal error message and exit. */ + void fatal(const char* msg, ...) { char buffer[400U]; @@ -68,11 +62,8 @@ void fatal(const char* msg, ...) exit(EXIT_FAILURE); } -/// -/// Helper to pring usage the command line arguments. (And optionally an error.) -/// -/// Error message. -/// Error message arguments. +/* Helper to pring usage the command line arguments. (And optionally an error.) */ + void usage(const char* message, const char* arg) { ::fprintf(stdout, __PROG_NAME__ " %s (built %s)\r\n", __VER__, __BUILD__); @@ -103,12 +94,8 @@ void usage(const char* message, const char* arg) exit(EXIT_FAILURE); } -/// -/// Helper to validate the command line arguments. -/// -/// Argument count. -/// Array of argument strings. -/// Count of remaining unprocessed arguments. +/* Helper to validate the command line arguments. */ + int checkArgs(int argc, char* argv[]) { int i, p = 0; diff --git a/src/monitor/MonitorMain.h b/src/monitor/MonitorMain.h index 6d0dfbd5..6d5b9170 100644 --- a/src/monitor/MonitorMain.h +++ b/src/monitor/MonitorMain.h @@ -1,15 +1,18 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ + * @file MonitorMain.h + * @ingroup monitor + * @file MonitorMain.cpp + * @ingroup monitor + */ #if !defined(__MONITOR_MAIN_H__) #define __MONITOR_MAIN_H__ @@ -32,13 +35,19 @@ // Externs // --------------------------------------------------------------------------- +/** @brief */ extern std::string g_progExe; +/** @brief */ extern std::string g_iniFile; +/** @brief */ extern yaml::Node g_conf; +/** @brief */ extern bool g_debug; +/** @brief */ extern bool g_hideLoggingWnd; +/** @brief */ extern lookups::IdenTableLookup* g_idenTable; #endif // __MONITOR_MAIN_H__ diff --git a/src/monitor/MonitorMainWnd.h b/src/monitor/MonitorMainWnd.h index 52eff94e..b71824c3 100644 --- a/src/monitor/MonitorMainWnd.h +++ b/src/monitor/MonitorMainWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ + * @file MonitorMainWnd.h + * @ingroup monitor + */ #if !defined(__MONITOR_WND_H__) #define __MONITOR_WND_H__ @@ -43,15 +44,18 @@ class HOST_SW_API MonitorApplication; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the root window control. // --------------------------------------------------------------------------- +/** + * @brief This class implements the root window control. + * @ingroup monitor + */ class HOST_SW_API MonitorMainWnd final : public finalcut::FWidget { public: - /// - /// Initializes a new instance of the MonitorMainWnd class. - /// - /// + /** + * @brief Initializes a new instance of the MonitorMainWnd class. + * @param widget + */ explicit MonitorMainWnd(FWidget* widget = nullptr) : FWidget{widget} { __InternalOutputStream(m_logWnd); @@ -106,7 +110,10 @@ public: }); } - /// + /** + * @brief Helper to get the currently selected channel. + * @returns lookups::VoiceChData Currently selected channel. + */ lookups::VoiceChData getSelectedCh() { return m_selectedCh; } private: @@ -142,9 +149,9 @@ private: FStatusKey m_keyF7{FKey::F7, "Inhibit Subscriber", &m_statusBar}; FStatusKey m_keyF8{FKey::F8, "Uninhibit Subscriber", &m_statusBar}; - /// - /// - /// + /** + * @brief Helper to initialize the individual channel display elements. + */ void intializeNodeDisplay() { const auto& rootWidget = getRootWidget(); @@ -226,10 +233,10 @@ private: ** Event Handlers */ - /// - /// - /// - /// + /** + * @brief Event that occurs on keyboard key press. + * @param e Keyboard Event. + */ void onKeyPress(finalcut::FKeyEvent* e) override { const FKey key = e->key(); @@ -249,10 +256,10 @@ private: } } - /// - /// - /// - /// + /** + * @brief Event that occurs when the window is shown. + * @param e Show Event + */ void onShow(FShowEvent* e) override { intializeNodeDisplay(); @@ -264,10 +271,10 @@ private: } } - /// - /// - /// - /// + /** + * @brief Event that occurs when the window is closed. + * @param e Close Event + */ void onClose(FCloseEvent* e) override { FApplication::closeConfirmationDialog(this, e); diff --git a/src/monitor/NodeStatusWnd.h b/src/monitor/NodeStatusWnd.h index 3f8d7c77..d255c3f9 100644 --- a/src/monitor/NodeStatusWnd.h +++ b/src/monitor/NodeStatusWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023,2024 Bryan Biedenkapp, N2PLL -* -*/ + * @file NodeStatusWnd.h + * @ingroup monitor + */ #if !defined(__NODE_STATUS_WND_H__) #define __NODE_STATUS_WND_H__ @@ -33,48 +34,82 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the node status display window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the node status display window. + * @ingroup monitor + */ class HOST_SW_API NodeStatusWnd final : public finalcut::FDialog { public: - /// - /// Initializes a new instance of the NodeStatusWnd class. - /// - /// + /** + * @brief Initializes a new instance of the NodeStatusWnd class. + * @param widget + */ explicit NodeStatusWnd(FWidget* widget = nullptr) : FDialog{widget} { m_timerId = addTimer(250); // starts the timer every 250 milliseconds m_reconnectTimerId = addTimer(15000); // starts the timer every 10 seconds } - /// Copy constructor. + /** + * @brief Copy constructor. + */ NodeStatusWnd(const NodeStatusWnd&) = delete; - /// Move constructor. + /** + * @brief Move constructor. + */ NodeStatusWnd(NodeStatusWnd&&) noexcept = delete; - /// Finalizes an instance of the NodeStatusWnd class. + /** + * @brief Finalizes an instance of the NodeStatusWnd class. + */ ~NodeStatusWnd() noexcept override = default; - /// Disable copy assignment operator (=). + /** + * @brief Disable copy assignment operator (=). + */ auto operator= (const NodeStatusWnd&) -> NodeStatusWnd& = delete; - /// Disable move assignment operator (=). + /** + * @brief Disable move assignment operator (=). + */ auto operator= (NodeStatusWnd&&) noexcept -> NodeStatusWnd& = delete; - /// Disable set X coordinate. + /** + * @brief Disable set X coordinate. + */ void setX(int, bool = true) override { } - /// Disable set Y coordinate. + /** + * @brief Disable set Y coordinate. + */ void setY(int, bool = true) override { } - /// Disable set position. + /** + * @brief Disable set position. + */ void setPos(const FPoint&, bool = true) override { } - /// Gets the channel ID. + /** + * @brief Gets the channel ID. + * @returns uint8_t Channel ID. + */ uint8_t getChannelId() const { return m_channelId; } - /// Gets the channel number. + /** + * @brief Gets the channel number. + * @returns uint32_t Channel Number. + */ uint32_t getChannelNo() const { return m_channelNo; } - /// Gets the channel data. + /** + * @brief Gets the channel data. + * @returns lookups::VoiceChData Channel Data. + */ lookups::VoiceChData getChData() { return m_chData; } - /// Sets the channel data. + /** + * @brief Sets the channel data. + * @param chData Channel Data. + */ void setChData(lookups::VoiceChData chData) { m_chData = chData; } - /// Gets the peer ID. + /** + * @brief Gets the peer ID. + * @param uint32_t Peer ID. + */ uint32_t getPeerId() const { return m_peerId; } private: @@ -107,9 +142,9 @@ private: FLabel m_lastSrcLabel{"Last Src: ", this}; FLabel m_lastSrc{this}; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { FDialog::setMinimumSize(FSize{NODE_STATUS_WIDTH, NODE_STATUS_HEIGHT}); @@ -127,9 +162,9 @@ private: FDialog::initLayout(); } - /// - /// - /// + /** + * @brief Draws the window. + */ void draw() override { FDialog::draw(); @@ -150,9 +185,9 @@ private: finalcut::drawBorder(this, FRect(FPoint{1, 2}, FPoint{NODE_STATUS_WIDTH, NODE_STATUS_HEIGHT})); } - /// - /// - /// + /** + * @brief Initializes window controls. + */ void initControls() { m_modeStr.setGeometry(FPoint(22, 1), FSize(4, 1)); @@ -198,9 +233,9 @@ private: } } - /// - /// - /// + /** + * @brief Helper to calculate the Tx/Rx frequencies of a channel. + */ void calculateRxTx() { IdenTable entry = g_idenTable->find(m_channelId); @@ -239,20 +274,20 @@ private: ** Event Handlers */ - /// - /// - /// - /// + /** + * @brief Event that occurs when the window is raised. + * @param e Event. + */ void onWindowRaised(FEvent* e) override { FDialog::onWindowLowered(e); emitCallback("update-selected"); } - /// - /// - /// - /// + /** + * @brief Event that occurs on interval by timer. + * @param timer Timer Event + */ void onTimer(FTimerEvent* timer) override { if (timer != nullptr) { diff --git a/src/monitor/PageSubscriberWnd.h b/src/monitor/PageSubscriberWnd.h index 08aa31a3..2ef3c5f8 100644 --- a/src/monitor/PageSubscriberWnd.h +++ b/src/monitor/PageSubscriberWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023,2024 Bryan Biedenkapp, N2PLL -* -*/ + * @file PageSubscriberWnd.h + * @ingroup monitor + */ #if !defined(__PAGE_SUBSCRIBER_WND_H__) #define __PAGE_SUBSCRIBER_WND_H__ @@ -20,16 +21,19 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the page subscriber window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the page subscriber window. + * @ingroup monitor + */ class HOST_SW_API PageSubscriberWnd final : public TransmitWndBase { public: - /// - /// Initializes a new instance of the PageSubscriberWnd class. - /// - /// - /// + /** + * @brief Initializes a new instance of the PageSubscriberWnd class. + * @param channel Channel data. + * @param widget + */ explicit PageSubscriberWnd(lookups::VoiceChData channel, FWidget* widget = nullptr) : TransmitWndBase{channel, widget} { /* stub */ @@ -41,9 +45,9 @@ private: FLabel m_subscriberLabel{"Subscriber ID: ", this}; FSpinBox m_subscriber{this}; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { FDialog::setText("Page Subscriber"); @@ -52,9 +56,9 @@ private: TransmitWndBase::initLayout(); } - /// - /// - /// + /** + * @brief Initializes window controls. + */ void initControls() override { TransmitWndBase::initControls(); @@ -103,9 +107,9 @@ private: redraw(); } - /// - /// - /// + /** + * @brief Helper to transmit. + */ void setTransmit() override { std::string method = PUT_DMR_RID; diff --git a/src/monitor/RadioCheckSubscriberWnd.h b/src/monitor/RadioCheckSubscriberWnd.h index 805cf679..c3afe1f3 100644 --- a/src/monitor/RadioCheckSubscriberWnd.h +++ b/src/monitor/RadioCheckSubscriberWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023,2024 Bryan Biedenkapp, N2PLL -* -*/ + * @file RadioCheckSubscriberWnd.h + * @ingroup monitor + */ #if !defined(__RADIO_CHECK_SUBSCRIBER_WND_H__) #define __RADIO_CHECK_SUBSCRIBER_WND_H__ @@ -20,16 +21,19 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the radio check subscriber window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the radio check subscriber window. + * @ingroup monitor + */ class HOST_SW_API RadioCheckSubscriberWnd final : public TransmitWndBase { public: - /// - /// Initializes a new instance of the RadioCheckSubscriberWnd class. - /// - /// - /// + /** + * @brief Initializes a new instance of the RadioCheckSubscriberWnd class. + * @param channel Channel data. + * @param widget + */ explicit RadioCheckSubscriberWnd(lookups::VoiceChData channel, FWidget* widget = nullptr) : TransmitWndBase{channel, widget} { /* stub */ @@ -41,9 +45,9 @@ private: FLabel m_subscriberLabel{"Subscriber ID: ", this}; FSpinBox m_subscriber{this}; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { FDialog::setText("Radio Check Subscriber"); @@ -52,9 +56,9 @@ private: TransmitWndBase::initLayout(); } - /// - /// - /// + /** + * @brief Initializes window controls. + */ void initControls() override { TransmitWndBase::initControls(); @@ -103,9 +107,9 @@ private: redraw(); } - /// - /// - /// + /** + * @brief Helper to transmit. + */ void setTransmit() override { std::string method = PUT_DMR_RID; diff --git a/src/monitor/SelectedNodeWnd.h b/src/monitor/SelectedNodeWnd.h index 61128d3a..02d50c8e 100644 --- a/src/monitor/SelectedNodeWnd.h +++ b/src/monitor/SelectedNodeWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023 Bryan Biedenkapp, N2PLL -* -*/ + * @file SelectedNodeWnd.h + * @ingroup monitor + */ #if !defined(__SELECTED_NODE_WND_H__) #define __SELECTED_NODE_WND_H__ @@ -20,39 +21,61 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the selected node display window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the selected node display window. + * @ingroup monitor + */ class HOST_SW_API SelectedNodeWnd final : public finalcut::FDialog { public: - /// - /// Initializes a new instance of the SelectedNodeWnd class. - /// - /// + /** + * @brief Initializes a new instance of the SelectedNodeWnd class. + * @param widget + */ explicit SelectedNodeWnd(FWidget* widget = nullptr) : FDialog{widget} { /* stub */ } - /// Copy constructor. + /** + * @brief Copy constructor. + */ SelectedNodeWnd(const SelectedNodeWnd&) = delete; - /// Move constructor. + /** + * @brief Move constructor. + */ SelectedNodeWnd(SelectedNodeWnd&&) noexcept = delete; - /// Finalizes an instance of the SelectedNodeWnd class. + /** + * @brief Finalizes an instance of the SelectedNodeWnd class. + */ ~SelectedNodeWnd() noexcept override = default; - /// Disable copy assignment operator (=). + /** + * @brief Disable copy assignment operator (=). + */ auto operator= (const SelectedNodeWnd&) -> SelectedNodeWnd& = delete; - /// Disable move assignment operator (=). + /** + * @brief Disable move assignment operator (=). + */ auto operator= (SelectedNodeWnd&&) noexcept -> SelectedNodeWnd& = delete; - /// Disable set X coordinate. + /** + * @brief Disable set X coordinate. + */ void setX(int, bool = true) override { } - /// Disable set Y coordinate. + /** + * @brief Disable set Y coordinate. + */ void setY(int, bool = true) override { } - /// Disable set position. + /** + * @brief Disable set position. + */ void setPos(const FPoint&, bool = true) override { } - /// + /** + * @brief Helper to set the selected host text. + * @param str Text. + */ void setSelectedText(std::string str) { m_selectedHost.setText(str); @@ -63,9 +86,9 @@ private: FLabel m_selectedHostLabel{"Selected Host: ", this}; FLabel m_selectedHost{this}; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { std::size_t maxWidth; @@ -93,9 +116,9 @@ private: FDialog::initLayout(); } - /// - /// - /// + /** + * @brief Draws the window. + */ void draw() override { setColor(); diff --git a/src/monitor/TransmitWndBase.h b/src/monitor/TransmitWndBase.h index a5246057..d0be1b0a 100644 --- a/src/monitor/TransmitWndBase.h +++ b/src/monitor/TransmitWndBase.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023,2024 Bryan Biedenkapp, N2PLL -* -*/ + * @file TransmitWndBase.h + * @ingroup monitor + */ #if !defined(__TRANSMIT_WND_BASE_H__) #define __TRANSMIT_WND_BASE_H__ @@ -24,16 +25,19 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the base class for transmit windows. // --------------------------------------------------------------------------- +/** + * @brief This class implements the base class for transmit windows. + * @ingroup monitor + */ class HOST_SW_API TransmitWndBase : public finalcut::FDialog { public: - /// - /// Initializes a new instance of the TransmitWndBase class. - /// - /// - /// + /** + * @brief Initializes a new instance of the TransmitWndBase class. + * @param channel Channel data. + * @param widget + */ explicit TransmitWndBase(lookups::VoiceChData channel, FWidget* widget = nullptr) : FDialog{widget}, m_selectedCh(channel) { @@ -46,9 +50,9 @@ protected: uint8_t m_mode = modem::STATE_DMR; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { FDialog::setMinimizable(true); @@ -82,9 +86,9 @@ protected: redraw(); } - /// - /// - /// + /** + * @brief Initializes window controls. + */ virtual void initControls() { resizeControls(); @@ -202,9 +206,9 @@ protected: focusFirstChild(); } - /// - /// - /// + /** + * @brief + */ void resizeControls() { // transmit button and close button logic @@ -215,9 +219,9 @@ protected: m_closeButton.addCallback("clicked", [&]() { hide(); }); } - /// - /// - /// + /** + * @brief Adjusts window size. + */ void adjustSize() override { FDialog::adjustSize(); @@ -227,10 +231,10 @@ protected: ** Event Handlers */ - /// - /// - /// - /// + /** + * @brief Event that occurs on keyboard key press. + * @param e Keyboard Event. + */ void onKeyPress(finalcut::FKeyEvent* e) override { const auto key = e->key(); @@ -239,19 +243,19 @@ protected: } } - /// - /// - /// - /// + /** + * @brief Event that occurs when the window is closed. + * @param e Close Event + */ void onClose(FCloseEvent* e) override { hide(); } protected: - /// - /// - /// + /** + * @brief Helper to transmit. + */ virtual void setTransmit() { /* stub */ diff --git a/src/monitor/UninhibitSubscriberWnd.h b/src/monitor/UninhibitSubscriberWnd.h index 036dec05..012bdb74 100644 --- a/src/monitor/UninhibitSubscriberWnd.h +++ b/src/monitor/UninhibitSubscriberWnd.h @@ -1,15 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-only +/* + * Digital Voice Modem - Host Monitor Software + * GPLv2 Open Source. Use is subject to license terms. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright (C) 2023 Bryan Biedenkapp, N2PLL + * + */ /** -* Digital Voice Modem - Host Monitor Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Monitor Software -* @license GPLv2 License (https://opensource.org/licenses/GPL-2.0) -* -* Copyright (C) 2023,2024 Bryan Biedenkapp, N2PLL -* -*/ + * @file RadioCheckSubscriberWnd.h + * @ingroup monitor + */ #if !defined(__UNINHIBIT_SUBSCRIBER_WND_H__) #define __UNINHIBIT_SUBSCRIBER_WND_H__ @@ -20,16 +21,19 @@ using namespace finalcut; // --------------------------------------------------------------------------- // Class Declaration -// This class implements the uninhibit subscriber window. // --------------------------------------------------------------------------- +/** + * @brief This class implements the uninhibit subscriber window. + * @ingroup monitor + */ class HOST_SW_API UninhibitSubscriberWnd final : public TransmitWndBase { public: - /// - /// Initializes a new instance of the UninhibitSubscriberWnd class. - /// - /// - /// + /** + * @brief Initializes a new instance of the UninhibitSubscriberWnd class. + * @param channel Channel data. + * @param widget + */ explicit UninhibitSubscriberWnd(lookups::VoiceChData channel, FWidget* widget = nullptr) : TransmitWndBase{channel, widget} { /* stub */ @@ -41,9 +45,9 @@ private: FLabel m_subscriberLabel{"Subscriber ID: ", this}; FSpinBox m_subscriber{this}; - /// - /// - /// + /** + * @brief Initializes the window layout. + */ void initLayout() override { FDialog::setText("Uninhibit Subscriber"); @@ -52,9 +56,9 @@ private: TransmitWndBase::initLayout(); } - /// - /// - /// + /** + * @brief Initializes window controls. + */ void initControls() override { TransmitWndBase::initControls(); @@ -103,9 +107,9 @@ private: redraw(); } - /// - /// - /// + /** + * @brief Helper to transmit. + */ void setTransmit() override { std::string method = PUT_DMR_RID;