FileSys: Clean-up includes, de-inline destructors

master
Yuri Kunde Schlesner 2015-05-06 02:15:46 +07:00
parent c916bcf7b5
commit 6f89d25f90
7 changed files with 36 additions and 21 deletions

@ -5,22 +5,25 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include "common/common_types.h"
#include "common/string_util.h"
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h"
#include "common/logging/log.h"
#include "common/string_util.h"
#include "core/file_sys/file_backend.h" #include "core/hle/result.h"
#include "core/file_sys/directory_backend.h"
#include "core/mem_map.h" #include "core/mem_map.h"
#include "core/hle/kernel/kernel.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// FileSys namespace
namespace FileSys { namespace FileSys {
class FileBackend;
class DirectoryBackend;
// Path string type // Path string type
enum LowPathType : u32 { enum LowPathType : u32 {
Invalid = 0, Invalid = 0,

@ -8,6 +8,8 @@
#include "common/file_util.h" #include "common/file_util.h"
#include "core/file_sys/archive_backend.h" #include "core/file_sys/archive_backend.h"
#include "core/file_sys/directory_backend.h"
#include "core/file_sys/file_backend.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

@ -10,6 +10,8 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "core/file_sys/archive_backend.h" #include "core/file_sys/archive_backend.h"
#include "core/file_sys/directory_backend.h"
#include "core/file_sys/file_backend.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

@ -4,12 +4,13 @@
#include <algorithm> #include <algorithm>
#include "core/hle/service/fs/archive.h" #include "core/file_sys/file_backend.h"
#include "core/hle/service/service.h"
#include "core/hle/service/cfg/cfg.h" #include "core/hle/service/cfg/cfg.h"
#include "core/hle/service/cfg/cfg_i.h" #include "core/hle/service/cfg/cfg_i.h"
#include "core/hle/service/cfg/cfg_s.h" #include "core/hle/service/cfg/cfg_s.h"
#include "core/hle/service/cfg/cfg_u.h" #include "core/hle/service/cfg/cfg_u.h"
#include "core/hle/service/fs/archive.h"
#include "core/hle/service/service.h"
namespace Service { namespace Service {
namespace CFG { namespace CFG {

@ -78,6 +78,11 @@ enum class DirectoryCommand : u32 {
Close = 0x08020000, Close = 0x08020000,
}; };
File::File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path & path)
: path(path), priority(0), backend(std::move(backend)) {}
File::~File() {}
ResultVal<bool> File::SyncRequest() { ResultVal<bool> File::SyncRequest() {
u32* cmd_buff = Kernel::GetCommandBuffer(); u32* cmd_buff = Kernel::GetCommandBuffer();
FileCommand cmd = static_cast<FileCommand>(cmd_buff[0]); FileCommand cmd = static_cast<FileCommand>(cmd_buff[0]);
@ -172,6 +177,11 @@ ResultVal<bool> File::SyncRequest() {
return MakeResult<bool>(false); return MakeResult<bool>(false);
} }
Directory::Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, const FileSys::Path & path)
: path(path), backend(std::move(backend)) {}
Directory::~Directory() {}
ResultVal<bool> Directory::SyncRequest() { ResultVal<bool> Directory::SyncRequest() {
u32* cmd_buff = Kernel::GetCommandBuffer(); u32* cmd_buff = Kernel::GetCommandBuffer();
DirectoryCommand cmd = static_cast<DirectoryCommand>(cmd_buff[0]); DirectoryCommand cmd = static_cast<DirectoryCommand>(cmd_buff[0]);

@ -45,31 +45,27 @@ typedef u64 ArchiveHandle;
class File : public Kernel::Session { class File : public Kernel::Session {
public: public:
File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& path) File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& path);
: path(path), priority(0), backend(std::move(backend)) { ~File();
}
std::string GetName() const override { return "Path: " + path.DebugStr(); } std::string GetName() const override { return "Path: " + path.DebugStr(); }
ResultVal<bool> SyncRequest() override;
FileSys::Path path; ///< Path of the file FileSys::Path path; ///< Path of the file
u32 priority; ///< Priority of the file. TODO(Subv): Find out what this means u32 priority; ///< Priority of the file. TODO(Subv): Find out what this means
std::unique_ptr<FileSys::FileBackend> backend; ///< File backend interface std::unique_ptr<FileSys::FileBackend> backend; ///< File backend interface
ResultVal<bool> SyncRequest() override;
}; };
class Directory : public Kernel::Session { class Directory : public Kernel::Session {
public: public:
Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, const FileSys::Path& path) Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, const FileSys::Path& path);
: path(path), backend(std::move(backend)) { ~Directory();
}
std::string GetName() const override { return "Directory: " + path.DebugStr(); } std::string GetName() const override { return "Directory: " + path.DebugStr(); }
ResultVal<bool> SyncRequest() override;
FileSys::Path path; ///< Path of the directory FileSys::Path path; ///< Path of the directory
std::unique_ptr<FileSys::DirectoryBackend> backend; ///< File backend interface std::unique_ptr<FileSys::DirectoryBackend> backend; ///< File backend interface
ResultVal<bool> SyncRequest() override;
}; };
/** /**

@ -2,12 +2,13 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include "core/hle/service/service.h" #include "core/file_sys/file_backend.h"
#include "core/hle/service/fs/archive.h" #include "core/hle/service/fs/archive.h"
#include "core/hle/service/ptm/ptm.h" #include "core/hle/service/ptm/ptm.h"
#include "core/hle/service/ptm/ptm_play.h" #include "core/hle/service/ptm/ptm_play.h"
#include "core/hle/service/ptm/ptm_sysm.h" #include "core/hle/service/ptm/ptm_sysm.h"
#include "core/hle/service/ptm/ptm_u.h" #include "core/hle/service/ptm/ptm_u.h"
#include "core/hle/service/service.h"
namespace Service { namespace Service {
namespace PTM { namespace PTM {