Select Git revision
MediaPreferenceFragment.java
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Utils.h 3.76 KiB
/**************************************************************************
* Copyright (C) 2016 by Savoir-faire Linux *
* Author: Jäger 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/>. *
**************************************************************************/
#pragma once
#include <pch.h>
using namespace Platform;
using namespace Windows::Storage;
namespace RingClientUWP
{
namespace Utils
{
task<bool>
fileExists(StorageFolder^ folder, String^ fileName)
{
return create_task(folder->GetFileAsync(fileName))
.then([](task<StorageFile^> taskResult)
{
bool exists;
try {
taskResult.get();
exists = true;
}
catch (COMException ^e) {
if (e->HResult == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)) {
exists = false;
}
else {
throw;
}
}
return exists;
});
}
std::string makeString(const std::wstring& wstr)
{
auto wideData = wstr.c_str();
int bufferSize = WideCharToMultiByte(CP_UTF8, 0, wideData, -1, nullptr, 0, NULL, NULL);
std::unique_ptr<char[]> utf8;
utf8.reset(new char[bufferSize]);
if (WideCharToMultiByte(CP_UTF8, 0, wideData, -1, utf8.get(), bufferSize, NULL, NULL) == 0) {
return std::string();
}
return std::string(utf8.get());
}
std::wstring makeWString(const std::string& str)
{
auto utf8Data = str.c_str();