diff options
| author | hrydgard <hrydgard@gmail.com> | 2010-06-12 17:39:33 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2010-06-12 17:39:33 +0000 |
| commit | 1cd25e2406ea370cacfb82ec6dc164153052ca9d (patch) | |
| tree | 29c06c64c49841b89a83f614c77fb59bda4f6008 /Source/Core/InputCommon/Src/InputConfig.cpp | |
| parent | 3e3aa2364e4ed6c3fe3be9331b7d0827adf9042f (diff) | |
(cleanup) InputPluginCommon is dead. Long live InputCommon and InputUICommon.
I hope I didn't break the mac+linux builds - if i did, fixing it should be a simple matter of adjusting the sconscripts.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5661 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/InputCommon/Src/InputConfig.cpp')
| -rw-r--r-- | Source/Core/InputCommon/Src/InputConfig.cpp | 69 |
1 files changed, 69 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..410aecb928 --- /dev/null +++ b/Source/Core/InputCommon/Src/InputConfig.cpp @@ -0,0 +1,69 @@ +// Copyright (C) 2010 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#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; +} + +bool Plugin::LoadConfig() +{ + IniFile inifile; + if (false == inifile.Load(std::string(File::GetUserPath(D_CONFIG_IDX)) + ini_name + ".ini")) + return false; + + std::vector< ControllerEmu* >::const_iterator + i = controllers.begin(), + e = controllers.end(); + for ( ; i!=e; ++i ) { + (*i)->LoadConfig(inifile.GetOrCreateSection((*i)->GetName().c_str())); + } +} + +void Plugin::SaveConfig() +{ + std::string ini_filename = (std::string(File::GetUserPath(D_CONFIG_IDX)) + ini_name + ".ini" ); + + IniFile inifile; + inifile.Load(ini_filename); + + std::vector< ControllerEmu* >::const_iterator i = controllers.begin(), + e = controllers.end(); + for ( ; i!=e; ++i ) + (*i)->SaveConfig(inifile.GetOrCreateSection((*i)->GetName().c_str())); + + inifile.Save(ini_filename); +} |
