// Copyright 2019-2020 The Hush developers // GPLv3 #include "ChatDataStore.h" ChatDataStore* ChatDataStore::getInstance() { if(!ChatDataStore::instanced) { ChatDataStore::instanced = true; ChatDataStore::instance = new ChatDataStore(); } return ChatDataStore::instance; } void ChatDataStore::clear() { this->data.clear(); } void ChatDataStore::setData(QString key, ChatItem value) { this->data[key] = value; } ChatItem ChatDataStore::getData(QString key) { return this->data[key]; } QString ChatDataStore::dump() { return ""; } std::map ChatDataStore::getAllRawChatItems() { return this->data; } std::map ChatDataStore::getAllContactRequests() { std::map filteredItems; for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && (c.second.getType() == "cont") && (c.second.getMemo().startsWith("{")) ) { filteredItems[c.first] = c.second; } } return filteredItems; } std::map ChatDataStore::getAllMemos() { std::map filteredItems; for(auto &c: this->data) { if ( (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) ) { filteredItems[c.first] = c.second; } } return filteredItems; } ChatDataStore* ChatDataStore::instance = nullptr; bool ChatDataStore::instanced = false;