Ejemplo n.º 1
0
void WhatsappDatabase::getChats(Settings &settings, std::vector<WhatsappChat*> &chats)
{
	const char *query = "SELECT chat_list.key_remote_jid, chat_list.subject, chat_list.creation, max(messages.timestamp) " \
						"FROM chat_list " \
						"LEFT OUTER JOIN messages on messages.key_remote_jid = chat_list.key_remote_jid " \
						"GROUP BY chat_list.key_remote_jid, chat_list.subject, chat_list.creation " \
						"ORDER BY max(messages.timestamp) desc";

	sqlite3_stmt *res;
	if (sqlite3_prepare_v2(database.getHandle(), query, -1, &res, NULL) != SQLITE_OK)
	{
		throw SQLiteException("Could not load chat list", database);
	}

	while (sqlite3_step(res) == SQLITE_ROW)
	{
		std::string key = database.readString(res, 0);
		std::string subject = database.readString(res, 1);
		long long creation = sqlite3_column_int64(res, 2);
		long long lastMessage = sqlite3_column_int64(res, 3);
		std::string displayName = settings.findDisplayName(key);

		int messagesSent = messagesCount(key, 1);
		int messagesReceived = messagesCount(key, 0);

		WhatsappChat *chat = new WhatsappChat(*this, displayName, key, subject, creation, lastMessage, messagesSent, messagesReceived);
		chats.push_back(chat);
	}

	sqlite3_finalize(res);
}
Ejemplo n.º 2
0
void Thunderbird::analizeExternalEvents(qint32 eventsCount)
{
    qDebug() << "Recieved from Thunderbird:" << eventsCount << "events";
    m_addonPresenceTimer.start();
    int events = eventsCount;
    emit messagesCount(events);
    if (events > 0)
        setLedMode(LED_RARE_BLINK);
    else
        setLedMode(LED_OFF);
}
Ejemplo n.º 3
0
void readMessage(TcpManager server, dbController dataBase[]){
    int count = messagesCount(dataBase);
    int i;
    package answ;
    answ.amountData = count;
    answ.control = ACCEPTED;
    printf("Operacao de Ler Mensagem !\n");
    server.sendMessage(&server,answ);
    
    for (i = 0; i < MAX_LENGTH_DATA; i++) {
        if(dataBase[i].free == 0){
            answ = dataBase[i].pkg;
            server.sendMessage(&server,answ);
        }
    }
    if(count > 0)
        printf("Leitura Bem Sucedida\n");
    else
        printf("Leitura Mal Sucedida\n");
    
}