mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	Deglobalize System: Btm
This commit is contained in:
		@@ -17,7 +17,7 @@ namespace Service::BTM {
 | 
			
		||||
 | 
			
		||||
class IBtmUserCore final : public ServiceFramework<IBtmUserCore> {
 | 
			
		||||
public:
 | 
			
		||||
    explicit IBtmUserCore() : ServiceFramework{"IBtmUserCore"} {
 | 
			
		||||
    explicit IBtmUserCore(Core::System& system) : ServiceFramework{"IBtmUserCore"} {
 | 
			
		||||
        // clang-format off
 | 
			
		||||
        static const FunctionInfo functions[] = {
 | 
			
		||||
            {0, &IBtmUserCore::AcquireBleScanEvent, "AcquireBleScanEvent"},
 | 
			
		||||
@@ -56,7 +56,7 @@ public:
 | 
			
		||||
        // clang-format on
 | 
			
		||||
        RegisterHandlers(functions);
 | 
			
		||||
 | 
			
		||||
        auto& kernel = Core::System::GetInstance().Kernel();
 | 
			
		||||
        auto& kernel = system.Kernel();
 | 
			
		||||
        scan_event = Kernel::WritableEvent::CreateEventPair(kernel, Kernel::ResetType::Automatic,
 | 
			
		||||
                                                            "IBtmUserCore:ScanEvent");
 | 
			
		||||
        connection_event = Kernel::WritableEvent::CreateEventPair(
 | 
			
		||||
@@ -108,7 +108,7 @@ private:
 | 
			
		||||
 | 
			
		||||
class BTM_USR final : public ServiceFramework<BTM_USR> {
 | 
			
		||||
public:
 | 
			
		||||
    explicit BTM_USR() : ServiceFramework{"btm:u"} {
 | 
			
		||||
    explicit BTM_USR(Core::System& system) : ServiceFramework{"btm:u"}, system(system) {
 | 
			
		||||
        // clang-format off
 | 
			
		||||
        static const FunctionInfo functions[] = {
 | 
			
		||||
            {0, &BTM_USR::GetCore, "GetCore"},
 | 
			
		||||
@@ -123,8 +123,10 @@ private:
 | 
			
		||||
 | 
			
		||||
        IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
			
		||||
        rb.Push(RESULT_SUCCESS);
 | 
			
		||||
        rb.PushIpcInterface<IBtmUserCore>();
 | 
			
		||||
        rb.PushIpcInterface<IBtmUserCore>(system);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Core::System& system;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class BTM final : public ServiceFramework<BTM> {
 | 
			
		||||
@@ -268,11 +270,11 @@ private:
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void InstallInterfaces(SM::ServiceManager& sm) {
 | 
			
		||||
void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) {
 | 
			
		||||
    std::make_shared<BTM>()->InstallAsService(sm);
 | 
			
		||||
    std::make_shared<BTM_DBG>()->InstallAsService(sm);
 | 
			
		||||
    std::make_shared<BTM_SYS>()->InstallAsService(sm);
 | 
			
		||||
    std::make_shared<BTM_USR>()->InstallAsService(sm);
 | 
			
		||||
    std::make_shared<BTM_USR>(system)->InstallAsService(sm);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Service::BTM
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,12 @@ namespace Service::SM {
 | 
			
		||||
class ServiceManager;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
class System;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
namespace Service::BTM {
 | 
			
		||||
 | 
			
		||||
void InstallInterfaces(SM::ServiceManager& sm);
 | 
			
		||||
void InstallInterfaces(SM::ServiceManager& sm, Core::System& system);
 | 
			
		||||
 | 
			
		||||
} // namespace Service::BTM
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user