|
|
|
@ -8,6 +8,8 @@
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <boost/serialization/export.hpp>
|
|
|
|
|
#include <boost/serialization/shared_ptr.hpp>
|
|
|
|
|
#include "common/common_types.h"
|
|
|
|
|
#include "common/file_util.h"
|
|
|
|
|
#include "core/file_sys/archive_backend.h"
|
|
|
|
@ -38,6 +40,8 @@ class IVFCDelayGenerator : public DelayGenerator {
|
|
|
|
|
static constexpr u64 IPCDelayNanoseconds(9438006);
|
|
|
|
|
return IPCDelayNanoseconds;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SERIALIZE_DELAY_GENERATOR
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class RomFSDelayGenerator : public DelayGenerator {
|
|
|
|
@ -60,6 +64,8 @@ public:
|
|
|
|
|
static constexpr u64 IPCDelayNanoseconds(9438006);
|
|
|
|
|
return IPCDelayNanoseconds;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SERIALIZE_DELAY_GENERATOR
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ExeFSDelayGenerator : public DelayGenerator {
|
|
|
|
@ -82,6 +88,8 @@ public:
|
|
|
|
|
static constexpr u64 IPCDelayNanoseconds(9438006);
|
|
|
|
|
return IPCDelayNanoseconds;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SERIALIZE_DELAY_GENERATOR
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -128,6 +136,15 @@ public:
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
std::shared_ptr<RomFSReader> romfs_file;
|
|
|
|
|
|
|
|
|
|
IVFCFile() = default;
|
|
|
|
|
|
|
|
|
|
template <class Archive>
|
|
|
|
|
void serialize(Archive& ar, const unsigned int) {
|
|
|
|
|
ar& boost::serialization::base_object<FileBackend>(*this);
|
|
|
|
|
ar& romfs_file;
|
|
|
|
|
}
|
|
|
|
|
friend class boost::serialization::access;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class IVFCDirectory : public DirectoryBackend {
|
|
|
|
@ -162,3 +179,8 @@ private:
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace FileSys
|
|
|
|
|
|
|
|
|
|
BOOST_CLASS_EXPORT_KEY(FileSys::IVFCFile)
|
|
|
|
|
BOOST_CLASS_EXPORT_KEY(FileSys::IVFCDelayGenerator)
|
|
|
|
|
BOOST_CLASS_EXPORT_KEY(FileSys::RomFSDelayGenerator)
|
|
|
|
|
BOOST_CLASS_EXPORT_KEY(FileSys::ExeFSDelayGenerator)
|
|
|
|
|