forked from eden-emu/eden
		
	HLE/APT: Initial HLE support for applets.
Currently only the SWKBD is emulated, and there's currently no way to ask the user for input, so it always returns "Subv" as the text.
This commit is contained in:
		
							parent
							
								
									b0d72e3de1
								
							
						
					
					
						commit
						2a6ebadf66
					
				
					 9 changed files with 410 additions and 50 deletions
				
			
		
							
								
								
									
										40
									
								
								src/core/hle/applets/applet.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/core/hle/applets/applet.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | |||
| // Copyright 2015 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/assert.h" | ||||
| #include "common/logging/log.h" | ||||
| 
 | ||||
| #include "core/hle/applets/applet.h" | ||||
| #include "core/hle/applets/swkbd.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| namespace HLE { | ||||
| namespace Applets { | ||||
| 
 | ||||
| static std::unordered_map<Service::APT::AppletId, std::shared_ptr<Applet>> applets; | ||||
| 
 | ||||
| ResultCode Applet::Create(Service::APT::AppletId id) { | ||||
|     switch (id) { | ||||
|     case Service::APT::AppletId::SoftwareKeyboard1: | ||||
|     case Service::APT::AppletId::SoftwareKeyboard2: | ||||
|         applets[id] = std::make_shared<SoftwareKeyboard>(id); | ||||
|         break; | ||||
|     default: | ||||
|         // TODO(Subv): Find the right error code
 | ||||
|         return ResultCode(ErrorDescription::NotFound, ErrorModule::Applet, ErrorSummary::NotSupported, ErrorLevel::Permanent); | ||||
|     } | ||||
| 
 | ||||
|     return RESULT_SUCCESS; | ||||
| } | ||||
| 
 | ||||
| std::shared_ptr<Applet> Applet::Get(Service::APT::AppletId id) { | ||||
|     auto itr = applets.find(id); | ||||
|     if (itr != applets.end()) | ||||
|         return itr->second; | ||||
|     return nullptr; | ||||
| } | ||||
| 
 | ||||
| } | ||||
| } // namespace
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Subv
						Subv