// Copyright 2019-2020 The Hush developers // GPLv3 #ifndef CHATMODEL_H #define CHATMODEL_H #include #include #include #include #include #include #include #include "precompiled.h" #include "mainwindow.h" #include "controller.h" #include "settings.h" #include "camount.h" #include "Model/ChatItem.h" #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" class ChatModel { private: std::map chatItems; QTableView* parent; Ui::MainWindow* ui; MainWindow* main; std::map cidMap; std::map requestZaddrMap; public: ChatModel() {}; ChatModel(std::map chatItems); ChatModel(std::vector chatItems); std::map getItems(); void setItems(std::map items); QString zaddr(); void setItems(std::vector items); void triggerRequest(); void showMessages(); void clear(); void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addrequestZaddr(QString tx, QString requestZaddr); QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); void killCidCache(); void killrequestZaddrCache(); }; #endif