Update UnitConverter implementations to use 'future' instead of 'task' when interfacing with the CalcManager

This commit is contained in:
fwcd 2019-04-05 17:56:18 +02:00
commit fcb3ecbfcb
4 changed files with 9 additions and 9 deletions

View file

@ -188,7 +188,7 @@ void CurrencyDataLoader::LoadData()
{ {
create_task([this]() -> task<bool> create_task([this]() -> task<bool>
{ {
vector<function<task<bool>()>> loadFunctions = { vector<function<future<bool>()>> loadFunctions = {
[this]() { return TryLoadDataFromCacheAsync(); }, [this]() { return TryLoadDataFromCacheAsync(); },
[this]() { return TryLoadDataFromWebAsync(); }, [this]() { return TryLoadDataFromWebAsync(); },
}; };
@ -310,7 +310,7 @@ pair<wstring, wstring> CurrencyDataLoader::GetCurrencyRatioEquality(_In_ const U
} }
#pragma optimize("", off) // Turn off optimizations to work around DevDiv 393321 #pragma optimize("", off) // Turn off optimizations to work around DevDiv 393321
task<bool> CurrencyDataLoader::TryLoadDataFromCacheAsync() future<bool> CurrencyDataLoader::TryLoadDataFromCacheAsync()
{ {
try try
{ {
@ -395,7 +395,7 @@ task<bool> CurrencyDataLoader::TryFinishLoadFromCacheAsync()
co_return true; co_return true;
} }
task<bool> CurrencyDataLoader::TryLoadDataFromWebAsync() future<bool> CurrencyDataLoader::TryLoadDataFromWebAsync()
{ {
try try
{ {
@ -480,7 +480,7 @@ task<bool> CurrencyDataLoader::TryLoadDataFromWebAsync()
} }
} }
task<bool> CurrencyDataLoader::TryLoadDataFromWebOverrideAsync() future<bool> CurrencyDataLoader::TryLoadDataFromWebOverrideAsync()
{ {
m_meteredOverrideSet = true; m_meteredOverrideSet = true;
bool didLoad = co_await TryLoadDataFromWebAsync(); bool didLoad = co_await TryLoadDataFromWebAsync();

View file

@ -72,9 +72,9 @@ namespace CalculatorApp
std::pair<std::wstring, std::wstring> GetCurrencyRatioEquality(_In_ const UnitConversionManager::Unit& unit1, _In_ const UnitConversionManager::Unit& unit2) override; std::pair<std::wstring, std::wstring> GetCurrencyRatioEquality(_In_ const UnitConversionManager::Unit& unit1, _In_ const UnitConversionManager::Unit& unit2) override;
std::wstring GetCurrencyTimestamp() override; std::wstring GetCurrencyTimestamp() override;
concurrency::task<bool> TryLoadDataFromCacheAsync() override; std::future<bool> TryLoadDataFromCacheAsync() override;
concurrency::task<bool> TryLoadDataFromWebAsync() override; std::future<bool> TryLoadDataFromWebAsync() override;
concurrency::task<bool> TryLoadDataFromWebOverrideAsync() override; std::future<bool> TryLoadDataFromWebOverrideAsync() override;
// ICurrencyConverterDataLoader // ICurrencyConverterDataLoader
void OnNetworkBehaviorChanged(CalculatorApp::NetworkAccessBehavior newBehavior); void OnNetworkBehaviorChanged(CalculatorApp::NetworkAccessBehavior newBehavior);

View file

@ -727,7 +727,7 @@ void UnitConverterViewModel::RefreshCurrencyRatios()
String^ announcement = AppResourceProvider::GetInstance().GetResourceString(UnitConverterResourceKeys::UpdatingCurrencyRates); String^ announcement = AppResourceProvider::GetInstance().GetResourceString(UnitConverterResourceKeys::UpdatingCurrencyRates);
Announcement = CalculatorAnnouncement::GetUpdateCurrencyRatesAnnouncement(announcement); Announcement = CalculatorAnnouncement::GetUpdateCurrencyRatesAnnouncement(announcement);
auto refreshTask = create_task(m_model->RefreshCurrencyRatios()); auto refreshTask = create_task([this] { return m_model->RefreshCurrencyRatios().get(); });
refreshTask.then([this](const pair<bool, wstring>& refreshResult) refreshTask.then([this](const pair<bool, wstring>& refreshResult)
{ {
bool didLoad = refreshResult.first; bool didLoad = refreshResult.first;

View file

@ -42,7 +42,7 @@ namespace CalculatorUnitTests
void SendCommand(UCM::Command command) override; void SendCommand(UCM::Command command) override;
void SetViewModelCallback(const std::shared_ptr<UCM::IUnitConverterVMCallback>& newCallback) override; void SetViewModelCallback(const std::shared_ptr<UCM::IUnitConverterVMCallback>& newCallback) override;
void SetViewModelCurrencyCallback(_In_ const std::shared_ptr<UCM::IViewModelCurrencyCallback>& /*newCallback*/) override {} void SetViewModelCurrencyCallback(_In_ const std::shared_ptr<UCM::IViewModelCurrencyCallback>& /*newCallback*/) override {}
concurrency::task<std::pair<bool, std::wstring>> RefreshCurrencyRatios() override std::future<std::pair<bool, std::wstring>> RefreshCurrencyRatios() override
{ {
co_return std::make_pair(L"", L""); co_return std::make_pair(L"", L"");
} }