| 
									
										
										
										
											2010-06-12 17:15:16 +00:00
										 |  |  | // 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/
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-03 18:05:08 +00:00
										 |  |  | #ifndef _CONFIG_H_
 | 
					
						
							|  |  |  | #define _CONFIG_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "Thread.h"
 | 
					
						
							|  |  |  | #include "FileUtil.h"
 | 
					
						
							|  |  |  | #include "IniFile.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-12 17:39:33 +00:00
										 |  |  | #include "ControllerInterface/ControllerInterface.h"
 | 
					
						
							| 
									
										
										
										
											2010-06-03 18:05:08 +00:00
										 |  |  | #include "ControllerEmu.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <string>
 | 
					
						
							|  |  |  | #include <vector>
 | 
					
						
							|  |  |  | #include <map>
 | 
					
						
							|  |  |  | #include <sstream>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-12 19:42:29 +00:00
										 |  |  | // InputPlugin isn't a very good name anymore since it's used by GCPad/Wiimote
 | 
					
						
							|  |  |  | // which are not even plugins anymore.
 | 
					
						
							| 
									
										
										
										
											2010-06-12 18:45:39 +00:00
										 |  |  | class InputPlugin | 
					
						
							| 
									
										
										
										
											2010-06-03 18:05:08 +00:00
										 |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-12 19:42:29 +00:00
										 |  |  | 	InputPlugin(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) {} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-12 18:45:39 +00:00
										 |  |  | 	~InputPlugin(); | 
					
						
							| 
									
										
										
										
											2010-06-03 18:05:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-12 12:57:28 +00:00
										 |  |  | 	bool LoadConfig(); | 
					
						
							| 
									
										
										
										
											2010-06-03 18:05:08 +00:00
										 |  |  | 	void SaveConfig(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	std::vector< ControllerEmu* >	controllers; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-07 00:16:38 +00:00
										 |  |  | 	std::recursive_mutex controls_lock;		// for changing any control references
 | 
					
						
							| 
									
										
										
										
											2010-06-03 18:05:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	const char * const		ini_name; | 
					
						
							|  |  |  | 	const char * const		gui_name; | 
					
						
							|  |  |  | 	const char * const		profile_name; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |