From 9e2952c18df51c2abf5e96c3caf955069583122f Mon Sep 17 00:00:00 2001
From: Ingo Ruhnke <grumbel@gmx.de>
Date: Sun, 30 Jan 2011 03:40:37 +0100
Subject: [PATCH] Added ui-clear to ini parsing

---
 src/command_line_options.cpp | 4 ++--
 src/options.cpp              | 7 +++++++
 src/options.hpp              | 2 ++
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/command_line_options.cpp b/src/command_line_options.cpp
index 3f251f8..57c5aac 100644
--- a/src/command_line_options.cpp
+++ b/src/command_line_options.cpp
@@ -365,6 +365,7 @@ CommandLineParser::init_ini(Options* opts)
     ("headset-debug",   &opts->headset_debug)
     ("headset-dump",    &opts->headset_dump)
     ("headset-play",    &opts->headset_play)
+    ("ui-clear",        boost::bind(&Options::set_ui_clear, boost::ref(opts)), boost::function<void ()>())
     ;
 
   m_ini.section("xboxdrv-daemon")
@@ -672,8 +673,7 @@ CommandLineParser::parse_args(int argc, char** argv, Options* options)
         break;
 
       case OPTION_UI_CLEAR:
-        opts.get_controller_options().uinput.get_axis_map().clear();
-        opts.get_controller_options().uinput.get_btn_map().clear();
+        opts.set_ui_clear();
         break;
 
       case OPTION_UI_AXISMAP:
diff --git a/src/options.cpp b/src/options.cpp
index ef3c5c4..c7e2b6c 100644
--- a/src/options.cpp
+++ b/src/options.cpp
@@ -125,6 +125,13 @@ Options::get_controller_options() const
   }
 }
 
+void
+Options::set_ui_clear()
+{
+  get_controller_options().uinput.get_axis_map().clear();
+  get_controller_options().uinput.get_btn_map().clear();
+}
+
 void
 Options::next_controller()
 {
diff --git a/src/options.hpp b/src/options.hpp
index 180021d..7aba018 100644
--- a/src/options.hpp
+++ b/src/options.hpp
@@ -130,6 +130,8 @@ public:
   ControllerOptions& get_controller_options();
   const ControllerOptions& get_controller_options() const;
 
+  void set_ui_clear();
+
   void next_controller();
   void next_config();