-/*
- static Message plain(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message notice(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message action(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message nick(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message mode(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message join(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message part(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message quit(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message kick(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message kill(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message server(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message info(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
- static Message error(QString _target, QString _text, QString _sender = "", quint8 _flags = None);
-*/
+
+ Message(const BufferInfo &bufferInfo = BufferInfo(), Type type = Plain, const QString &contents = "", const QString &sender = "", Flags flags = None);
+ Message(const QDateTime &ts, const BufferInfo &buffer = BufferInfo(), Type type = Plain,
+ const QString &contents = "", const QString &sender = "", Flags flags = None);
+
+ inline MsgId msgId() const { return _msgId; }
+ inline void setMsgId(MsgId id) { _msgId = id; }
+
+ inline BufferInfo bufferInfo() const { return _bufferInfo; }
+ inline QString contents() const { return _contents; }
+ inline QString sender() const { return _sender; }
+ inline Type type() const { return _type; }
+ inline Flags flags() const { return _flags; }
+ inline QDateTime timestamp() const { return _timestamp; }
+
+ void setFlags(Flags flags);
+
+private:
+ QDateTime _timestamp;
+ MsgId _msgId;
+ BufferInfo _bufferInfo;
+ QString _contents;
+ QString _sender;
+ Type _type;
+ Flags _flags;
+
+ QString _formattedTimestamp, _formattedSender, _formattedText; // cache
+
+
+ friend QDataStream &operator>>(QDataStream &in, Message &msg);