76 lines
3.1 KiB
C++
76 lines
3.1 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#pragma once
|
|
|
|
#include "CalcViewModel\DataLoaders\ICurrencyHttpClient.h"
|
|
|
|
namespace CalculatorApp
|
|
{
|
|
namespace DataLoaders
|
|
{
|
|
class CurrencyHttpClient : public ICurrencyHttpClient
|
|
{
|
|
public:
|
|
CurrencyHttpClient();
|
|
|
|
static Platform::String^ GetRawStaticDataResponse();
|
|
static Platform::String^ GetRawAllRatiosDataResponse();
|
|
|
|
// ICurrencyHttpClient
|
|
void SetSourceCurrencyCode(Platform::String^ sourceCurrencyCode) override {}
|
|
void SetResponseLanguage(Platform::String^ responseLanguage) override {}
|
|
|
|
virtual Windows::Foundation::IAsyncOperationWithProgress<Platform::String^, Windows::Web::Http::HttpProgress>^ GetCurrencyMetadata() override;
|
|
virtual Windows::Foundation::IAsyncOperationWithProgress<Platform::String^, Windows::Web::Http::HttpProgress>^ GetCurrencyRatios() override;
|
|
// ICurrencyHttpClient
|
|
};
|
|
|
|
public ref class MockAsyncOperationWithProgress sealed :
|
|
public Windows::Foundation::IAsyncOperationWithProgress<Platform::String^, Windows::Web::Http::HttpProgress>
|
|
{
|
|
public:
|
|
MockAsyncOperationWithProgress(Platform::String^ result);
|
|
|
|
// IAsyncInfo
|
|
virtual property Windows::Foundation::HResult ErrorCode
|
|
{
|
|
Windows::Foundation::HResult get();
|
|
}
|
|
|
|
virtual property unsigned int Id
|
|
{
|
|
unsigned int get() { return 128u; }
|
|
}
|
|
|
|
virtual property Windows::Foundation::AsyncStatus Status
|
|
{
|
|
Windows::Foundation::AsyncStatus get() { return Windows::Foundation::AsyncStatus::Completed; }
|
|
}
|
|
|
|
virtual void Cancel() {}
|
|
virtual void Close() {}
|
|
// IAsyncInfo
|
|
|
|
// IAsyncOperationWithProgress
|
|
virtual property Windows::Foundation::AsyncOperationProgressHandler<Platform::String^, Windows::Web::Http::HttpProgress>^ Progress
|
|
{
|
|
Windows::Foundation::AsyncOperationProgressHandler<Platform::String^, Windows::Web::Http::HttpProgress>^ get() { return nullptr; }
|
|
void set(Windows::Foundation::AsyncOperationProgressHandler<Platform::String^, Windows::Web::Http::HttpProgress>^ handler) {}
|
|
}
|
|
|
|
virtual property Windows::Foundation::AsyncOperationWithProgressCompletedHandler<Platform::String^, Windows::Web::Http::HttpProgress>^ Completed
|
|
{
|
|
Windows::Foundation::AsyncOperationWithProgressCompletedHandler<Platform::String^, Windows::Web::Http::HttpProgress>^ get() { return nullptr; }
|
|
void set(Windows::Foundation::AsyncOperationWithProgressCompletedHandler<Platform::String^, Windows::Web::Http::HttpProgress>^ handler) {}
|
|
}
|
|
|
|
virtual Platform::String^ GetResults() { return m_result; }
|
|
// IAsyncOperationWithProgress
|
|
|
|
private:
|
|
Platform::String^ m_result;
|
|
};
|
|
}
|
|
}
|