mysocials-core 1.0
|
00001 #ifndef QEVENTFEED_H 00002 #define QEVENTFEED_H 00003 00004 #include <QObject> 00005 #include <QDomDocument> 00006 #include <QMetaType> 00007 #include "utils/qrefreshlist.h" 00008 #include "datatypes/qattachment.h" 00009 #include "datatypes/photo.h" 00010 00011 class QEventFeed; 00012 00017 typedef QRefreshList<QEventFeed> QEventFeedList; 00018 00019 Q_DECLARE_METATYPE(QEventFeed) 00020 Q_DECLARE_METATYPE(QEventFeedList) 00021 00022 #define FILE_FEED_DATA "feed_%1.xml" 00023 00024 #define NODE_FEED_ROOT "feed" 00025 00026 #define NODE_EVENT_ROOT "event" 00027 00028 #define NODE_EVENT_OWNERID "ownerId" 00029 00030 #define NODE_EVENT_OWNER_NAME "ownerName" 00031 00032 #define NODE_EVENT_TEXT "text" 00033 00034 #define NODE_EVENT_CREATED "created" 00035 00039 class QEventFeed : public QObject 00040 { 00041 Q_OBJECT 00042 public: 00048 enum FeedType 00049 { 00050 photoFeed, 00051 messageFeed, 00052 commentFeed, 00053 videoFeed, 00054 audioFeed, 00055 likeFeed, 00056 tagFeed, 00057 friendFeed 00058 }; 00059 00065 explicit QEventFeed(QObject *parent = 0); 00066 00072 QEventFeed(const QEventFeed& src); 00073 00077 QString accountId; 00078 00082 QString ownerId; 00083 00087 QString ownerName; 00088 00092 QString text; 00093 00097 QDateTime created; 00098 00102 QAttachment attach; 00103 00104 static void copyData(QEventFeed *dst, const QEventFeed *src); 00105 00106 QEventFeed& operator=(const QEventFeed& source); 00107 00108 static void storeFeed(const QEventFeedList& list, const FeedType type, QString accountId); 00109 00110 static QEventFeedList loadFeed(const QString accountId, FeedType type); 00111 00112 static QString getKey(const QString accountId, const FeedType type); 00113 00121 QDomElement toQDomElement(QDomDocument& doc) const; 00122 00134 static QEventFeed fromQDomElement(const QDomElement& fr, const QString& accountId, const FeedType type); 00135 00136 Photo toPhoto() const; 00137 00138 static QString typeToString(const FeedType type); 00139 }; 00140 00141 #endif // QEVENTFEED_H