#ifndef YC_H #define YC_H #include "credentials.h" #include #include #include class Yc : public QObject { Q_OBJECT QML_SINGLETON QML_ELEMENT public: Yc(QObject *parent = nullptr); ~Yc(); Q_INVOKABLE void init(); Q_INVOKABLE QStringList accounts() const; Q_INVOKABLE void addAccount(Client *c); Q_INVOKABLE void storeAccount(Client *c); Q_INVOKABLE void send(QString to, QString msg, bool omemo); Q_INVOKABLE void startChat(QString from, QString to); private: void connectAccounts(const QList &pairs); void addInMessage(const QXmppMessage &msg); void addOutMessage(const QString &msg, const QDateTime &dt); void storeMessage(const QString &from, const QString &to, const QString &msg, const QDateTime &dt, const Direction dir) const; void storeMessage(const QXmppMessage &msg, const Direction dir) const; void retrieveConversations(); enum Tab {Conversations, Chat}; QList clients; Credentials creds; Client *selected; signals: void newConversation(QString jid, QString to, QString lastmsg); void sent(); void sendError(QString error); }; #endif