summary refs log tree commit diff
path: root/src/Utils.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-05 16:38:41 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-05 16:38:41 +0300
commited9501023ae57e668a930e5d3accbb47ad3d7812 (patch)
tree11d0150f0bd3bae0013e67cbd3e184b778e9946b /src/Utils.cc
parentAdd compile option for address sanitizers (diff)
downloadnheko-ed9501023ae57e668a930e5d3accbb47ad3d7812.tar.xz
Add support for retrieving the notification events (#33)
Diffstat (limited to 'src/Utils.cc')
-rw-r--r--src/Utils.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Utils.cc b/src/Utils.cc

index d9b06b52..14620145 100644 --- a/src/Utils.cc +++ b/src/Utils.cc
@@ -111,3 +111,30 @@ utils::levenshtein_distance(const std::string &s1, const std::string &s2) return *std::min_element(row1.begin(), row1.end()); } + +QString +utils::event_body(const mtx::events::collections::TimelineEvents &event) +{ + using namespace mtx::events; + using namespace mtx::events::msg; + + if (mpark::holds_alternative<RoomEvent<Audio>>(event)) { + return message_body<RoomEvent<Audio>>(event); + } else if (mpark::holds_alternative<RoomEvent<Emote>>(event)) { + return message_body<RoomEvent<Emote>>(event); + } else if (mpark::holds_alternative<RoomEvent<File>>(event)) { + return message_body<RoomEvent<File>>(event); + } else if (mpark::holds_alternative<RoomEvent<Image>>(event)) { + return message_body<RoomEvent<Image>>(event); + } else if (mpark::holds_alternative<RoomEvent<Notice>>(event)) { + return message_body<RoomEvent<Notice>>(event); + } else if (mpark::holds_alternative<Sticker>(event)) { + return message_body<Sticker>(event); + } else if (mpark::holds_alternative<RoomEvent<Text>>(event)) { + return message_body<RoomEvent<Text>>(event); + } else if (mpark::holds_alternative<RoomEvent<Video>>(event)) { + return message_body<RoomEvent<Video>>(event); + } + + return QString(); +}