diff --git a/main.cpp b/main.cpp deleted file mode 100644 index 470a030..0000000 --- a/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main(int argc, char *argv[]) -{ - QCoreApplication a(argc, argv); - - return a.exec(); -} diff --git a/messagingcorelib/dbmsgbase.h b/messagingcorelib/dbmsgbase.h index 06e53e9..e27980b 100644 --- a/messagingcorelib/dbmsgbase.h +++ b/messagingcorelib/dbmsgbase.h @@ -8,6 +8,21 @@ class DbMsgFieldBase; +#define DECLARE_DBFIELD(TYPE, NAME, UPPER_NAME) \ +private: \ + DbMsgField m_##NAME;\ + \ +public: \ + TYPE get##UPPER_NAME() const { return m_##NAME.getValue(); } \ + void set##UPPER_NAME(const TYPE &NAME) { m_##NAME.setValue(NAME); } \ + bool has##UPPER_NAME() const { return m_##NAME.hasValue(); } \ + void clear##UPPER_NAME() { m_##NAME.clear(); } \ + \ + DbMsgField &NAME##Field() { return m_##NAME; } \ + const DbMsgField &NAME##Field() const { return m_##NAME; } \ + DbMsgFieldBase &NAME##FieldBase() { return m_##NAME; } \ + const DbMsgFieldBase &NAME##FieldBase() const { return m_##NAME; } + class MESSAGINGCORELIBSHARED_EXPORT DbMsgBase { static const QString m_clearedFieldsName; diff --git a/messagingcorelib/dbmsgfield.h b/messagingcorelib/dbmsgfield.h index 7e7f488..3086671 100644 --- a/messagingcorelib/dbmsgfield.h +++ b/messagingcorelib/dbmsgfield.h @@ -12,7 +12,6 @@ public: DbMsgField(); DbMsgField(const T &value); - T &getValue(); const T &getValue() const; void setValue(const T &value); @@ -38,12 +37,6 @@ DbMsgField::DbMsgField(const T &value) : setHasValue(true); } -template -T &DbMsgField::getValue() -{ - return m_value; -} - template const T &DbMsgField::getValue() const { diff --git a/messagingcorelib/messages/mymessage.h b/messagingcorelib/messages/mymessage.h index 58f75c3..3b61c1d 100644 --- a/messagingcorelib/messages/mymessage.h +++ b/messagingcorelib/messages/mymessage.h @@ -19,49 +19,13 @@ 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 &nameField() { return m_name; } - const DbMsgField &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 &birthdayField() { return m_birthday; } - const DbMsgField &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 &sendTimestampField() { return m_sendTimestamp; } - const DbMsgField &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 &ageField() { return m_age; } - const DbMsgField &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 &weightField() { return m_weight; } - const DbMsgField &weightField() const { return m_weight; } - DbMsgFieldBase &weightFieldBase() { return m_weight; } - const DbMsgFieldBase &weightFieldBase() const { return m_weight; } + DECLARE_DBFIELD(QString, name, Name) + DECLARE_DBFIELD(QDate, birthday, Birthday) + DECLARE_DBFIELD(QDateTime, sendTimestamp, SendTimestamp) + DECLARE_DBFIELD(int, age, Age) + DECLARE_DBFIELD(double, weight, Weight) protected: QMap getFields() override; QMap getFields() const override; - -private: - DbMsgField m_name; - DbMsgField m_birthday; - DbMsgField m_sendTimestamp; - DbMsgField m_age; - DbMsgField m_weight; };