mysocials-core 1.0
|
00001 00007 #ifndef MESSAGE_H 00008 #define MESSAGE_H 00009 00010 #include <QObject> 00011 #include <QString> 00012 #include <QMetaType> 00013 #include <QDomDocument> 00014 00015 #include "utils/qrefreshlist.h" 00016 00017 #define NODE_MESSAGE_ROOT "message" 00018 #define NODE_MESSAGE_ID "id" 00019 #define NODE_MESSAGE_SENDER_ID "senderId" 00020 #define NODE_MESSAGE_SENDER_NAME "senderName" 00021 #define NODE_MESSAGE_RECEPIENT_ID "recepientId" 00022 #define NODE_MESSAGE_RECEPIENT_NAME "recepientName" 00023 #define NODE_MESSAGE_RECIPIENT_LIST "recepientList" 00024 #define NODE_MESSAGE_RECEPIENT "recepient" 00025 #define NODE_MESSAGE_TEXT "text" 00026 #define NODE_MESSAGE_TIME "time" 00027 #define NODE_MESSAGE_TITLE "title" 00028 #define NODE_MESSAGE_STATUS "status" 00029 #define NODE_ARRAY "array" 00030 #define NODE_STRUCT "struct" 00031 00033 00038 struct Recepient { 00039 QString id; 00040 QString name; 00041 }; 00042 00051 class Message : public QObject 00052 { 00053 Q_OBJECT 00054 public: 00060 Message(); 00067 Message(const Message&); 00073 ~Message(); 00074 00075 QString messageId; 00076 QString accountId; 00077 QString senderId; 00078 QString senderName; 00080 QList<Recepient> recepientList; 00082 // message body 00083 QString text; 00085 // message title 00086 QString title; 00088 // date 00089 QString time; 00096 QString subject(); 00103 QString subjectFromBody(QString messageBody); 00104 00105 QString status; 00107 // store data to XML format 00114 QDomElement toQDomElement(QDomDocument doc); 00115 00116 // store data to XML format 00124 static QDomElement toQDomElement(QDomDocument doc, Message src); 00125 00126 // load message list from XML struct 00134 static Message fromQDomElement(QDomElement fr, QString accountId); 00135 00142 Message& operator=(const Message&); 00150 static void copyData(Message *dst, const Message *src); 00151 00152 signals: 00153 00154 public slots: 00155 00156 }; 00157 00166 typedef QRefreshList<Message> MessageList; 00167 00168 Q_DECLARE_METATYPE(Message) 00169 Q_DECLARE_METATYPE(MessageList) 00170 00171 #endif // MESSAGE_H