50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
#ifndef _QX_BLOG_AUTHOR_H_
|
|
#define _QX_BLOG_AUTHOR_H_
|
|
|
|
class blog;
|
|
|
|
class QX_BLOG_DLL_EXPORT author
|
|
{
|
|
public:
|
|
// -- typedef
|
|
typedef std::shared_ptr<blog> blog_ptr;
|
|
typedef std::vector<blog_ptr> list_blog;
|
|
typedef std::vector<blog_ptr> type_list_of_blog;
|
|
// -- enum
|
|
enum enum_sex { male, female, unknown };
|
|
// -- properties
|
|
QString m_id;
|
|
QString m_name;
|
|
QDate m_birthdate;
|
|
enum_sex m_sex;
|
|
list_blog m_blogX;
|
|
// -- contructor, virtual destructor
|
|
author() : m_id("0"), m_sex(unknown) { ; }
|
|
virtual ~author() { ; }
|
|
// -- methods
|
|
int age() const;
|
|
|
|
QString getauthor_id() const;
|
|
QString getname() const;
|
|
QDate getbirthdate() const;
|
|
enum_sex getsex() const;
|
|
type_list_of_blog getlist_of_blog() const;
|
|
type_list_of_blog & list_of_blog();
|
|
const type_list_of_blog & list_of_blog() const;
|
|
|
|
void setauthor_id(const QString & val);
|
|
void setname(const QString & val);
|
|
void setbirthdate(const QDate & val);
|
|
void setsex(const enum_sex & val);
|
|
void setlist_of_blog(const type_list_of_blog & val);
|
|
|
|
};
|
|
|
|
QX_REGISTER_PRIMARY_KEY(author, QString)
|
|
QX_REGISTER_HPP_QX_BLOG(author, qx::trait::no_base_class_defined, 0)
|
|
|
|
typedef std::shared_ptr<author> author_ptr;
|
|
typedef qx::QxCollection<QString, author_ptr> list_author;
|
|
|
|
#endif // _QX_BLOG_AUTHOR_H_
|