summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/InputConfig.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/Src/InputConfig.cpp')
-rw-r--r--Source/Core/InputCommon/Src/InputConfig.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/Src/InputConfig.cpp b/Source/Core/InputCommon/Src/InputConfig.cpp
new file mode 100644
index 0000000000..f01a723360
--- /dev/null
+++ b/Source/Core/InputCommon/Src/InputConfig.cpp
@@ -0,0 +1,57 @@
+
+#include "InputConfig.h"
+
+Plugin::Plugin( const char* const _ini_name, const char* const _gui_name, const char* const _profile_name )
+ : ini_name(_ini_name)
+ , gui_name(_gui_name)
+ , profile_name(_profile_name)
+{
+ // GCPads
+ //for ( unsigned int i = 0; i<4; ++i )
+ //controllers.push_back( new GCPad( i ) );
+ // Wiimotes / disabled, cause it only the GUI half is done
+ //for ( unsigned int i = 0; i<4; ++i )
+ // controllers.push_back( new Wiimote( i ) );
+};
+
+Plugin::~Plugin()
+{
+ // delete pads
+ std::vector<ControllerEmu*>::const_iterator i = controllers.begin(),
+ e = controllers.end();
+ for ( ; i != e; ++i )
+ delete *i;
+}
+
+void Plugin::LoadConfig()
+{
+ IniFile inifile;
+
+ std::ifstream file;
+ file.open( (std::string(File::GetUserPath(D_CONFIG_IDX)) + ini_name + ".ini" ).c_str() );
+ inifile.Load( file );
+ file.close();
+
+ std::vector< ControllerEmu* >::const_iterator i = controllers.begin(),
+ e = controllers.end();
+ for ( ; i!=e; ++i )
+ (*i)->LoadConfig( inifile[ (*i)->GetName() ] );
+}
+
+void Plugin::SaveConfig()
+{
+ IniFile inifile;
+
+ std::vector< ControllerEmu* >::const_iterator i = controllers.begin(),
+ e = controllers.end();
+ for ( ; i!=e; ++i )
+ (*i)->SaveConfig( inifile[ (*i)->GetName() ] );
+
+ // dont need to save empty values
+ //inifile.Clean();
+
+ std::ofstream file;
+ file.open( (std::string(File::GetUserPath(D_CONFIG_IDX)) + ini_name + ".ini" ).c_str() );
+ inifile.Save( file );
+ file.close();
+}