aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/events/encryptionevent.h20
-rw-r--r--lib/events/roomcreateevent.h1
-rw-r--r--lib/events/roommemberevent.h10
-rw-r--r--lib/events/roompowerlevelsevent.h4
-rw-r--r--lib/events/roomtombstoneevent.h1
-rw-r--r--lib/events/simplestateevents.h1
6 files changed, 18 insertions, 19 deletions
diff --git a/lib/events/encryptionevent.h b/lib/events/encryptionevent.h
index dfb28b2f..56913393 100644
--- a/lib/events/encryptionevent.h
+++ b/lib/events/encryptionevent.h
@@ -12,7 +12,11 @@ class QUOTIENT_API EncryptionEventContent : public EventContent::Base {
public:
enum EncryptionType : size_t { MegolmV1AesSha2 = 0, Undefined };
- explicit EncryptionEventContent(EncryptionType et = Undefined);
+ explicit(false) EncryptionEventContent(EncryptionType et);
+ [[deprecated("This constructor will require explicit EncryptionType soon")]] //
+ explicit EncryptionEventContent()
+ : EncryptionEventContent(Undefined)
+ {}
explicit EncryptionEventContent(const QJsonObject& json);
EncryptionType encryption;
@@ -34,15 +38,15 @@ public:
using EncryptionType = EncryptionEventContent::EncryptionType;
Q_ENUM(EncryptionType)
- explicit EncryptionEvent(const QJsonObject& obj = {}) // TODO: apropriate
- // default value
+ explicit EncryptionEvent(const QJsonObject& obj)
: StateEvent(typeId(), obj)
{}
- EncryptionEvent(EncryptionEvent&&) = delete;
- template <typename... ArgTs>
- EncryptionEvent(ArgTs&&... contentArgs)
- : StateEvent(typeId(), matrixTypeId(), QString(),
- std::forward<ArgTs>(contentArgs)...)
+ [[deprecated("This constructor will require an explicit parameter soon")]] //
+// explicit EncryptionEvent()
+// : EncryptionEvent(QJsonObject())
+// {}
+ explicit EncryptionEvent(EncryptionEventContent&& content)
+ : StateEvent(typeId(), matrixTypeId(), QString(), std::move(content))
{}
EncryptionType encryption() const { return content().encryption; }
diff --git a/lib/events/roomcreateevent.h b/lib/events/roomcreateevent.h
index 016855b9..989030ac 100644
--- a/lib/events/roomcreateevent.h
+++ b/lib/events/roomcreateevent.h
@@ -11,7 +11,6 @@ class QUOTIENT_API RoomCreateEvent : public StateEventBase {
public:
DEFINE_EVENT_TYPEID("m.room.create", RoomCreateEvent)
- explicit RoomCreateEvent() : StateEventBase(typeId(), matrixTypeId()) {}
explicit RoomCreateEvent(const QJsonObject& obj)
: StateEventBase(typeId(), obj)
{}
diff --git a/lib/events/roommemberevent.h b/lib/events/roommemberevent.h
index 5e446dbe..3296ae22 100644
--- a/lib/events/roommemberevent.h
+++ b/lib/events/roommemberevent.h
@@ -15,9 +15,7 @@ public:
using MembershipType
[[deprecated("Use Quotient::Membership instead")]] = Membership;
- explicit MemberEventContent(Membership ms = Membership::Join)
- : membership(ms)
- {}
+ explicit(false) MemberEventContent(Membership ms) : membership(ms) {}
explicit MemberEventContent(const QJsonObject& json);
Membership membership;
@@ -43,10 +41,8 @@ public:
explicit RoomMemberEvent(const QJsonObject& obj) : StateEvent(typeId(), obj)
{}
- template <typename... ArgTs>
- RoomMemberEvent(const QString& userId, ArgTs&&... contentArgs)
- : StateEvent(typeId(), matrixTypeId(), userId,
- std::forward<ArgTs>(contentArgs)...)
+ RoomMemberEvent(const QString& userId, MemberEventContent&& content)
+ : StateEvent(typeId(), matrixTypeId(), userId, std::move(content))
{}
//! \brief A special constructor to create unknown RoomMemberEvents
diff --git a/lib/events/roompowerlevelsevent.h b/lib/events/roompowerlevelsevent.h
index 80e27048..415cc814 100644
--- a/lib/events/roompowerlevelsevent.h
+++ b/lib/events/roompowerlevelsevent.h
@@ -36,10 +36,12 @@ protected:
class QUOTIENT_API RoomPowerLevelsEvent
: public StateEvent<PowerLevelsEventContent> {
- Q_GADGET
public:
DEFINE_EVENT_TYPEID("m.room.power_levels", RoomPowerLevelsEvent)
+ explicit RoomPowerLevelsEvent(PowerLevelsEventContent&& content)
+ : StateEvent(typeId(), matrixTypeId(), QString(), std::move(content))
+ {}
explicit RoomPowerLevelsEvent(const QJsonObject& obj)
: StateEvent(typeId(), obj)
{}
diff --git a/lib/events/roomtombstoneevent.h b/lib/events/roomtombstoneevent.h
index e336c448..15d26923 100644
--- a/lib/events/roomtombstoneevent.h
+++ b/lib/events/roomtombstoneevent.h
@@ -10,7 +10,6 @@ class QUOTIENT_API RoomTombstoneEvent : public StateEventBase {
public:
DEFINE_EVENT_TYPEID("m.room.tombstone", RoomTombstoneEvent)
- explicit RoomTombstoneEvent() : StateEventBase(typeId(), matrixTypeId()) {}
explicit RoomTombstoneEvent(const QJsonObject& obj)
: StateEventBase(typeId(), obj)
{}
diff --git a/lib/events/simplestateevents.h b/lib/events/simplestateevents.h
index e6c05880..9610574b 100644
--- a/lib/events/simplestateevents.h
+++ b/lib/events/simplestateevents.h
@@ -35,7 +35,6 @@ namespace EventContent {
public: \
using value_type = content_type::value_type; \
DEFINE_EVENT_TYPEID(_TypeId, _Name) \
- explicit _Name() : _Name(value_type()) {} \
template <typename T> \
explicit _Name(T&& value) \
: StateEvent(typeId(), matrixTypeId(), QString(), \