mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Added ERR service serialization
This commit is contained in:
		
							parent
							
								
									452ae2e371
								
							
						
					
					
						commit
						4354179156
					
				
					 3 changed files with 29 additions and 1 deletions
				
			
		
							
								
								
									
										2
									
								
								TODO
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								TODO
									
										
									
									
									
								
							|  | @ -76,7 +76,7 @@ | ||||||
|         ✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s) |         ✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s) | ||||||
|         ✔ DLP @done(19-12-26 18:02) |         ✔ DLP @done(19-12-26 18:02) | ||||||
|         ✔ DSP @done(19-12-26 18:10) |         ✔ DSP @done(19-12-26 18:10) | ||||||
|         ☐ ERR |         ✔ ERR @done(19-12-26 18:14) | ||||||
|         ☐ FRD |         ☐ FRD | ||||||
|         ☐ FS |         ☐ FS | ||||||
|         ☐ GSP |         ☐ GSP | ||||||
|  |  | ||||||
|  | @ -6,6 +6,7 @@ | ||||||
| #include <chrono> | #include <chrono> | ||||||
| #include <iomanip> | #include <iomanip> | ||||||
| #include <sstream> | #include <sstream> | ||||||
|  | #include "common/archives.h" | ||||||
| #include "common/bit_field.h" | #include "common/bit_field.h" | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
|  | @ -16,6 +17,19 @@ | ||||||
| #include "core/hle/service/err_f.h" | #include "core/hle/service/err_f.h" | ||||||
| #undef exception_info | #undef exception_info | ||||||
| 
 | 
 | ||||||
|  | SERIALIZE_EXPORT_IMPL(Service::ERR::ERR_F) | ||||||
|  | 
 | ||||||
|  | namespace boost::serialization { | ||||||
|  |     template <class Archive> | ||||||
|  |     void load_construct_data(Archive& ar, Service::ERR::ERR_F* t, const unsigned int) | ||||||
|  |     { | ||||||
|  |         ::new(t)Service::ERR::ERR_F(Core::Global<Core::System>()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     template | ||||||
|  |     void load_construct_data<iarchive>(iarchive& ar, Service::ERR::ERR_F* t, const unsigned int); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| namespace Service::ERR { | namespace Service::ERR { | ||||||
| 
 | 
 | ||||||
| enum class FatalErrType : u32 { | enum class FatalErrType : u32 { | ||||||
|  |  | ||||||
|  | @ -34,8 +34,22 @@ private: | ||||||
|     void ThrowFatalError(Kernel::HLERequestContext& ctx); |     void ThrowFatalError(Kernel::HLERequestContext& ctx); | ||||||
| 
 | 
 | ||||||
|     Core::System& system; |     Core::System& system; | ||||||
|  | 
 | ||||||
|  |     template <class Archive> | ||||||
|  |     void serialize(Archive& ar, const unsigned int) | ||||||
|  |     { | ||||||
|  |         ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this); | ||||||
|  |     } | ||||||
|  |     friend class boost::serialization::access; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| void InstallInterfaces(Core::System& system); | void InstallInterfaces(Core::System& system); | ||||||
| 
 | 
 | ||||||
| } // namespace Service::ERR
 | } // namespace Service::ERR
 | ||||||
|  | 
 | ||||||
|  | BOOST_CLASS_EXPORT_KEY(Service::ERR::ERR_F) | ||||||
|  | 
 | ||||||
|  | namespace boost::serialization { | ||||||
|  |     template <class Archive> | ||||||
|  |     void load_construct_data(Archive& ar, Service::ERR::ERR_F* t, const unsigned int); | ||||||
|  | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue