foobar2000 SDK  2015-01-14
Data Structures | Namespaces | Typedefs | Functions | Variables
filesystem.h File Reference

Go to the source code of this file.

Data Structures

class  foobar2000_io::archive
 
class  foobar2000_io::archive_callback
 
class  foobar2000_io::archive_factory_t< T >
 
class  foobar2000_io::archive_impl
 
class  foobar2000_io::directory_callback
 
class  foobar2000_io::directory_callback_impl
 
struct  foobar2000_io::directory_callback_impl::t_entry
 
class  foobar2000_io::directory_callback_retrieveList< t_list >
 
class  foobar2000_io::directory_callback_retrieveListEx< t_list >
 
class  foobar2000_io::directory_callback_retrieveListRecur< t_list >
 
class  foobar2000_io::file
 
class  foobar2000_io::file_cached
 
class  foobar2000_io::file_dynamicinfo
 
class  foobar2000_io::file_readonly_t< t_base >
 
class  foobar2000_io::file_streamstub
 
class  foobar2000_io::filesystem
 
class  foobar2000_io::stream_reader
 
class  foobar2000_io::stream_writer
 
struct  foobar2000_io::t_filestats
 

Namespaces

 foobar2000_io
 

Typedefs

typedef service_ptr_t< filefoobar2000_io::file_ptr
 
typedef file_readonly_t< filefoobar2000_io::file_readonly
 
typedef t_uint64 foobar2000_io::t_filesize
 
typedef t_uint64 foobar2000_io::t_filetimestamp
 
typedef t_int64 foobar2000_io::t_sfilesize
 

Functions

bool foobar2000_io::_extract_native_path_ptr (const char *&p_fspath)
 
PFC_NORETURN void foobar2000_io::exception_io_from_win32 (DWORD p_code)
 
bool foobar2000_io::extract_native_path (const char *p_fspath, pfc::string_base &p_native)
 
bool foobar2000_io::extract_native_path_ex (const char *p_fspath, pfc::string_base &p_native)
 
file_ptr foobar2000_io::fileOpen (const char *p_path, filesystem::t_open_mode p_mode, abort_callback &p_abort, double p_timeout)
 
file_ptr foobar2000_io::fileOpenReadExisting (const char *p_path, abort_callback &p_abort, double p_timeout=0)
 
file_ptr foobar2000_io::fileOpenWriteExisting (const char *p_path, abort_callback &p_abort, double p_timeout=0)
 
file_ptr foobar2000_io::fileOpenWriteNew (const char *p_path, abort_callback &p_abort, double p_timeout=0)
 
t_filetimestamp foobar2000_io::filetimestamp_from_system_timer ()
 
void foobar2000_io::generate_temp_location_for_file (pfc::string_base &p_out, const char *p_origpath, const char *p_extension, const char *p_magic)
 
template<typename T >
pfc::string foobar2000_io::getPathCanonical (const T &source)
 
template<typename T >
pfc::string foobar2000_io::getPathDisplay (const T &source)
 
t_filetimestamp foobar2000_io::import_filetimestamp (FILETIME ft)
 
bool foobar2000_io::is_native_filesystem (const char *p_fspath)
 
template<typename t_list >
static void foobar2000_io::listDirectories (const char *p_path, t_list &p_out, abort_callback &p_abort)
 
template<typename t_list >
static void foobar2000_io::listFiles (const char *p_path, t_list &p_out, abort_callback &p_abort)
 
template<typename t_list >
static void foobar2000_io::listFilesAndDirectories (const char *p_path, t_list &p_files, t_list &p_directories, abort_callback &p_abort)
 
template<typename t_list >
static void foobar2000_io::listFilesRecur (const char *p_path, t_list &p_out, abort_callback &p_abort)
 
bool foobar2000_io::matchContentType (const char *fullString, const char *ourType)
 
bool foobar2000_io::matchProtocol (const char *fullString, const char *protocolName)
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io, pfc::exception,"I/O error")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_not_found, exception_io,"Object not found")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_denied, exception_io,"Access denied")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_denied_readonly, exception_io_denied,"File is read-only")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_data, exception_io,"Unsupported format or corrupted file")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_data_truncation, exception_io_data,"Unsupported format or corrupted file")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_unsupported_format, exception_io_data,"Unsupported file format")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_object_is_remote, exception_io,"This operation is not supported on remote objects")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_sharing_violation, exception_io,"File is already in use")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_device_full, exception_io,"Device full")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_seek_out_of_range, exception_io,"Seek offset out of range")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_object_not_seekable, exception_io,"Object is not seekable")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_no_length, exception_io,"Length of object is unknown")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_no_handler_for_path, exception_io,"Invalid path")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_already_exists, exception_io,"Object already exists")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_no_data, exception_io,"The process receiving or sending data has terminated")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_network_not_reachable, exception_io,"Network not reachable")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_write_protected, exception_io_denied,"The media is write protected")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_file_corrupted, exception_io,"The file is corrupted")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_disk_change, exception_io,"Disc not available")
 
 foobar2000_io::PFC_DECLARE_EXCEPTION (exception_io_directory_not_empty, exception_io,"Directory not empty")
 
void foobar2000_io::purgeOldFiles (const char *directory, t_filetimestamp period, abort_callback &abort)
 
void foobar2000_io::substituteProtocol (pfc::string_base &out, const char *fullString, const char *protocolName)
 
PFC_NORETURN void foobar2000_io::win32_file_write_failure (DWORD p_code, const char *path)
 

Variables

static const t_filesize foobar2000_io::filesize_invalid = (t_filesize)(~0)
 
static const t_filestats foobar2000_io::filestats_invalid = {filesize_invalid,filetimestamp_invalid}
 
static const t_filetimestamp foobar2000_io::filetimestamp_1second_increment = 10000000
 
const t_filetimestamp foobar2000_io::filetimestamp_invalid = 0