diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-10-29 23:31:07 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-11-03 15:15:42 -0800 |
| commit | f19d0833625c382c5d0a8868924cd4620335e659 (patch) | |
| tree | 9d4d67c3f845aa4f2596c6db94f9c883ab1dd696 /src/libstd/path | |
| parent | 9c1851019f1ef9511fa8731b8f1acb0796d1e97f (diff) | |
| download | rust-f19d0833625c382c5d0a8868924cd4620335e659.tar.gz rust-f19d0833625c382c5d0a8868924cd4620335e659.zip | |
Fill out the remaining functionality in io::file
This adds bindings to the remaining functions provided by libuv, all of which are useful operations on files which need to get exposed somehow. Some highlights: * Dropped `FileReader` and `FileWriter` and `FileStream` for one `File` type * Moved all file-related methods to be static methods under `File` * All directory related methods are still top-level functions * Created `io::FilePermission` types (backed by u32) that are what you'd expect * Created `io::FileType` and refactored `FileStat` to use FileType and FilePermission * Removed the expanding matrix of `FileMode` operations. The mode of reading a file will not have the O_CREAT flag, but a write mode will always have the O_CREAT flag. Closes #10130 Closes #10131 Closes #10121
Diffstat (limited to 'src/libstd/path')
| -rw-r--r-- | src/libstd/path/windows.rs | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index dfd654ac13c..8483b504c01 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -23,9 +23,6 @@ use to_bytes::IterBytes; use vec::Vector; use super::{contains_nul, BytesContainer, GenericPath, GenericPathUnsafe}; -#[cfg(target_os = "win32")] -use rt::io::{FileStat, file, io_error}; - /// Iterator that yields successive components of a Path as &str /// /// Each component is yielded as Option<&str> for compatibility with PosixPath, but @@ -1056,67 +1053,6 @@ fn prefix_is_sep(p: Option<PathPrefix>, c: u8) -> bool { else { is_sep_verbatim(c as char) } } -// Stat support -#[cfg(target_os = "win32")] -impl Path { - /// Calls stat() on the represented file and returns the resulting rt::io::FileStat - pub fn stat(&self) -> Option<FileStat> { - let mut file_stat: Option<FileStat> = None; - do io_error::cond.trap(|_| { /* Ignore error, will return None */ }).inside { - file_stat = file::stat(self); - } - file_stat - } - - /// Returns whether the represented file exists - pub fn exists(&self) -> bool { - match self.stat() { - None => false, - Some(_) => true - } - } - - /// Returns the filesize of the represented file - pub fn get_size(&self) -> Option<u64> { - match self.stat() { - None => None, - Some(st) => Some(st.size) - } - } - - /// Returns the mode of the represented file - pub fn get_mode(&self) -> Option<uint> { - match self.stat() { - None => None, - Some(st) => Some(st.mode as uint) - } - } - - /// Returns the atime of the represented file, as msecs - pub fn get_atime(&self) -> Option<u64> { - match self.stat() { - None => None, - Some(st) => Some(st.accessed) - } - } - - /// Returns the mtime of the represented file, as msecs - pub fn get_mtime(&self) -> Option<u64> { - match self.stat() { - None => None, - Some(st) => Some(st.modified) - } - } - - /// Returns the ctime of the represented file, as msecs - pub fn get_ctime(&self) -> Option<u64> { - match self.stat() { - None => None, - Some(st) => Some(st.created) - } - } -} - #[cfg(test)] mod tests { use super::*; |
