53 lines
1.7 KiB
C++
53 lines
1.7 KiB
C++
#ifndef _QX_BLOG_CATEGORY_H_
|
|
#define _QX_BLOG_CATEGORY_H_
|
|
|
|
class blog;
|
|
|
|
class QX_BLOG_DLL_EXPORT category
|
|
{
|
|
|
|
QX_REGISTER_FRIEND_CLASS(category)
|
|
|
|
public:
|
|
|
|
// -- composite key (multi-column primary key in database)
|
|
typedef std::tuple<QString, long, QString, long> type_composite_key;
|
|
static QString str_composite_key() { return "category_id_0|category_id_1|category_id_2|category_id_3"; }
|
|
|
|
// -- typedef
|
|
typedef std::shared_ptr<blog> blog_ptr;
|
|
typedef qx::QxCollection<long, blog_ptr> list_blog;
|
|
|
|
// -- properties
|
|
type_composite_key m_id;
|
|
QString m_name;
|
|
QString m_desc;
|
|
list_blog m_blogX;
|
|
|
|
// -- contructor, virtual destructor
|
|
category() : m_id("", 0, "", 0) { ; }
|
|
virtual ~category() { ; }
|
|
|
|
// -- methods "get" to composite key
|
|
type_composite_key getId() const { return m_id; }
|
|
QString getId_0() const { return std::get<0>(m_id); }
|
|
long getId_1() const { return std::get<1>(m_id); }
|
|
QString getId_2() const { return std::get<2>(m_id); }
|
|
long getId_3() const { return std::get<3>(m_id); }
|
|
|
|
// -- methods "set" to composite key
|
|
void setId_0(const QString & s) { std::get<0>(m_id) = s; }
|
|
void setId_1(long l) { std::get<1>(m_id) = l; }
|
|
void setId_2(const QString & s) { std::get<2>(m_id) = s; }
|
|
void setId_3(long l) { std::get<3>(m_id) = l; }
|
|
|
|
};
|
|
|
|
QX_REGISTER_PRIMARY_KEY(category, category::type_composite_key)
|
|
QX_REGISTER_HPP_QX_BLOG(category, qx::trait::no_base_class_defined, 0)
|
|
|
|
typedef QSharedPointer<category> category_ptr;
|
|
typedef qx::QxCollection<category::type_composite_key, category_ptr> list_category;
|
|
|
|
#endif // _QX_BLOG_CATEGORY_H_
|