aboutsummaryrefslogtreecommitdiff
path: root/events/roomcanonicalaliasevent.h
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-11-01 18:19:56 +0300
committerKitsune Ral <Kitsune-Ral@users.sf.net>2017-11-01 18:19:56 +0300
commita275ef911b3f4d0334df0628324aee0081dd3a65 (patch)
tree87d9b2bbbc67ceeb9c39d5c09f242b1776de8460 /events/roomcanonicalaliasevent.h
parent64c0b7e045d9e8d58d91f252219a5579d4ba9441 (diff)
downloadlibquotient-a275ef911b3f4d0334df0628324aee0081dd3a65.tar.gz
libquotient-a275ef911b3f4d0334df0628324aee0081dd3a65.zip
StateEvent; EventContent::SimpleContent; event types refactoring
* StateEvent<> is a new class template for all state events. It provides a uniform interface to the state content, as well as a means to serialize the content back to JSON. In addition, StateEvent now parses the "prev_content" JSON object, so one can refer to the previous state now (a notable step to proper reflection of state changes in the displayed timeline in clients). * EventContent::SimpleContent, together with StateEvent<>, forms a generalisation for simple state events, such as room name, topic, aliases etc. that boil down to a single key-value pair. DECLARE_SIMPLE_STATE_EVENT is a macro defined to streamline creation of events based on SimpleContent, providing API back-compatibility for events defined so far. As a result, a very concise simplestateevents.h replaces all those room*event.* files. * Event/RoomEvent::fromJson() code is squeezed down to plain type lists passed to makeIfMatches() "chained factory" function template. TypeId is mandatory for an event type to be included into that factory. * Event::toTimestamp() and Event::toStringList are completely superseded by respective fromJson<>() converters.
Diffstat (limited to 'events/roomcanonicalaliasevent.h')
-rw-r--r--events/roomcanonicalaliasevent.h38
1 files changed, 0 insertions, 38 deletions
diff --git a/events/roomcanonicalaliasevent.h b/events/roomcanonicalaliasevent.h
deleted file mode 100644
index 72620d74..00000000
--- a/events/roomcanonicalaliasevent.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2016 Felix Rohrbach <kde@fxrh.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#pragma once
-
-#include "event.h"
-
-namespace QMatrixClient
-{
- class RoomCanonicalAliasEvent : public RoomEvent
- {
- public:
- explicit RoomCanonicalAliasEvent(const QJsonObject& obj)
- : RoomEvent(Type::RoomCanonicalAlias, obj)
- , _canonicalAlias(contentJson()["alias"].toString())
- { }
-
- QString alias() const { return _canonicalAlias; }
-
- private:
- QString _canonicalAlias;
- };
-} // namespace QMatrixClient