Files
2026-04-03 11:32:07 +08:00

51 lines
1.1 KiB
C++

#ifndef _QX_BLOG_BLOG_H_
#define _QX_BLOG_BLOG_H_
class author;
class comment;
class category;
class QX_BLOG_DLL_EXPORT blog
{
QX_REGISTER_FRIEND_CLASS(blog)
private:
struct blog_impl;
std::unique_ptr<blog_impl> m_pImpl; //!< Private implementation idiom
public:
blog();
virtual ~blog();
blog(const blog & other);
blog & operator=(const blog & other);
#ifdef Q_COMPILER_RVALUE_REFS
blog(blog && other) Q_DECL_NOEXCEPT;
blog & operator=(blog && other) Q_DECL_NOEXCEPT;
#endif // Q_COMPILER_RVALUE_REFS
long id() const;
QString text() const;
QDateTime dateCreation() const;
void setId(long l);
void setText(const QString & s);
void setDateCreation(const QDateTime & d);
std::shared_ptr<author> & getAuthor();
QList< std::shared_ptr<comment> > & listOfComments();
qx::QxCollection<long, QSharedPointer<category> > & listOfCategories();
};
QX_REGISTER_HPP_QX_BLOG(blog, qx::trait::no_base_class_defined, 0)
typedef std::shared_ptr<blog> blog_ptr;
typedef std::vector<blog_ptr> list_blog;
#endif // _QX_BLOG_BLOG_H_