From 32e56ff0c618fdcc6b005290e760c9259830efa8 Mon Sep 17 00:00:00 2001 From: Peter L Jones Date: Sat, 21 Mar 2020 18:57:18 +0000 Subject: [PATCH] Pass number of items and days --- src/historygraph.cpp | 22 +++++++++++++--------- src/historygraph.h | 10 +++++++--- src/server.cpp | 3 +++ src/server.h | 2 ++ src/serverlogging.cpp | 15 ++++++++++++--- src/serverlogging.h | 9 +++++++-- 6 files changed, 44 insertions(+), 17 deletions(-) diff --git a/src/historygraph.cpp b/src/historygraph.cpp index 413601ea..b6243113 100644 --- a/src/historygraph.cpp +++ b/src/historygraph.cpp @@ -27,11 +27,13 @@ /* Abstract class *************************************************************/ -AHistoryGraph::AHistoryGraph() : +AHistoryGraph::AHistoryGraph( const int iNumItemsHistory, + const int iMaxDaysHistory ) : sFileName ( "" ), bDoHistory ( false ), - vHistoryDataFifo ( NUM_ITEMS_HISTORY ), + vHistoryDataFifo ( iNumItemsHistory ), iNumTicksX ( 0 ), // number of days in history + iHistMaxDays ( iMaxDaysHistory ), BackgroundColor ( "white" ), // background FrameColor ( "black" ), // frame @@ -136,7 +138,7 @@ void AHistoryGraph::Update ( ) curDate = QDate::currentDate(); // set oldest date to draw - QDate minDate = curDate.addDays ( MAX_DAYS_HISTORY * -1 ); + QDate minDate = curDate.addDays ( iHistMaxDays * -1 ); // get oldest date in history QDate oldestDate = curDate.addDays ( 1 ); // one day in the future @@ -298,9 +300,10 @@ void AHistoryGraph::AddMarker ( const SHistoryData& curHistoryData ) /* JPEG History Graph implementation ******************************************/ -CJpegHistoryGraph::CJpegHistoryGraph() : - AHistoryGraph(), - PlotPixmap ( 1, 1, QImage::Format_RGB32 ), +CJpegHistoryGraph::CJpegHistoryGraph( const int iNumItemsHistory, + const int iMaxDaysHistory ) : + AHistoryGraph ( iNumItemsHistory, iMaxDaysHistory ), + PlotPixmap ( 1, 1, QImage::Format_RGB32 ), iAxisFontWeight ( -1 ) { // scale pixmap to correct size @@ -403,9 +406,10 @@ void CJpegHistoryGraph::point ( const unsigned int x, const unsigned int y, cons /* SVG History Graph implementation *******************************************/ -CSvgHistoryGraph::CSvgHistoryGraph() : - AHistoryGraph(), - svgImage ( "" ), +CSvgHistoryGraph::CSvgHistoryGraph( const int iNumItemsHistory, + const int iMaxDaysHistory ) : + AHistoryGraph ( iNumItemsHistory, iMaxDaysHistory ), + svgImage ( "" ), svgStreamWriter ( &svgImage ) { // set SVG veiwBox to correct size to ensure correct scaling diff --git a/src/historygraph.h b/src/historygraph.h index 2c3d99a0..a7b5b5c7 100644 --- a/src/historygraph.h +++ b/src/historygraph.h @@ -53,7 +53,8 @@ public: HIT_SERVER_STOP }; - AHistoryGraph(); + AHistoryGraph( const int iNumItemsHistory, + const int iMaxDaysHistory ); ~AHistoryGraph() { } void Start ( const QString& sNewFileName ); @@ -81,6 +82,7 @@ protected: bool bDoHistory; CFIFO vHistoryDataFifo; unsigned int iNumTicksX; // Class global, not sure why + int iHistMaxDays; QString BackgroundColor; QString FrameColor; @@ -133,7 +135,8 @@ class CJpegHistoryGraph : public QObject, virtual public AHistoryGraph Q_OBJECT public: - CJpegHistoryGraph(); + CJpegHistoryGraph( const int iNumItemsHistory, + const int iMaxDaysHistory ); virtual void Update ( ); protected: @@ -157,7 +160,8 @@ class CSvgHistoryGraph : public QObject, virtual public AHistoryGraph Q_OBJECT public: - CSvgHistoryGraph(); + CSvgHistoryGraph( const int iNumItemsHistory, + const int iMaxDaysHistory ); virtual void Update(); protected: diff --git a/src/server.cpp b/src/server.cpp index 0d281e5e..dbd38c3c 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -198,6 +198,8 @@ void CHighPrecisionTimer::run() // CServer implementation ****************************************************** CServer::CServer ( const int iNewMaxNumChan, + const int iNumItemsHistory, + const int iMaxDaysHistory, const QString& strLoggingFileName, const quint16 iPortNumber, const QString& strHTMLStatusFileName, @@ -212,6 +214,7 @@ CServer::CServer ( const int iNewMaxNumChan, const ELicenceType eNLicenceType ) : iMaxNumChannels ( iNewMaxNumChan ), Socket ( this, iPortNumber ), + Logging ( iNumItemsHistory, iMaxDaysHistory ), JamRecorder ( strRecordingDirName ), bEnableRecording ( !strRecordingDirName.isEmpty() ), bWriteStatusHTMLFile ( false ), diff --git a/src/server.h b/src/server.h index f1a947ab..749e3a77 100755 --- a/src/server.h +++ b/src/server.h @@ -119,6 +119,8 @@ class CServer : public QObject public: CServer ( const int iNewMaxNumChan, + const int iNumItemsHistory, + const int iMaxDaysHistory, const QString& strLoggingFileName, const quint16 iPortNumber, const QString& strHTMLStatusFileName, diff --git a/src/serverlogging.cpp b/src/serverlogging.cpp index 8c401c3a..5ad56e09 100755 --- a/src/serverlogging.cpp +++ b/src/serverlogging.cpp @@ -25,6 +25,15 @@ #include "serverlogging.h" // Server logging -------------------------------------------------------------- +CServerLogging::CServerLogging( const int iNumItemsHistory, + const int iMaxDaysHistory ) : + JpegHistoryGraph ( iNumItemsHistory, iMaxDaysHistory ), + SvgHistoryGraph ( iNumItemsHistory, iMaxDaysHistory ), + bDoLogging ( false ), + File ( DEFAULT_LOG_FILE_NAME ) +{ +} + CServerLogging::~CServerLogging() { // close logging file of open @@ -82,8 +91,8 @@ void CServerLogging::AddServerStopped() *this << strLogStr; // in log file // add element to history and update on server stop - JpegHistoryGraph.Add ( QDateTime::currentDateTime(), CJpegHistoryGraph::HIT_SERVER_STOP ); - SvgHistoryGraph.Add ( QDateTime::currentDateTime(), CJpegHistoryGraph::HIT_SERVER_STOP ); + JpegHistoryGraph.Add ( QDateTime::currentDateTime(), AHistoryGraph::HIT_SERVER_STOP ); + SvgHistoryGraph.Add ( QDateTime::currentDateTime(), AHistoryGraph::HIT_SERVER_STOP ); JpegHistoryGraph.Update(); SvgHistoryGraph.Update(); @@ -140,7 +149,7 @@ void CServerLogging::ParseLogFile ( const QString& strFileName ) if ( strAddress.isEmpty() ) { // server stop - JpegHistoryGraph.Add ( curDateTime, CJpegHistoryGraph::HIT_SERVER_STOP ); + JpegHistoryGraph.Add ( curDateTime, AHistoryGraph::HIT_SERVER_STOP ); SvgHistoryGraph.Add ( curDateTime, CSvgHistoryGraph::HIT_SERVER_STOP ); } else diff --git a/src/serverlogging.h b/src/serverlogging.h index aa4344d9..5c5a9f19 100755 --- a/src/serverlogging.h +++ b/src/serverlogging.h @@ -38,8 +38,9 @@ class CServerLogging { public: - CServerLogging() : bDoLogging ( false ), - File ( DEFAULT_LOG_FILE_NAME ) {} + CServerLogging( const int iNumItemsHistory, + const int iMaxDaysHistory ); + virtual ~CServerLogging(); void Start ( const QString& strLoggingFileName ); @@ -56,4 +57,8 @@ protected: CSvgHistoryGraph SvgHistoryGraph; bool bDoLogging; QFile File; + +private: + int iHistNumItems; + int iHistMaxDays; };