// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_METRO_DRIVER_SETTINGS_HANDLER_H_ #define CHROME_BROWSER_UI_METRO_DRIVER_SETTINGS_HANDLER_H_ #include #include #include "winrt_utils.h" // This class handles the settings charm. 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 // CHROME_BROWSER_UI_METRO_DRIVER_SETTINGS_HANDLER_H_