mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	service/qtm: Migrate to ServiceFramework (#3892)
* service/qtm: Migrate to ServiceFramework * service/qtm: Fix clang format
This commit is contained in:
		
							parent
							
								
									9ae70e733f
								
							
						
					
					
						commit
						3e42b361b1
					
				
					 12 changed files with 91 additions and 49 deletions
				
			
		|  | @ -3,18 +3,19 @@ | |||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/service/qtm/qtm.h" | ||||
| #include "core/hle/service/qtm/qtm_c.h" | ||||
| #include "core/hle/service/qtm/qtm_s.h" | ||||
| #include "core/hle/service/qtm/qtm_sp.h" | ||||
| #include "core/hle/service/qtm/qtm_u.h" | ||||
| #include "core/hle/service/service.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| void Init() { | ||||
|     AddService(new QTM_S()); | ||||
|     AddService(new QTM_SP()); | ||||
|     AddService(new QTM_U()); | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||
|     std::make_shared<QTM_C>()->InstallAsService(service_manager); | ||||
|     std::make_shared<QTM_S>()->InstallAsService(service_manager); | ||||
|     std::make_shared<QTM_SP>()->InstallAsService(service_manager); | ||||
|     std::make_shared<QTM_U>()->InstallAsService(service_manager); | ||||
| } | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -4,11 +4,13 @@ | |||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/service/service.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| /// Initializes all QTM services.
 | ||||
| void Init(); | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager); | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
| } // namespace Service
 | ||||
|  |  | |||
							
								
								
									
										24
									
								
								src/core/hle/service/qtm/qtm_c.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/core/hle/service/qtm/qtm_c.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| // Copyright 2016 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/qtm/qtm_c.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| QTM_C::QTM_C() : ServiceFramework("qtm:c", 2) { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         // clang-format off
 | ||||
|         // qtm calibration commands
 | ||||
|         {0x00010000, nullptr, "InitializeHardwareCheck"}, | ||||
|         {0x00050040, nullptr, "SetIrLedCheck"}, | ||||
|         // clang-format on
 | ||||
|     }; | ||||
| 
 | ||||
|     RegisterHandlers(functions); | ||||
| }; | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
| } // namespace Service
 | ||||
							
								
								
									
										19
									
								
								src/core/hle/service/qtm/qtm_c.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/core/hle/service/qtm/qtm_c.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| // Copyright 2016 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/service/service.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| class QTM_C final : public ServiceFramework<QTM_C> { | ||||
| public: | ||||
|     QTM_C(); | ||||
|     ~QTM_C() = default; | ||||
| }; | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
| } // namespace Service
 | ||||
|  | @ -2,21 +2,22 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/qtm/qtm_s.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     // qtm common commands
 | ||||
|     {0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, | ||||
|     {0x00020080, nullptr, "GetHeadtrackingInfo"}, | ||||
|     // clang-format on
 | ||||
| }; | ||||
| QTM_S::QTM_S() : ServiceFramework("qtm:s", 2) { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         // clang-format off
 | ||||
|         // qtm common commands
 | ||||
|         {0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, | ||||
|         {0x00020080, nullptr, "GetHeadtrackingInfo"}, | ||||
|         // clang-format on
 | ||||
|     }; | ||||
| 
 | ||||
| QTM_S::QTM_S() { | ||||
|     Register(FunctionTable); | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -9,13 +9,10 @@ | |||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| class QTM_S final : public Interface { | ||||
| class QTM_S final : public ServiceFramework<QTM_S> { | ||||
| public: | ||||
|     QTM_S(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "qtm:s"; | ||||
|     } | ||||
|     ~QTM_S() = default; | ||||
| }; | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -2,21 +2,22 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/qtm/qtm_sp.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     // qtm common commands
 | ||||
|     {0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, | ||||
|     {0x00020080, nullptr, "GetHeadtrackingInfo"}, | ||||
|     // clang-format on
 | ||||
| }; | ||||
| QTM_SP::QTM_SP() : ServiceFramework("qtm:sp", 2) { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         // clang-format off
 | ||||
|         // qtm common commands
 | ||||
|         {0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, | ||||
|         {0x00020080, nullptr, "GetHeadtrackingInfo"}, | ||||
|         // clang-format on
 | ||||
|     }; | ||||
| 
 | ||||
| QTM_SP::QTM_SP() { | ||||
|     Register(FunctionTable); | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -9,13 +9,10 @@ | |||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| class QTM_SP final : public Interface { | ||||
| class QTM_SP final : public ServiceFramework<QTM_SP> { | ||||
| public: | ||||
|     QTM_SP(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "qtm:sp"; | ||||
|     } | ||||
|     ~QTM_SP() = default; | ||||
| }; | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -2,21 +2,22 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/qtm/qtm_u.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // clang-format off
 | ||||
|     // qtm common commands
 | ||||
|     {0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, | ||||
|     {0x00020080, nullptr, "GetHeadtrackingInfo"}, | ||||
|     // clang-format on
 | ||||
| }; | ||||
| QTM_U::QTM_U() : ServiceFramework("qtm:u", 2) { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         // clang-format off
 | ||||
|         // qtm common commands
 | ||||
|         {0x00010080, nullptr, "GetHeadtrackingInfoRaw"}, | ||||
|         {0x00020080, nullptr, "GetHeadtrackingInfo"}, | ||||
|         // clang-format on
 | ||||
|     }; | ||||
| 
 | ||||
| QTM_U::QTM_U() { | ||||
|     Register(FunctionTable); | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -9,13 +9,10 @@ | |||
| namespace Service { | ||||
| namespace QTM { | ||||
| 
 | ||||
| class QTM_U final : public Interface { | ||||
| class QTM_U final : public ServiceFramework<QTM_U> { | ||||
| public: | ||||
|     QTM_U(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "qtm:u"; | ||||
|     } | ||||
|     ~QTM_U() = default; | ||||
| }; | ||||
| 
 | ||||
| } // namespace QTM
 | ||||
|  |  | |||
|  | @ -254,7 +254,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) { | |||
|     NIM::InstallInterfaces(*sm); | ||||
|     NWM::Init(); | ||||
|     PTM::InstallInterfaces(*sm); | ||||
|     QTM::Init(); | ||||
|     QTM::InstallInterfaces(*sm); | ||||
| 
 | ||||
|     AddService(new CSND::CSND_SND); | ||||
|     AddService(new DSP_DSP::Interface); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue