aboutsummaryrefslogtreecommitdiff
path: root/events/roommessageevent.cpp
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-10-26 19:40:59 +0300
committerKitsune Ral <Kitsune-Ral@users.sf.net>2017-10-26 19:47:54 +0300
commit2fb03272a8bc7da4943347ea7ecca6070f667bd6 (patch)
treea5c8c56621259713ac9a475b8a4a1f5ee2beb36c /events/roommessageevent.cpp
parent6600905fb0704e0d22eb776167750f341e7f3d98 (diff)
downloadlibquotient-2fb03272a8bc7da4943347ea7ecca6070f667bd6.tar.gz
libquotient-2fb03272a8bc7da4943347ea7ecca6070f667bd6.zip
Move out common message event content classes
ImageContent is usable outside of m.room.message (in particular, m.room.avatar uses the same structure for content. And EventContent::Base is very suitable to derive from even for standard event content structures (such as in room name events), let alone non-standard ones. Also, renamed MessageEventContent to EventContent (for obvious reasons).
Diffstat (limited to 'events/roommessageevent.cpp')
-rw-r--r--events/roommessageevent.cpp48
1 files changed, 1 insertions, 47 deletions
diff --git a/events/roommessageevent.cpp b/events/roommessageevent.cpp
index 3fb0226a..82bd07b6 100644
--- a/events/roommessageevent.cpp
+++ b/events/roommessageevent.cpp
@@ -23,7 +23,7 @@
#include <QtCore/QMimeDatabase>
using namespace QMatrixClient;
-using namespace MessageEventContent;
+using namespace EventContent;
using MsgType = RoomMessageEvent::MsgType;
@@ -124,20 +124,6 @@ QJsonObject RoomMessageEvent::toJson() const
return obj;
}
-QJsonObject Base::toJson() const
-{
- QJsonObject o;
- fillJson(&o);
- return o;
-}
-
-QJsonObject InfoBase::toInfoJson() const
-{
- QJsonObject info;
- fillInfoJson(&info);
- return info;
-}
-
TextContent::TextContent(const QString& text, const QString& contentType)
: Base(QMimeDatabase().mimeTypeForName(contentType)), body(text)
{ }
@@ -167,38 +153,6 @@ void TextContent::fillJson(QJsonObject* json) const
json->insert("formatted_body", body);
}
-FileInfo::FileInfo(const QUrl& u, int payloadSize, const QMimeType& mimeType,
- const QString& originalFilename)
- : InfoBase(mimeType), url(u), payloadSize(payloadSize)
- , originalName(originalFilename)
-{ }
-
-FileInfo::FileInfo(const QUrl& u, const QJsonObject& infoJson,
- const QString& originalFilename)
- : FileInfo(u, infoJson["size"].toInt(),
- QMimeDatabase().mimeTypeForName(infoJson["mimetype"].toString()),
- originalFilename)
-{
- if (!mimeType.isValid())
- mimeType = QMimeDatabase().mimeTypeForData(QByteArray());
-}
-
-void FileInfo::fillInfoJson(QJsonObject* infoJson) const
-{
- Q_ASSERT(infoJson);
- infoJson->insert("size", payloadSize);
- infoJson->insert("mimetype", mimeType.name());
-}
-
-void FileInfo::fillJson(QJsonObject* json) const
-{
- Q_ASSERT(json);
- json->insert("url", url.toString());
- if (!originalName.isEmpty())
- json->insert("filename", originalName);
- json->insert("info", toInfoJson());
-}
-
LocationContent::LocationContent(const QString& geoUri,
const ImageInfo<>& thumbnail)
: Thumbnailed<>(thumbnail), geoUri(geoUri)