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;