Added ERR service serialization

This commit is contained in:
Hamish Milne 2019-12-26 18:14:22 +00:00 committed by zhupengfei
parent 452ae2e371
commit 4354179156
3 changed files with 29 additions and 1 deletions

2
TODO
View File

@ -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

View File

@ -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 {

View File

@ -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);
}