JS8Call-Improved master
Loading...
Searching...
No Matches
ADIF.h
Go to the documentation of this file.
1
14
15#ifndef __ADIF_H
16#define __ADIF_H
17
18#include "JS8_Main/fileutils.h"
19
20#include <QtGui>
21
22class QDateTime;
23
31extern const QStringList ADIF_FIELDS;
32
41class ADIF {
42 public:
49 struct QSO;
50
55 void init(QString const &filename);
56
63 void load();
64
76 void add(QString const &call, QString const &band, QString const &mode,
77 const QString &submode, QString const &grid, QString const &date,
78 const QString &name, const QString &comment);
79
86 bool match(QString const &call, QString const &band) const;
87
93 QList<ADIF::QSO> find(QString const &call) const;
94
100
105 qsizetype getCount() const;
106
112 bool addQSOToFile(QByteArray const &ADIF_record);
113
123 QByteArray QSOToADIF(QString const &hisCall, QString const &hisGrid,
124 QString const &mode, QString const &submode,
125 QString const &rptSent, QString const &rptRcvd,
126 QDateTime const &dateTimeOn,
127 QDateTime const &dateTimeOff, QString const &band,
128 QString const &comments, QString const &name,
129 QString const &strDialFreq, QString const &m_myCall,
130 QString const &m_myGrid, QString const &operator_call,
131 const QMap<QString, QVariant> &additionalFields);
132
138 struct QSO {
139 QString call;
140 QString band;
141 QString mode;
142 QString submode;
143 QString grid;
144 QString date;
145 QString name;
146 QString comment;
147 };
148
149 private:
150 QMultiHash<QString, QSO> _data;
151 QString _filename;
152
159 QString extractField(QString const &line, QString const &fieldName) const;
160};
161
162#endif
const QStringList ADIF_FIELDS
Known ADIF field names used when parsing ADIF records.
Definition ADIF.cpp:14
Parser and in-memory store for ADIF QSO records.
Definition ADIF.h:41
void load()
Load and parse the configured ADIF file into memory.
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 QSO to the in-memory store.
Definition ADIF.cpp:295
QList< ADIF::QSO > find(QString const &call) const
Find all QSOs matching a callsign.
Definition ADIF.cpp:341
qsizetype getCount() const
Number of QSO records currently stored in memory.
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 parameters into a ADIF formatted record.
Definition ADIF.cpp:385
QList< QString > getCallList() const
Get a list of unique calls found in the in-memory store.
Definition ADIF.cpp:349
void init(QString const &filename)
Initialize the ADIF handler with a filename.
Definition ADIF.cpp:183
bool match(QString const &call, QString const &band) const
Test whether a call/band combination exists in memory.
Definition ADIF.cpp:322
bool addQSOToFile(QByteArray const &ADIF_record)
Append a raw ADIF record to the configured ADIF file.
Definition ADIF.cpp:444
Definition qpriorityqueue.h:39
Minimal representation of a QSO (contact) record.
Definition ADIF.h:138
QString grid
Maidenhead grid square of the remote station.
Definition ADIF.h:143
QString submode
Submode, if any.
Definition ADIF.h:142
QString comment
Optional comment associated with the QSO.
Definition ADIF.h:146
QString band
Band string used for the contact (e.g. "20m").
Definition ADIF.h:140
QString name
Operator name of the remote station.
Definition ADIF.h:145
QString date
Date string for the QSO.
Definition ADIF.h:144
QString call
Remote station callsign (e.g. "K1ABC").
Definition ADIF.h:139
QString mode
Mode used for the contact (e.g. "FT8").
Definition ADIF.h:141