diff --git a/TODO b/TODO index e485f33a70..27f720dca2 100644 --- a/TODO +++ b/TODO @@ -74,7 +74,7 @@ ☐ CFG Also needs archive backend.. ✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s) - ☐ DLP + ✔ DLP @done(19-12-26 18:02) ☐ DSP ☐ ERR ☐ FRD diff --git a/src/core/hle/service/dlp/dlp_clnt.cpp b/src/core/hle/service/dlp/dlp_clnt.cpp index 63308f57e2..df5b755e1d 100644 --- a/src/core/hle/service/dlp/dlp_clnt.cpp +++ b/src/core/hle/service/dlp/dlp_clnt.cpp @@ -4,6 +4,9 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/service/dlp/dlp_clnt.h" +#include "common/archives.h" + +SERIALIZE_EXPORT_IMPL(Service::DLP::DLP_CLNT) namespace Service::DLP { diff --git a/src/core/hle/service/dlp/dlp_clnt.h b/src/core/hle/service/dlp/dlp_clnt.h index db506b985e..3f90208639 100644 --- a/src/core/hle/service/dlp/dlp_clnt.h +++ b/src/core/hle/service/dlp/dlp_clnt.h @@ -12,6 +12,15 @@ class DLP_CLNT final : public ServiceFramework { public: DLP_CLNT(); ~DLP_CLNT() = default; +private: + template + void serialize(Archive& ar, const unsigned int) + { + ar & boost::serialization::base_object(*this); + } + friend class boost::serialization::access; }; } // namespace Service::DLP + +BOOST_CLASS_EXPORT_KEY(Service::DLP::DLP_CLNT) diff --git a/src/core/hle/service/dlp/dlp_fkcl.cpp b/src/core/hle/service/dlp/dlp_fkcl.cpp index 30a98c4bf1..607c211d47 100644 --- a/src/core/hle/service/dlp/dlp_fkcl.cpp +++ b/src/core/hle/service/dlp/dlp_fkcl.cpp @@ -4,6 +4,9 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/service/dlp/dlp_fkcl.h" +#include "common/archives.h" + +SERIALIZE_EXPORT_IMPL(Service::DLP::DLP_FKCL) namespace Service::DLP { diff --git a/src/core/hle/service/dlp/dlp_fkcl.h b/src/core/hle/service/dlp/dlp_fkcl.h index a3b2ac86de..ae26b62209 100644 --- a/src/core/hle/service/dlp/dlp_fkcl.h +++ b/src/core/hle/service/dlp/dlp_fkcl.h @@ -12,6 +12,15 @@ class DLP_FKCL final : public ServiceFramework { public: DLP_FKCL(); ~DLP_FKCL() = default; +private: + template + void serialize(Archive& ar, const unsigned int) + { + ar & boost::serialization::base_object(*this); + } + friend class boost::serialization::access; }; } // namespace Service::DLP + +BOOST_CLASS_EXPORT_KEY(Service::DLP::DLP_FKCL) diff --git a/src/core/hle/service/dlp/dlp_srvr.cpp b/src/core/hle/service/dlp/dlp_srvr.cpp index 9d74059416..0cff2e2bc7 100644 --- a/src/core/hle/service/dlp/dlp_srvr.cpp +++ b/src/core/hle/service/dlp/dlp_srvr.cpp @@ -7,6 +7,9 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/result.h" #include "core/hle/service/dlp/dlp_srvr.h" +#include "common/archives.h" + +SERIALIZE_EXPORT_IMPL(Service::DLP::DLP_SRVR) namespace Service::DLP { diff --git a/src/core/hle/service/dlp/dlp_srvr.h b/src/core/hle/service/dlp/dlp_srvr.h index 50d8d92b25..6af350c8ed 100644 --- a/src/core/hle/service/dlp/dlp_srvr.h +++ b/src/core/hle/service/dlp/dlp_srvr.h @@ -15,6 +15,15 @@ public: private: void IsChild(Kernel::HLERequestContext& ctx); + + template + void serialize(Archive& ar, const unsigned int) + { + ar & boost::serialization::base_object(*this); + } + friend class boost::serialization::access; }; } // namespace Service::DLP + +BOOST_CLASS_EXPORT_KEY(Service::DLP::DLP_SRVR)