Locus No Pilotus
Project of four first grade MIPT DAFE/RSE students (for engineering practical work in the second semester) in Qt C++
Loading...
Searching...
No Matches
base.h
Go to the documentation of this file.
1#pragma once
2
3// Qt libs:
4#include <QJsonArray>
5#include <QJsonObject>
6
7// our code libs:
8#include "point.h" // used everywhere with lib
9
10namespace lib {
11
12constexpr double max_coord = 1000000;
13
14/// @brief Объект, возможный к считыванию по .json файлу [абстрактный класс]
15class JSONable {
16 public:
17 virtual QJsonObject GetJsonInfo() const = 0;
18 virtual void SetJsonInfo(const QJsonObject& obj) = 0;
19
20 virtual bool IsChanged(const QJsonObject& obj) const = 0;
21
22 /**
23 * @brief Возвращает значение ид. объекта внутри файла
24 * @return unsigned short: идентификатор объекта внутри файла
25 */
26 virtual unsigned short GetId() const { return id_; }
27
28 /**
29 * @brief Устанавливает значение ид. объекта внутри файла
30 * @param id: новый идентификатор объекта
31 */
32 virtual void SetId(unsigned short id) { id_ = id; }
33
34 protected:
35 /// @brief Проверяет данные в классе на валидность
36 virtual void CheckErrorValues() const = 0;
37
38 private:
39 /// @brief Идентификатор объекта внутри файла
40 unsigned short id_{USHRT_MAX};
41};
42
43} // namespace lib
Объект, возможный к считыванию по .json файлу [абстрактный класс].
Definition base.h:15
virtual bool IsChanged(const QJsonObject &obj) const =0
virtual QJsonObject GetJsonInfo() const =0
virtual void SetId(unsigned short id)
Устанавливает значение ид. объекта внутри файла
Definition base.h:32
virtual void SetJsonInfo(const QJsonObject &obj)=0
virtual unsigned short GetId() const
Возвращает значение ид. объекта внутри файла
Definition base.h:26
virtual void CheckErrorValues() const =0
Проверяет данные в классе на валидность
unsigned short id_
Идентификатор объекта внутри файла
Definition base.h:40
Definition base.h:10
constexpr double max_coord
Definition base.h:12