| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | #ifndef ACURRENCYENTRY_H#define ACURRENCYENTRY_H#include "src/database/databasetypes.h"/*! * \brief The Entry class encapsulates table metadata(table name, row id) *  and data for new and existing entries in the database to operate on. */class AEntry {protected:    DataPosition position;public:    RowData_T tableData;public:    AEntry() = delete;    AEntry(const AEntry&) = default;    AEntry& operator=(const AEntry&) = default;    AEntry(DataPosition position_);    AEntry(RowData_T table_data);    AEntry(DataPosition position_, RowData_T table_data);    void setData(RowData_T table_data);    void setPosition(DataPosition position_);    const DataPosition& getPosition() const;    const TableName_T &getTableName() const { return position.tableName; }    const RowId_T &getRowId() const { return position.rowId; }    const RowData_T& getData() const;    /*!     * \brief operator QString provides compatibilty with QDebug() - prints     * the tableData in a readable formatting to stdout     */    operator QString() const;};struct ACurrencyEntry : public AEntry{public:    enum class CurrencyName {        Licence     = 1,        TypeRating  = 2,        LineCheck   = 3,        Medical     = 4,        Custom1     = 5,        Custom2     = 6    };    ACurrencyEntry() = delete;    ACurrencyEntry(CurrencyName name);    ACurrencyEntry(CurrencyName name, QDate expiration_date);    ACurrencyEntry(const ACurrencyEntry& te) = default;    ACurrencyEntry& operator=(const ACurrencyEntry& te) = default;    bool isValid() const;};#endif // ACURRENCYENTRY_H
 |