diff --git a/src/xenia/kernel/fs/devices/disc_image_file.cc b/src/xenia/kernel/fs/devices/disc_image_file.cc index 843285eb2..ced5d4014 100644 --- a/src/xenia/kernel/fs/devices/disc_image_file.cc +++ b/src/xenia/kernel/fs/devices/disc_image_file.cc @@ -28,6 +28,14 @@ DiscImageFile::DiscImageFile( DiscImageFile::~DiscImageFile() { } +const char* DiscImageFile::name(void) { + return entry_->name(); +} + +const char* DiscImageFile::path(void) { + return entry_->path(); +} + X_STATUS DiscImageFile::QueryInfo(XFileInfo* out_info) { return entry_->QueryInfo(out_info); } diff --git a/src/xenia/kernel/fs/devices/disc_image_file.h b/src/xenia/kernel/fs/devices/disc_image_file.h index e4da9df5e..c3217987e 100644 --- a/src/xenia/kernel/fs/devices/disc_image_file.h +++ b/src/xenia/kernel/fs/devices/disc_image_file.h @@ -29,6 +29,9 @@ public: DiscImageEntry* entry); virtual ~DiscImageFile(); + virtual const char* name(void); + virtual const char* path(void); + virtual X_STATUS QueryInfo(XFileInfo* out_info); virtual X_STATUS QueryDirectory(XDirectoryInfo* out_info, size_t length, bool restart); diff --git a/src/xenia/kernel/fs/devices/host_path_file.cc b/src/xenia/kernel/fs/devices/host_path_file.cc index 3a870ecbb..d09189e63 100644 --- a/src/xenia/kernel/fs/devices/host_path_file.cc +++ b/src/xenia/kernel/fs/devices/host_path_file.cc @@ -28,6 +28,14 @@ HostPathFile::~HostPathFile() { CloseHandle(file_handle_); } +const char* HostPathFile::name(void) { + return entry_->name(); +} + +const char* HostPathFile::path(void) { + return entry_->path(); +} + X_STATUS HostPathFile::QueryInfo(XFileInfo* out_info) { return entry_->QueryInfo(out_info); } diff --git a/src/xenia/kernel/fs/devices/host_path_file.h b/src/xenia/kernel/fs/devices/host_path_file.h index 2d5cda91c..cdbd5150d 100644 --- a/src/xenia/kernel/fs/devices/host_path_file.h +++ b/src/xenia/kernel/fs/devices/host_path_file.h @@ -29,6 +29,9 @@ public: HostPathEntry* entry, HANDLE file_handle); virtual ~HostPathFile(); + virtual const char* name(void); + virtual const char* path(void); + virtual X_STATUS QueryInfo(XFileInfo* out_info); virtual X_STATUS QueryDirectory(XDirectoryInfo* out_info, size_t length, bool restart); diff --git a/src/xenia/kernel/fs/devices/stfs_container_file.cc b/src/xenia/kernel/fs/devices/stfs_container_file.cc index 0b2433948..06e226a7c 100644 --- a/src/xenia/kernel/fs/devices/stfs_container_file.cc +++ b/src/xenia/kernel/fs/devices/stfs_container_file.cc @@ -28,6 +28,14 @@ STFSContainerFile::STFSContainerFile( STFSContainerFile::~STFSContainerFile() { } +const char* STFSContainerFile::name(void) { + return entry_->name(); +} + +const char* STFSContainerFile::path(void) { + return entry_->path(); +} + X_STATUS STFSContainerFile::QueryInfo(XFileInfo* out_info) { return entry_->QueryInfo(out_info); } diff --git a/src/xenia/kernel/fs/devices/stfs_container_file.h b/src/xenia/kernel/fs/devices/stfs_container_file.h index 9c71d4d00..147072891 100644 --- a/src/xenia/kernel/fs/devices/stfs_container_file.h +++ b/src/xenia/kernel/fs/devices/stfs_container_file.h @@ -29,6 +29,9 @@ public: STFSContainerEntry* entry); virtual ~STFSContainerFile(); + virtual const char* name(void); + virtual const char* path(void); + virtual X_STATUS QueryInfo(XFileInfo* out_info); virtual X_STATUS QueryDirectory(XDirectoryInfo* out_info, size_t length, bool restart); diff --git a/src/xenia/kernel/objects/xfile.h b/src/xenia/kernel/objects/xfile.h index da3f0a5d1..20941a04e 100644 --- a/src/xenia/kernel/objects/xfile.h +++ b/src/xenia/kernel/objects/xfile.h @@ -87,6 +87,9 @@ class XFile : public XObject { public: virtual ~XFile(); + virtual const char* name(void) = 0; + virtual const char* path(void) = 0; + size_t position() const { return position_; } void set_position(size_t value) { position_ = value; }