foobar2000 SDK
2015-08-03
|
Data Structures | |
class | abort_callback |
class | abort_callback_dummy |
class | abort_callback_impl |
class | archive |
class | archive_callback |
class | archive_factory_t |
class | archive_impl |
class | directory_callback |
class | directory_callback_impl |
class | directory_callback_retrieveList |
class | directory_callback_retrieveListEx |
class | directory_callback_retrieveListRecur |
class | file |
class | file_cached |
class | file_dynamicinfo |
class | file_readonly_t |
class | file_streamstub |
class | filesystem |
class | format_filetimestamp |
class | format_filetimestamp_utc |
class | stream_reader |
class | stream_writer |
struct | t_filestats |
Typedefs | |
typedef abort_callback_impl | abort_callback_dummy |
typedef pfc::eventHandle_t | abort_callback_event |
typedef service_ptr_t< file > | file_ptr |
typedef file_readonly_t< file > | file_readonly |
typedef std::function< void(const char *, t_filestats const &, bool) > | listDirectoryFunc_t |
typedef t_uint64 | t_filesize |
typedef t_uint64 | t_filetimestamp |
typedef t_int64 | t_sfilesize |
Functions | |
bool | _extract_native_path_ptr (const char *&p_fspath) |
PFC_NORETURN void | exception_io_from_win32 (DWORD p_code) |
bool | extract_native_path (const char *p_fspath, pfc::string_base &p_native) |
bool | extract_native_path_ex (const char *p_fspath, pfc::string_base &p_native) |
file_ptr | fileOpen (const char *p_path, filesystem::t_open_mode p_mode, abort_callback &p_abort, double p_timeout) |
file_ptr | fileOpenReadExisting (const char *p_path, abort_callback &p_abort, double p_timeout=0) |
file_ptr | fileOpenWriteExisting (const char *p_path, abort_callback &p_abort, double p_timeout=0) |
file_ptr | fileOpenWriteNew (const char *p_path, abort_callback &p_abort, double p_timeout=0) |
t_filetimestamp | filetimestamp_from_string (const char *date) |
t_filetimestamp | filetimestamp_from_system_timer () |
void | 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 | getPathCanonical (const T &source) |
template<typename T > | |
pfc::string | getPathDisplay (const T &source) |
t_filetimestamp | import_filetimestamp (FILETIME ft) |
bool | is_native_filesystem (const char *p_fspath) |
template<typename t_list > | |
static void | listDirectories (const char *p_path, t_list &p_out, abort_callback &p_abort) |
void | listDirectory (const char *path, abort_callback &aborter, listDirectoryFunc_t func) |
template<typename t_list > | |
static void | listFiles (const char *p_path, t_list &p_out, abort_callback &p_abort) |
template<typename t_list > | |
static void | listFilesAndDirectories (const char *p_path, t_list &p_files, t_list &p_directories, abort_callback &p_abort) |
template<typename t_list > | |
static void | listFilesRecur (const char *p_path, t_list &p_out, abort_callback &p_abort) |
bool | matchContentType (const char *fullString, const char *ourType) |
bool | matchProtocol (const char *fullString, const char *protocolName) |
PFC_DECLARE_EXCEPTION (exception_aborted, pfc::exception,"User abort") | |
PFC_DECLARE_EXCEPTION (exception_io, pfc::exception,"I/O error") | |
PFC_DECLARE_EXCEPTION (exception_io_not_found, exception_io,"Object not found") | |
PFC_DECLARE_EXCEPTION (exception_io_denied, exception_io,"Access denied") | |
PFC_DECLARE_EXCEPTION (exception_io_denied_readonly, exception_io_denied,"File is read-only") | |
PFC_DECLARE_EXCEPTION (exception_io_data, exception_io,"Unsupported format or corrupted file") | |
PFC_DECLARE_EXCEPTION (exception_io_data_truncation, exception_io_data,"Unsupported format or corrupted file") | |
PFC_DECLARE_EXCEPTION (exception_io_unsupported_format, exception_io_data,"Unsupported file format") | |
PFC_DECLARE_EXCEPTION (exception_io_object_is_remote, exception_io,"This operation is not supported on remote objects") | |
PFC_DECLARE_EXCEPTION (exception_io_sharing_violation, exception_io,"File is already in use") | |
PFC_DECLARE_EXCEPTION (exception_io_device_full, exception_io,"Device full") | |
PFC_DECLARE_EXCEPTION (exception_io_seek_out_of_range, exception_io,"Seek offset out of range") | |
PFC_DECLARE_EXCEPTION (exception_io_object_not_seekable, exception_io,"Object is not seekable") | |
PFC_DECLARE_EXCEPTION (exception_io_no_length, exception_io,"Length of object is unknown") | |
PFC_DECLARE_EXCEPTION (exception_io_no_handler_for_path, exception_io,"Invalid path") | |
PFC_DECLARE_EXCEPTION (exception_io_already_exists, exception_io,"Object already exists") | |
PFC_DECLARE_EXCEPTION (exception_io_no_data, exception_io,"The process receiving or sending data has terminated") | |
PFC_DECLARE_EXCEPTION (exception_io_network_not_reachable, exception_io,"Network not reachable") | |
PFC_DECLARE_EXCEPTION (exception_io_write_protected, exception_io_denied,"The media is write protected") | |
PFC_DECLARE_EXCEPTION (exception_io_file_corrupted, exception_io,"The file is corrupted") | |
PFC_DECLARE_EXCEPTION (exception_io_disk_change, exception_io,"Disc not available") | |
PFC_DECLARE_EXCEPTION (exception_io_directory_not_empty, exception_io,"Directory not empty") | |
PFC_DECLARE_EXCEPTION (exception_io_net, exception_io,"Connection error") | |
PFC_DECLARE_EXCEPTION (exception_io_dns, exception_io_net,"DNS error") | |
void | purgeOldFiles (const char *directory, t_filetimestamp period, abort_callback &abort) |
void | substituteProtocol (pfc::string_base &out, const char *fullString, const char *protocolName) |
PFC_NORETURN void | win32_file_write_failure (DWORD p_code, const char *path) |
Variables | |
static const t_filesize | filesize_invalid = (t_filesize)(~0) |
static const t_filestats | filestats_invalid = {filesize_invalid,filetimestamp_invalid} |
static const t_filetimestamp | filetimestamp_1second_increment = 10000000 |
const t_filetimestamp | filetimestamp_invalid = 0 |
Contains various I/O related structures and interfaces.
Definition at line 87 of file abort_callback.h.
Definition at line 8 of file abort_callback.h.
typedef service_ptr_t<file> foobar2000_io::file_ptr |
Definition at line 324 of file filesystem.h.
Definition at line 357 of file filesystem.h.
typedef std::function< void (const char *, t_filestats const & , bool ) > foobar2000_io::listDirectoryFunc_t |
Definition at line 4 of file filesystem_helper.h.
typedef t_uint64 foobar2000_io::t_filesize |
Type used for file size related variables.
Definition at line 8 of file filesystem.h.
Type used for file timestamp related variables. 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601; 0 for invalid/unknown time.
Definition at line 12 of file filesystem.h.
typedef t_int64 foobar2000_io::t_sfilesize |
Type used for file size related variables when a signed value is needed.
Definition at line 10 of file filesystem.h.
bool foobar2000_io::_extract_native_path_ptr | ( | const char *& | p_fspath | ) |
Definition at line 942 of file filesystem.cpp.
PFC_NORETURN void foobar2000_io::exception_io_from_win32 | ( | DWORD | p_code | ) |
Definition at line 773 of file filesystem.cpp.
bool foobar2000_io::extract_native_path | ( | const char * | p_fspath, |
pfc::string_base & | p_native | ||
) |
Definition at line 948 of file filesystem.cpp.
bool foobar2000_io::extract_native_path_ex | ( | const char * | p_fspath, |
pfc::string_base & | p_native | ||
) |
Definition at line 954 of file filesystem.cpp.
|
inline |
Definition at line 576 of file filesystem.h.
|
inline |
Definition at line 580 of file filesystem.h.
|
inline |
Definition at line 583 of file filesystem.h.
|
inline |
Definition at line 586 of file filesystem.h.
t_filetimestamp foobar2000_io::filetimestamp_from_string | ( | const char * | date | ) |
Definition at line 27 of file filetimetools.cpp.
t_filetimestamp foobar2000_io::filetimestamp_from_system_timer | ( | ) |
Definition at line 684 of file filesystem.cpp.
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 | ||
) |
Definition at line 892 of file filesystem.cpp.
pfc::string foobar2000_io::getPathCanonical | ( | const T & | source | ) |
Definition at line 668 of file filesystem.h.
pfc::string foobar2000_io::getPathDisplay | ( | const T & | source | ) |
Definition at line 662 of file filesystem.h.
|
inline |
Definition at line 568 of file filesystem.h.
bool foobar2000_io::is_native_filesystem | ( | const char * | p_fspath | ) |
Definition at line 938 of file filesystem.cpp.
|
static |
Definition at line 641 of file filesystem.h.
void foobar2000_io::listDirectory | ( | const char * | path, |
abort_callback & | aborter, | ||
listDirectoryFunc_t | func | ||
) |
Definition at line 218 of file filesystem_helper.cpp.
|
static |
Definition at line 636 of file filesystem.h.
|
static |
Definition at line 646 of file filesystem.h.
|
static |
Definition at line 651 of file filesystem.h.
bool foobar2000_io::matchContentType | ( | const char * | fullString, |
const char * | ourType | ||
) |
Definition at line 1059 of file filesystem.cpp.
bool foobar2000_io::matchProtocol | ( | const char * | fullString, |
const char * | protocolName | ||
) |
Definition at line 1066 of file filesystem.cpp.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_aborted | , |
pfc::exception | , | ||
"User abort" | |||
) |
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io | , |
pfc::exception | , | ||
"I/O error" | |||
) |
Generic I/O error. Root class for I/O failure exception. See relevant default message for description of each derived exception class.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_not_found | , |
exception_io | , | ||
"Object not found" | |||
) |
Object not found.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_denied | , |
exception_io | , | ||
"Access denied" | |||
) |
Access denied.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_denied_readonly | , |
exception_io_denied | , | ||
"File is read-only" | |||
) |
Access denied.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_data | , |
exception_io | , | ||
"Unsupported format or corrupted file" | |||
) |
Unsupported format or corrupted file (unexpected data encountered).
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_data_truncation | , |
exception_io_data | , | ||
"Unsupported format or corrupted file" | |||
) |
Unsupported format or corrupted file (truncation encountered).
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_unsupported_format | , |
exception_io_data | , | ||
"Unsupported file format" | |||
) |
Unsupported format (a subclass of "unsupported format or corrupted file" exception).
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_object_is_remote | , |
exception_io | , | ||
"This operation is not supported on remote objects" | |||
) |
Object is remote, while specific operation is supported only for local objects.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_sharing_violation | , |
exception_io | , | ||
"File is already in use" | |||
) |
Sharing violation.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_device_full | , |
exception_io | , | ||
"Device full" | |||
) |
Device full.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_seek_out_of_range | , |
exception_io | , | ||
"Seek offset out of range" | |||
) |
Attempt to seek outside valid range.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_object_not_seekable | , |
exception_io | , | ||
"Object is not seekable" | |||
) |
This operation requires a seekable object.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_no_length | , |
exception_io | , | ||
"Length of object is unknown" | |||
) |
This operation requires an object with known length.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_no_handler_for_path | , |
exception_io | , | ||
"Invalid path" | |||
) |
Invalid path.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_already_exists | , |
exception_io | , | ||
"Object already exists" | |||
) |
Object already exists.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_no_data | , |
exception_io | , | ||
"The process receiving or sending data has terminated" | |||
) |
Pipe error.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_network_not_reachable | , |
exception_io | , | ||
"Network not reachable" | |||
) |
Network not reachable.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_write_protected | , |
exception_io_denied | , | ||
"The media is write protected" | |||
) |
Media is write protected.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_file_corrupted | , |
exception_io | , | ||
"The file is corrupted" | |||
) |
File is corrupted. This indicates filesystem call failure, not actual invalid data being read by the app.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_disk_change | , |
exception_io | , | ||
"Disc not available" | |||
) |
The disc required for requested operation is not available.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_directory_not_empty | , |
exception_io | , | ||
"Directory not empty" | |||
) |
The directory is not empty.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_net | , |
exception_io | , | ||
"Connection error" | |||
) |
A network connectivity error.
foobar2000_io::PFC_DECLARE_EXCEPTION | ( | exception_io_dns | , |
exception_io_net | , | ||
"DNS error" | |||
) |
A network connectivity error, specifically a DNS query failure.
void foobar2000_io::purgeOldFiles | ( | const char * | directory, |
t_filetimestamp | period, | ||
abort_callback & | abort | ||
) |
Definition at line 1007 of file filesystem.cpp.
void foobar2000_io::substituteProtocol | ( | pfc::string_base & | out, |
const char * | fullString, | ||
const char * | protocolName | ||
) |
Definition at line 1071 of file filesystem.cpp.
PFC_NORETURN void foobar2000_io::win32_file_write_failure | ( | DWORD | p_code, |
const char * | path | ||
) |
Definition at line 765 of file filesystem.cpp.
|
static |
Invalid/unknown file size constant. Also see: t_filesize.
Definition at line 16 of file filesystem.h.
|
static |
Invalid/unknown file stats constant. See: t_filestats.
Definition at line 80 of file filesystem.h.
|
static |
Definition at line 18 of file filesystem.h.
const t_filetimestamp foobar2000_io::filetimestamp_invalid = 0 |
Invalid/unknown file timestamp constant. Also see: t_filetimestamp.
Definition at line 14 of file filesystem.h.