Splitted dbmsglib for each class separate .h/.cpp
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
Reference in New Issue
Block a user