WSJT-X/logbook/logbook.h
Bill Somerville 1ff4d53f05 Take advantage of the rest of the AD1C cty.dat info for highlighting
Highlighting for new continent, CQ  zone, and ITU zone added. Includes
a new class to manage the AD1C cty.dat database in memory.
2018-10-26 03:24:36 +01:00

47 lines
1.7 KiB
C++

/*
* From an ADIF file and cty.dat, get a call's DXCC entity and its worked before status
* VK3ACF July 2013
*/
#ifndef LOG_BOOK_H_
#define LOG_BOOK_H_
#include <boost/core/noncopyable.hpp>
#include <QString>
#include "WorkedBefore.hpp"
class Configuration;
class QByteArray;
class QDateTime;
class LogBook final
: private boost::noncopyable
{
public:
LogBook (Configuration const *);
QString const& path () const {return worked_before_.path ();}
bool add (QString const& call
, QString const& grid
, QString const& band
, QString const& mode
, QByteArray const& ADIF_record);
AD1CCty const& countries () const {return worked_before_.countries ();}
void match (QString const& call, QString const& mode, QString const& grid,
AD1CCty::Record const&, bool& callB4, bool& countryB4,
bool &gridB4, bool &continentB4, bool& CQZoneB4, bool& ITUZoneB4,
QString const& currentBand = QString {}) const;
static QByteArray QSOToADIF (QString const& hisCall, QString const& hisGrid, QString const& mode,
QString const& rptSent, QString const& rptRcvd, QDateTime const& dateTimeOn,
QDateTime const& dateTimeOff, QString const& band, QString const& comments,
QString const& name, QString const& strDialFreq, QString const& myCall,
QString const& m_myGrid, QString const& m_txPower, QString const& operator_call,
QString const& xSent, QString const& xRcvd);
private:
Configuration const * config_;
WorkedBefore worked_before_;
};
#endif