#ifndef CHROME_BROWSER_UI_METRO_DRIVER_SETTINGS_HANDLER_H_
#define CHROME_BROWSER_UI_METRO_DRIVER_SETTINGS_HANDLER_H_
#include <windows.ui.applicationsettings.h>
#include <windows.ui.popups.h>
#include "winrt_utils.h"
class SettingsHandler {
public:
SettingsHandler();
~SettingsHandler();
HRESULT Initialize();
private:
typedef winfoundtn::Collections::IVector<
winui::ApplicationSettings::SettingsCommand*> ISettingsCommandVector;
HRESULT OnSettingsCommandsRequested(
winui::ApplicationSettings::ISettingsPane* settings_pane,
winui::ApplicationSettings::
ISettingsPaneCommandsRequestedEventArgs* args);
HRESULT AppendNewSettingsCommand(
const wchar_t* id,
const wchar_t* name,
winui::ApplicationSettings::ISettingsCommandFactory*
settings_command_factory,
ISettingsCommandVector* settings_command_vector);
static HRESULT OnSettings(winui::Popups::IUICommand* command);
static HRESULT GetSettingsId(const wchar_t* value,
winfoundtn::IPropertyValue** settings_id);
EventRegistrationToken settings_token_;
};
#endif