1 files changed, 26 insertions, 0 deletions
diff --git a/src/timeline/PresenceEmitter.h b/src/timeline/PresenceEmitter.h
new file mode 100644
index 00000000..bf1a9458
--- /dev/null
+++ b/src/timeline/PresenceEmitter.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <QObject>
+
+#include <vector>
+
+#include <mtx/events.hpp>
+#include <mtx/events/presence.hpp>
+
+class PresenceEmitter : public QObject
+{
+ Q_OBJECT
+
+public:
+ PresenceEmitter(QObject *p = nullptr)
+ : QObject(p)
+ {}
+
+ void sync(const std::vector<mtx::events::Event<mtx::events::presence::Presence>> &presences);
+
+ Q_INVOKABLE QString userPresence(QString id) const;
+ Q_INVOKABLE QString userStatus(QString id) const;
+
+signals:
+ void presenceChanged(QString userid);
+};
|