Select Git revision
message_engine.cpp
-
Sébastien Blin authored
This patches pass the Message-ID for text messages following the following RFC: https://tools.ietf.org/html/rfc5438#section-6.3 Change-Id: I69354cfd78688f3a0b3ebd56c135d53e0f81aa44
Sébastien Blin authoredThis patches pass the Message-ID for text messages following the following RFC: https://tools.ietf.org/html/rfc5438#section-6.3 Change-Id: I69354cfd78688f3a0b3ebd56c135d53e0f81aa44
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Contact.cpp 7.26 KiB
/**************************************************************************
* Copyright (C) 2016 by Savoir-faire Linux *
* Author: Jger Nicolas <nicolas.jager@savoirfairelinux.com> *
* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
**************************************************************************/
#include "pch.h"
#include "Contact.h"
#include "ObjBase.h" // for CoCreateGuid
using namespace Windows::ApplicationModel::Core;
using namespace Platform;
using namespace Windows::Data::Json;
using namespace Windows::UI::Core;
using namespace RingClientUWP;
using namespace ViewModel;
Contact::Contact(String^ name,
String^ ringID,
String^ GUID,
unsigned int unreadmessages)
{
name_ = name;
ringID_ = ringID;
GUID_ = GUID;
if (GUID_ == nullptr)
GUID_ = Utils::GetNewGUID();
//RingDebug::instance->print(Utils::toString(GUID_).c_str());
// load conversation from disk
conversation_ = ref new Conversation();
StorageFolder^ localfolder = ApplicationData::Current->LocalFolder;
String^ messagesFile = ".messages\\" + GUID_ + ".json";
Utils::fileExists(ApplicationData::Current->LocalFolder,
messagesFile)
.then([this,messagesFile](bool messages_file_exists)
{
if (messages_file_exists) {
try {
create_task(ApplicationData::Current->LocalFolder->GetFileAsync(messagesFile))
.then([this](StorageFile^ file)
{
create_task(FileIO::ReadTextAsync(file))
.then([this](String^ fileContents) {
if (fileContents != nullptr)
DestringifyConversation(fileContents);
});
});
}
catch (Exception^ e) {
RingDebug::instance->print("Exception while opening messages file");
}
}