Splitted dbmsglib for each class separate .h/.cpp

This commit is contained in:
0xFEEDC0DE64
2018-09-01 18:06:46 +02:00
parent eb64b217f0
commit f25d88b68a
10 changed files with 184 additions and 180 deletions
+40
View File
@@ -0,0 +1,40 @@
#include "mymessage.h"
const QMap<QString, MyMessage::FieldGetterMethod> MyMessage::m_fields {
{ "name", &MyMessage::nameFieldBase },
{ "birthday", &MyMessage::birthdayFieldBase },
{ "sendTimestamp", &MyMessage::sendTimestampFieldBase },
{ "age", &MyMessage::ageFieldBase },
{ "weight", &MyMessage::weightFieldBase }
};
MyMessage::MyMessage() :
DbMsgBase()
{
}
MyMessage::MyMessage(const QString &name, const QDate &birthday, const QDateTime &sendTimestamp, int age, double weight) :
DbMsgBase(),
m_name(name), m_birthday(birthday), m_sendTimestamp(sendTimestamp), m_age(age), m_weight(weight)
{
}
QMap<QString, DbMsgFieldBase *> MyMessage::getFields()
{
QMap<QString, DbMsgFieldBase*> fields;
for(auto iter = m_fields.cbegin(); iter != m_fields.cend(); iter++)
fields.insert(iter.key(), &(this->*iter.value())());
return fields;
}
QMap<QString, const DbMsgFieldBase *> MyMessage::getFields() const
{
QMap<QString, const DbMsgFieldBase*> fields;
for(auto iter = m_fields.cbegin(); iter != m_fields.cend(); iter++)
fields.insert(iter.key(), &(const_cast<MyMessage*>(this)->*iter.value())());
return fields;
}
+67
View File
@@ -0,0 +1,67 @@
#pragma once
#include <QString>
#include <QDateTime>
#include <QMap>
#include "dbmsgbase.h"
#include "messagingcorelib_global.h"
#include "dbmsgfield.h"
class DbMsgFieldBase;
class MESSAGINGCORELIBSHARED_EXPORT MyMessage : public DbMsgBase
{
typedef DbMsgFieldBase &(MyMessage::*FieldGetterMethod)();
static const QMap<QString, FieldGetterMethod> m_fields;
public:
MyMessage();
MyMessage(const QString &name, const QDate &birthday, const QDateTime &sendTimestamp, int age, double weight);
QString getName() const { return m_name.getValue(); }
void setName(const QString &name) { m_name.setValue(name); }
DbMsgField<QString> &nameField() { return m_name; }
const DbMsgField<QString> &nameField() const { return m_name; }
DbMsgFieldBase &nameFieldBase() { return m_name; }
const DbMsgFieldBase &nameFieldBase() const { return m_name; }
QDate getBirthday() const { return m_birthday.getValue(); }
void setBirthday(const QDate &birthday) { m_birthday.setValue(birthday); }
DbMsgField<QDate> &birthdayField() { return m_birthday; }
const DbMsgField<QDate> &birthdayField() const { return m_birthday; }
DbMsgFieldBase &birthdayFieldBase() { return m_birthday; }
const DbMsgFieldBase &birthdayFieldBase() const { return m_birthday; }
QDateTime getSendTimestamp() const { return m_sendTimestamp.getValue(); }
void setSendTimestamp(const QDateTime &sendTimestamp) { m_sendTimestamp.setValue(sendTimestamp); }
DbMsgField<QDateTime> &sendTimestampField() { return m_sendTimestamp; }
const DbMsgField<QDateTime> &sendTimestampField() const { return m_sendTimestamp; }
DbMsgFieldBase &sendTimestampFieldBase() { return m_sendTimestamp; }
const DbMsgFieldBase &sendTimestampFieldBase() const { return m_sendTimestamp; }
int getAge() const { return m_age.getValue(); }
void setAge(const int &age) { m_age.setValue(age); }
DbMsgField<int> &ageField() { return m_age; }
const DbMsgField<int> &ageField() const { return m_age; }
DbMsgFieldBase &ageFieldBase() { return m_age; }
const DbMsgFieldBase &ageFieldBase() const { return m_age; }
double getWeight() const { return m_weight.getValue(); }
void setWeight(const double &weight) { m_weight.setValue(weight); }
DbMsgField<double> &weightField() { return m_weight; }
const DbMsgField<double> &weightField() const { return m_weight; }
DbMsgFieldBase &weightFieldBase() { return m_weight; }
const DbMsgFieldBase &weightFieldBase() const { return m_weight; }
protected:
QMap<QString, DbMsgFieldBase*> getFields() override;
QMap<QString, const DbMsgFieldBase*> getFields() const override;
private:
DbMsgField<QString> m_name;
DbMsgField<QDate> m_birthday;
DbMsgField<QDateTime> m_sendTimestamp;
DbMsgField<int> m_age;
DbMsgField<double> m_weight;
};