JS8Call-Improved master
Loading...
Searching...
No Matches
ADIF.h
1/*
2 * Reads an ADIF log file into memory
3 * Searches log for call, band and mode
4 * VK3ACF July 2013
5 */
6
7#ifndef __ADIF_H
8#define __ADIF_H
9
10#include "JS8_Main/fileutils.h"
11
12#include <QtGui>
13
14class QDateTime;
15
16extern const QStringList ADIF_FIELDS;
17
18class ADIF {
19 public:
20 struct QSO;
21
22 void init(QString const &filename);
23 void load();
24 void add(QString const &call, QString const &band, QString const &mode,
25 const QString &submode, QString const &grid, QString const &date,
26 const QString &name, const QString &comment);
27 bool match(QString const &call, QString const &band) const;
28 QList<ADIF::QSO> find(QString const &call) const;
30 qsizetype getCount() const;
31
32 // open ADIF file and append the QSO details. Return true on success
33 bool addQSOToFile(QByteArray const &ADIF_record);
34
35 QByteArray QSOToADIF(QString const &hisCall, QString const &hisGrid,
36 QString const &mode, QString const &submode,
37 QString const &rptSent, QString const &rptRcvd,
38 QDateTime const &dateTimeOn,
39 QDateTime const &dateTimeOff, QString const &band,
40 QString const &comments, QString const &name,
41 QString const &strDialFreq, QString const &m_myCall,
42 QString const &m_myGrid, QString const &operator_call,
43 const QMap<QString, QVariant> &additionalFields);
44
45 struct QSO {
46 QString call, band, mode, submode, grid, date, name, comment;
47 };
48
49 private:
50 QMultiHash<QString, QSO> _data;
51 QString _filename;
52
53 QString extractField(QString const &line, QString const &fieldName) const;
54};
55
56#endif
Definition ADIF.h:18
void load()
Load ADIF records from the specified file into the internal data structure.
Definition ADIF.cpp:239
void add(QString const &call, QString const &band, QString const &mode, const QString &submode, QString const &grid, QString const &date, const QString &name, const QString &comment)
Add a new QSO to the internal data structure.
Definition ADIF.cpp:295
QList< ADIF::QSO > find(QString const &call) const
Find QSOs associated with a given callsign.
Definition ADIF.cpp:341
qsizetype getCount() const
Get the count of QSOs in the internal data structure.
Definition ADIF.cpp:363
QByteArray QSOToADIF(QString const &hisCall, QString const &hisGrid, QString const &mode, QString const &submode, 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 &m_myCall, QString const &m_myGrid, QString const &operator_call, const QMap< QString, QVariant > &additionalFields)
Convert QSO details into an ADIF record format.
Definition ADIF.cpp:385
QList< QString > getCallList() const
Get a list of all callsigns in the internal data structure.
Definition ADIF.cpp:349
void init(QString const &filename)
Initialize the ADIF instance with the specified filename.
Definition ADIF.cpp:183
bool match(QString const &call, QString const &band) const
Check if a callsign and band combination exists in the internal data structure.
Definition ADIF.cpp:322
bool addQSOToFile(QByteArray const &ADIF_record)
Open the ADIF file and append the QSO details.
Definition ADIF.cpp:444
Definition qpriorityqueue.h:39
Definition ADIF.h:45