#ifndef CONTENT_CHILD_DWRITE_FONT_PROXY_DWRITE_LOCALIZED_STRINGS_WIN_H_
#define CONTENT_CHILD_DWRITE_FONT_PROXY_DWRITE_LOCALIZED_STRINGS_WIN_H_
#include <dwrite.h>
#include <wrl.h>
#include <string>
#include <utility>
#include <vector>
namespace content {
class DWriteLocalizedStrings
: public Microsoft::WRL::RuntimeClass<
Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
IDWriteLocalizedStrings> {
public:
DWriteLocalizedStrings();
DWriteLocalizedStrings& operator=(const DWriteLocalizedStrings&) = delete;
~DWriteLocalizedStrings() override;
HRESULT STDMETHODCALLTYPE FindLocaleName(const WCHAR* locale_name,
UINT32* index,
BOOL* exists) override;
UINT32 STDMETHODCALLTYPE GetCount() override;
HRESULT STDMETHODCALLTYPE GetLocaleName(UINT32 index,
WCHAR* locale_name,
UINT32 size) override;
HRESULT STDMETHODCALLTYPE GetLocaleNameLength(UINT32 index,
UINT32* length) override;
HRESULT STDMETHODCALLTYPE GetString(UINT32 index,
WCHAR* string_buffer,
UINT32 size) override;
HRESULT STDMETHODCALLTYPE GetStringLength(UINT32 index,
UINT32* length) override;
HRESULT STDMETHODCALLTYPE RuntimeClassInitialize(
std::vector<std::pair<std::u16string, std::u16string>>* strings);
private:
std::vector<std::pair<std::u16string, std::u16string>> strings_;
};
}
#endif