| 
									
										
										
										
											2017-02-08 22:15:43 -05:00
										 |  |  | // Copyright 2017 Dolphin Emulator Project
 | 
					
						
							|  |  |  | // Licensed under GPLv2+
 | 
					
						
							|  |  |  | // Refer to the license.txt file included.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <memory>
 | 
					
						
							|  |  |  | #include <string>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ControlReference; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace ControllerEmu | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2018-04-10 17:22:30 +02:00
										 |  |  | enum Translatability | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   DoNotTranslate, | 
					
						
							|  |  |  |   Translate | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-08 22:15:43 -05:00
										 |  |  | class Control | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |   virtual ~Control(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   std::unique_ptr<ControlReference> const control_ref; | 
					
						
							| 
									
										
										
										
											2018-04-10 17:22:30 +02:00
										 |  |  |   const Translatability translate; | 
					
						
							| 
									
										
										
										
											2017-02-08 22:15:43 -05:00
										 |  |  |   const std::string name; | 
					
						
							| 
									
										
										
										
											2017-04-30 14:53:33 +02:00
										 |  |  |   const std::string ui_name; | 
					
						
							| 
									
										
										
										
											2017-02-08 22:15:43 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | protected: | 
					
						
							| 
									
										
										
										
											2018-04-10 17:22:30 +02:00
										 |  |  |   Control(std::unique_ptr<ControlReference> ref, Translatability translate, const std::string& name, | 
					
						
							| 
									
										
										
										
											2017-04-30 14:53:33 +02:00
										 |  |  |           const std::string& ui_name); | 
					
						
							| 
									
										
										
										
											2018-04-10 17:22:30 +02:00
										 |  |  |   Control(std::unique_ptr<ControlReference> ref, Translatability translate, | 
					
						
							|  |  |  |           const std::string& name); | 
					
						
							| 
									
										
										
										
											2017-02-08 22:15:43 -05:00
										 |  |  | }; | 
					
						
							|  |  |  | }  // namespace ControllerEmu
 |