Chat
// Copyright (C) 2023 The Qt Company Ltd. // Copyright (C) 2019 Alexey Edelev <semlanik@gmail.com> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #ifndef CHATMESSAGEMODEL_H #define CHATMESSAGEMODEL_H #include <QAbstractListModel> #include <memory> namespace qtgrpc::examples::chat { class ChatMessage; } class ChatMessageModel : public QAbstractListModel { Q_OBJECT public: explicit ChatMessageModel(QObject *parent = nullptr); int rowCount(const QModelIndex &parent) const override; QHash<int, QByteArray> roleNames() const override; QVariant data(const QModelIndex &index, int role) const override; void append(const QList<std::shared_ptr<qtgrpc::examples::chat::ChatMessage>> &messages); private: QList<std::shared_ptr<qtgrpc::examples::chat::ChatMessage>> m_container; }; #endif // CHATMESSAGEMODEL_H