Add docs for user-profession wrapper
This commit is contained in:
parent
f638e1dbc7
commit
3aeccd111d
1 changed files with 63 additions and 1 deletions
|
|
@ -5,25 +5,87 @@
|
||||||
|
|
||||||
#include "profession.h"
|
#include "profession.h"
|
||||||
|
|
||||||
typedef quint8 ProfRank;
|
typedef quint8 ProfRank; //< Тип для разряда владельца профессии
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Класс-обёртка сущности профессии
|
||||||
|
*
|
||||||
|
* Используется для хранения соответствия между пользователем, его профессией и разрядом
|
||||||
|
*/
|
||||||
class UserProfession {
|
class UserProfession {
|
||||||
private:
|
private:
|
||||||
|
//! Уникальный идентификатор профессии
|
||||||
PID mProfession;
|
PID mProfession;
|
||||||
|
//! Дата получения профессии пользователем
|
||||||
QDate mAcquired;
|
QDate mAcquired;
|
||||||
|
//! Разряд профессии пользователя
|
||||||
ProfRank mRank;
|
ProfRank mRank;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
* @brief Стандартный конструктор объекта класса
|
||||||
|
*
|
||||||
|
*/
|
||||||
UserProfession() = default;
|
UserProfession() = default;
|
||||||
|
/**
|
||||||
|
* @brief Конструктор объекта пользователя из \param pid профессии и разряда
|
||||||
|
*
|
||||||
|
* @param pid уникальный идентификатор профессии
|
||||||
|
* @param rank разряд профессии пользоваетля
|
||||||
|
*/
|
||||||
UserProfession(PID pid, ProfRank rank);
|
UserProfession(PID pid, ProfRank rank);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Возвращает идентификатор соотносимой професии
|
||||||
|
*
|
||||||
|
* @return PID уникальный идентификатор професии
|
||||||
|
*/
|
||||||
PID getProfession() const;
|
PID getProfession() const;
|
||||||
|
/**
|
||||||
|
* @brief Возвращает дату получения профессии
|
||||||
|
*
|
||||||
|
* @return QDate дата получения професии
|
||||||
|
*/
|
||||||
QDate getAcquiredDate() const;
|
QDate getAcquiredDate() const;
|
||||||
|
/**
|
||||||
|
* @brief Возвращает разряд пользователя
|
||||||
|
*
|
||||||
|
* @return ProfRank разряд пользователя
|
||||||
|
*/
|
||||||
ProfRank getRank() const;
|
ProfRank getRank() const;
|
||||||
|
/**
|
||||||
|
* @brief Устанавливает разряд данной профессии пользователя
|
||||||
|
*
|
||||||
|
* @param newRank новый разряд пользователя
|
||||||
|
* @return true успех
|
||||||
|
* @return false не успех (значение \param newRank < 1)
|
||||||
|
*/
|
||||||
bool setRank(quint8 newRank);
|
bool setRank(quint8 newRank);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Определения оператора сравнения для класса
|
||||||
|
*
|
||||||
|
* @param l левый операнд
|
||||||
|
* @param r правый операнд
|
||||||
|
* @return true объекты идентичны
|
||||||
|
* @return false объекты отличаются
|
||||||
|
*/
|
||||||
friend bool operator==(const UserProfession &l, const UserProfession &r);
|
friend bool operator==(const UserProfession &l, const UserProfession &r);
|
||||||
|
/**
|
||||||
|
* @brief Определение оператора ввода в поток
|
||||||
|
*
|
||||||
|
* @param stream поток
|
||||||
|
* @param prof объект класса
|
||||||
|
* @return QDataStream& ссылка на поток
|
||||||
|
*/
|
||||||
friend QDataStream& operator<<(QDataStream &stream, const UserProfession &up);
|
friend QDataStream& operator<<(QDataStream &stream, const UserProfession &up);
|
||||||
|
/**
|
||||||
|
* @brief Определение оператора ввода из потока
|
||||||
|
*
|
||||||
|
* @param stream поток
|
||||||
|
* @param prof объект класса
|
||||||
|
* @return QDataStream& ссылка на поток
|
||||||
|
*/
|
||||||
friend QDataStream& operator>>(QDataStream &stream, UserProfession &up);
|
friend QDataStream& operator>>(QDataStream &stream, UserProfession &up);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue