summary refs log tree commit diff
path: root/src/timeline/PresenceEmitter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/timeline/PresenceEmitter.h')
-rw-r--r--src/timeline/PresenceEmitter.h26
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); +};