mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	service: Add the btdrv service
Adds the skeleton for the btdrv service based off the information provided by Switch Brew
This commit is contained in:
		
							parent
							
								
									ec2b7cdb1d
								
							
						
					
					
						commit
						f49248437e
					
				| @ -136,6 +136,8 @@ add_library(core STATIC | |||||||
|     hle/service/bcat/bcat.h |     hle/service/bcat/bcat.h | ||||||
|     hle/service/bcat/module.cpp |     hle/service/bcat/module.cpp | ||||||
|     hle/service/bcat/module.h |     hle/service/bcat/module.h | ||||||
|  |     hle/service/btdrv/btdrv.cpp | ||||||
|  |     hle/service/btdrv/btdrv.h | ||||||
|     hle/service/erpt/erpt.cpp |     hle/service/erpt/erpt.cpp | ||||||
|     hle/service/erpt/erpt.h |     hle/service/erpt/erpt.h | ||||||
|     hle/service/es/es.cpp |     hle/service/es/es.cpp | ||||||
|  | |||||||
							
								
								
									
										72
									
								
								src/core/hle/service/btdrv/btdrv.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								src/core/hle/service/btdrv/btdrv.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,72 @@ | |||||||
|  | // Copyright 2018 yuzu emulator team
 | ||||||
|  | // Licensed under GPLv2 or any later version
 | ||||||
|  | // Refer to the license.txt file included.
 | ||||||
|  | 
 | ||||||
|  | #include "core/hle/service/btdrv/btdrv.h" | ||||||
|  | #include "core/hle/service/service.h" | ||||||
|  | #include "core/hle/service/sm/sm.h" | ||||||
|  | 
 | ||||||
|  | namespace Service::BtDrv { | ||||||
|  | 
 | ||||||
|  | class BtDrv final : public ServiceFramework<BtDrv> { | ||||||
|  | public: | ||||||
|  |     explicit BtDrv() : ServiceFramework{"btdrv"} { | ||||||
|  |         // clang-format off
 | ||||||
|  |         static const FunctionInfo functions[] = { | ||||||
|  |             {0, nullptr, "Unknown"}, | ||||||
|  |             {1, nullptr, "Init"}, | ||||||
|  |             {2, nullptr, "Enable"}, | ||||||
|  |             {3, nullptr, "Disable"}, | ||||||
|  |             {4, nullptr, "CleanupAndShutdown"}, | ||||||
|  |             {5, nullptr, "GetAdapterProperties"}, | ||||||
|  |             {6, nullptr, "GetAdapterProperty"}, | ||||||
|  |             {7, nullptr, "SetAdapterProperty"}, | ||||||
|  |             {8, nullptr, "StartDiscovery"}, | ||||||
|  |             {9, nullptr, "CancelDiscovery"}, | ||||||
|  |             {10, nullptr, "CreateBond"}, | ||||||
|  |             {11, nullptr, "RemoveBond"}, | ||||||
|  |             {12, nullptr, "CancelBond"}, | ||||||
|  |             {13, nullptr, "PinReply"}, | ||||||
|  |             {14, nullptr, "SspReply"}, | ||||||
|  |             {15, nullptr, "Unknown2"}, | ||||||
|  |             {16, nullptr, "InitInterfaces"}, | ||||||
|  |             {17, nullptr, "HidHostInterface_Connect"}, | ||||||
|  |             {18, nullptr, "HidHostInterface_Disconnect"}, | ||||||
|  |             {19, nullptr, "HidHostInterface_SendData"}, | ||||||
|  |             {20, nullptr, "HidHostInterface_SendData2"}, | ||||||
|  |             {21, nullptr, "HidHostInterface_SetReport"}, | ||||||
|  |             {22, nullptr, "HidHostInterface_GetReport"}, | ||||||
|  |             {23, nullptr, "HidHostInterface_WakeController"}, | ||||||
|  |             {24, nullptr, "HidHostInterface_AddPairedDevice"}, | ||||||
|  |             {25, nullptr, "HidHostInterface_GetPairedDevice"}, | ||||||
|  |             {26, nullptr, "HidHostInterface_CleanupAndShutdown"}, | ||||||
|  |             {27, nullptr, "Unknown3"}, | ||||||
|  |             {28, nullptr, "ExtInterface_SetTSI"}, | ||||||
|  |             {29, nullptr, "ExtInterface_SetBurstMode"}, | ||||||
|  |             {30, nullptr, "ExtInterface_SetZeroRetran"}, | ||||||
|  |             {31, nullptr, "ExtInterface_SetMcMode"}, | ||||||
|  |             {32, nullptr, "ExtInterface_StartLlrMode"}, | ||||||
|  |             {33, nullptr, "ExtInterface_ExitLlrMode"}, | ||||||
|  |             {34, nullptr, "ExtInterface_SetRadio"}, | ||||||
|  |             {35, nullptr, "ExtInterface_SetVisibility"}, | ||||||
|  |             {36, nullptr, "Unknown4"}, | ||||||
|  |             {37, nullptr, "Unknown5"}, | ||||||
|  |             {38, nullptr, "HidHostInterface_GetLatestPlr"}, | ||||||
|  |             {39, nullptr, "ExtInterface_GetPendingConnections"}, | ||||||
|  |             {40, nullptr, "HidHostInterface_GetChannelMap"}, | ||||||
|  |             {41, nullptr, "SetIsBluetoothBoostEnabled"}, | ||||||
|  |             {42, nullptr, "GetIsBluetoothBoostEnabled"}, | ||||||
|  |             {43, nullptr, "SetIsBluetoothAfhEnabled"}, | ||||||
|  |             {44, nullptr, "GetIsBluetoothAfhEnabled"}, | ||||||
|  |         }; | ||||||
|  |         // clang-format on
 | ||||||
|  | 
 | ||||||
|  |         RegisterHandlers(functions); | ||||||
|  |     } | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | void InstallInterfaces(SM::ServiceManager& sm) { | ||||||
|  |     std::make_shared<BtDrv>()->InstallAsService(sm); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | } // namespace Service::BtDrv
 | ||||||
							
								
								
									
										16
									
								
								src/core/hle/service/btdrv/btdrv.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/core/hle/service/btdrv/btdrv.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | // Copyright 2018 yuzu emulator team
 | ||||||
|  | // Licensed under GPLv2 or any later version
 | ||||||
|  | // Refer to the license.txt file included.
 | ||||||
|  | 
 | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | namespace Service::SM { | ||||||
|  | class ServiceManager; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | namespace Service::BtDrv { | ||||||
|  | 
 | ||||||
|  | /// Registers all BtDrv services with the specified service manager.
 | ||||||
|  | void InstallInterfaces(SM::ServiceManager& sm); | ||||||
|  | 
 | ||||||
|  | } // namespace Service::BtDrv
 | ||||||
| @ -21,6 +21,7 @@ | |||||||
| #include "core/hle/service/apm/apm.h" | #include "core/hle/service/apm/apm.h" | ||||||
| #include "core/hle/service/audio/audio.h" | #include "core/hle/service/audio/audio.h" | ||||||
| #include "core/hle/service/bcat/bcat.h" | #include "core/hle/service/bcat/bcat.h" | ||||||
|  | #include "core/hle/service/btdrv/btdrv.h" | ||||||
| #include "core/hle/service/erpt/erpt.h" | #include "core/hle/service/erpt/erpt.h" | ||||||
| #include "core/hle/service/es/es.h" | #include "core/hle/service/es/es.h" | ||||||
| #include "core/hle/service/eupld/eupld.h" | #include "core/hle/service/eupld/eupld.h" | ||||||
| @ -193,8 +194,9 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) { | |||||||
|     AM::InstallInterfaces(*sm, nv_flinger); |     AM::InstallInterfaces(*sm, nv_flinger); | ||||||
|     AOC::InstallInterfaces(*sm); |     AOC::InstallInterfaces(*sm); | ||||||
|     APM::InstallInterfaces(*sm); |     APM::InstallInterfaces(*sm); | ||||||
|     BCAT::InstallInterfaces(*sm); |  | ||||||
|     Audio::InstallInterfaces(*sm); |     Audio::InstallInterfaces(*sm); | ||||||
|  |     BCAT::InstallInterfaces(*sm); | ||||||
|  |     BtDrv::InstallInterfaces(*sm); | ||||||
|     ERPT::InstallInterfaces(*sm); |     ERPT::InstallInterfaces(*sm); | ||||||
|     ES::InstallInterfaces(*sm); |     ES::InstallInterfaces(*sm); | ||||||
|     EUPLD::InstallInterfaces(*sm); |     EUPLD::InstallInterfaces(*sm); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Lioncash
						Lioncash