Serialize FS service; some compiler fixes
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <cinttypes>
|
||||
#include "common/archives.h"
|
||||
#include "common/assert.h"
|
||||
#include "common/common_types.h"
|
||||
#include "common/file_util.h"
|
||||
@@ -25,6 +26,10 @@
|
||||
#include "core/hle/service/fs/fs_user.h"
|
||||
#include "core/settings.h"
|
||||
|
||||
SERVICE_CONSTRUCT_IMPL(Service::FS::FS_USER)
|
||||
SERIALIZE_EXPORT_IMPL(Service::FS::FS_USER)
|
||||
SERIALIZE_EXPORT_IMPL(Service::FS::ClientSlot)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace FS_User
|
||||
|
||||
|
||||
@@ -22,6 +22,14 @@ struct ClientSlot : public Kernel::SessionRequestHandler::SessionDataBase {
|
||||
// behaviour is modified. Since we don't emulate fs:REG mechanism, we assume the program ID is
|
||||
// the same as codeset ID and fetch from there directly.
|
||||
u64 program_id = 0;
|
||||
|
||||
private:
|
||||
template <class Archive>
|
||||
void serialize(Archive& ar, const unsigned int)
|
||||
{
|
||||
ar & program_id;
|
||||
}
|
||||
friend class boost::serialization::access;
|
||||
};
|
||||
|
||||
class FS_USER final : public ServiceFramework<FS_USER, ClientSlot> {
|
||||
@@ -545,8 +553,20 @@ private:
|
||||
|
||||
Core::System& system;
|
||||
ArchiveManager& archives;
|
||||
|
||||
template <class Archive>
|
||||
void serialize(Archive& ar, const unsigned int)
|
||||
{
|
||||
ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
|
||||
ar & priority;
|
||||
}
|
||||
friend class boost::serialization::access;
|
||||
};
|
||||
|
||||
void InstallInterfaces(Core::System& system);
|
||||
|
||||
} // namespace Service::FS
|
||||
|
||||
SERVICE_CONSTRUCT(Service::FS::FS_USER)
|
||||
BOOST_CLASS_EXPORT_KEY(Service::FS::FS_USER)
|
||||
BOOST_CLASS_EXPORT_KEY(Service::FS::ClientSlot)
|
||||
|
||||
Reference in New Issue
Block a user