forked from eden-emu/eden
		
	lm: Move LM's class declaration into the cpp file
This isn't used directly outside of this translation unit, so we can hide it from external use.
This commit is contained in:
		
							parent
							
								
									6f4d3d8163
								
							
						
					
					
						commit
						91d86df920
					
				
					 2 changed files with 31 additions and 37 deletions
				
			
		|  | @ -4,10 +4,12 @@ | ||||||
| 
 | 
 | ||||||
| #include <sstream> | #include <sstream> | ||||||
| #include <string> | #include <string> | ||||||
|  | 
 | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "core/hle/ipc_helpers.h" | #include "core/hle/ipc_helpers.h" | ||||||
| #include "core/hle/kernel/client_session.h" |  | ||||||
| #include "core/hle/service/lm/lm.h" | #include "core/hle/service/lm/lm.h" | ||||||
|  | #include "core/hle/service/service.h" | ||||||
|  | #include "core/memory.h" | ||||||
| 
 | 
 | ||||||
| namespace Service::LM { | namespace Service::LM { | ||||||
| 
 | 
 | ||||||
|  | @ -21,8 +23,6 @@ public: | ||||||
|         RegisterHandlers(functions); |         RegisterHandlers(functions); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     ~Logger() = default; |  | ||||||
| 
 |  | ||||||
| private: | private: | ||||||
|     struct MessageHeader { |     struct MessageHeader { | ||||||
|         enum Flags : u32_le { |         enum Flags : u32_le { | ||||||
|  | @ -163,30 +163,33 @@ private: | ||||||
|     std::ostringstream log_stream; |     std::ostringstream log_stream; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | class LM final : public ServiceFramework<LM> { | ||||||
|  | public: | ||||||
|  |     explicit LM() : ServiceFramework{"lm"} { | ||||||
|  |         static const FunctionInfo functions[] = { | ||||||
|  |             {0x00000000, &LM::OpenLogger, "OpenLogger"}, | ||||||
|  |         }; | ||||||
|  |         RegisterHandlers(functions); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /**
 | ||||||
|  |      * LM::OpenLogger service function | ||||||
|  |      *  Inputs: | ||||||
|  |      *      0: 0x00000000 | ||||||
|  |      *  Outputs: | ||||||
|  |      *      0: ResultCode | ||||||
|  |      */ | ||||||
|  |     void OpenLogger(Kernel::HLERequestContext& ctx) { | ||||||
|  |         IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||||
|  |         rb.Push(RESULT_SUCCESS); | ||||||
|  |         rb.PushIpcInterface<Logger>(); | ||||||
|  | 
 | ||||||
|  |         LOG_DEBUG(Service_LM, "called"); | ||||||
|  |     } | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| void InstallInterfaces(SM::ServiceManager& service_manager) { | void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||||
|     std::make_shared<LM>()->InstallAsService(service_manager); |     std::make_shared<LM>()->InstallAsService(service_manager); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 |  | ||||||
|  * LM::OpenLogger service function |  | ||||||
|  *  Inputs: |  | ||||||
|  *      0: 0x00000000 |  | ||||||
|  *  Outputs: |  | ||||||
|  *      0: ResultCode |  | ||||||
|  */ |  | ||||||
| void LM::OpenLogger(Kernel::HLERequestContext& ctx) { |  | ||||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |  | ||||||
|     rb.Push(RESULT_SUCCESS); |  | ||||||
|     rb.PushIpcInterface<Logger>(); |  | ||||||
| 
 |  | ||||||
|     LOG_DEBUG(Service_LM, "called"); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| LM::LM() : ServiceFramework("lm") { |  | ||||||
|     static const FunctionInfo functions[] = { |  | ||||||
|         {0x00000000, &LM::OpenLogger, "OpenLogger"}, |  | ||||||
|     }; |  | ||||||
|     RegisterHandlers(functions); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| } // namespace Service::LM
 | } // namespace Service::LM
 | ||||||
|  |  | ||||||
|  | @ -4,21 +4,12 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <vector> | namespace Service::SM { | ||||||
| #include "core/hle/kernel/kernel.h" | class ServiceManager; | ||||||
| #include "core/hle/service/service.h" | } | ||||||
| 
 | 
 | ||||||
| namespace Service::LM { | namespace Service::LM { | ||||||
| 
 | 
 | ||||||
| class LM final : public ServiceFramework<LM> { |  | ||||||
| public: |  | ||||||
|     LM(); |  | ||||||
|     ~LM() = default; |  | ||||||
| 
 |  | ||||||
| private: |  | ||||||
|     void OpenLogger(Kernel::HLERequestContext& ctx); |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /// Registers all LM services with the specified service manager.
 | /// Registers all LM services with the specified service manager.
 | ||||||
| void InstallInterfaces(SM::ServiceManager& service_manager); | void InstallInterfaces(SM::ServiceManager& service_manager); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lioncash
						Lioncash