From a3c96ac42c4c2ce4a4cf2f5ca09a5ae9dd4bd303 Mon Sep 17 00:00:00 2001 From: hrydgard Date: Thu, 3 Jun 2010 18:05:08 +0000 Subject: Warp back to 5578. Sorry for the lost changes, please re-apply. Reason: 5579 is a complete disaster. Not only does it change tons of files to switch to a new and non-working (it doesn't parse my ini files, at least) ini parser, it also reshuffles a lot of code and removes a plugin. The latter part is fine, but doing these two major switches in one revision, one of which is broken, is completely unacceptable. I said to merge tiny changes, not massive reworkings. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5589 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Plugins/InputPluginCommon/Src/Config.cpp | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Source/Plugins/InputPluginCommon/Src/Config.cpp (limited to 'Source/Plugins/InputPluginCommon/Src/Config.cpp') diff --git a/Source/Plugins/InputPluginCommon/Src/Config.cpp b/Source/Plugins/InputPluginCommon/Src/Config.cpp new file mode 100644 index 0000000000..417867c175 --- /dev/null +++ b/Source/Plugins/InputPluginCommon/Src/Config.cpp @@ -0,0 +1,57 @@ + +#include "Config.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::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(); +} -- cgit v1.2.3