filesystem.h File Reference

#include "filesystem_helper.h"

Go to the source code of this file.

Namespaces

namespace  foobar2000_io

Classes

struct  foobar2000_io::t_filestats
 Stores file stats (size and timestamp). More...
class  foobar2000_io::stream_reader
class  foobar2000_io::stream_writer
class  foobar2000_io::file
class  foobar2000_io::file_dynamicinfo
 Special hack for shoutcast metadata nonsense handling. Documentme. More...
class  foobar2000_io::file_readonly_t< t_base >
 Implementation helper - contains dummy implementations of methods that modify the file. More...
class  foobar2000_io::directory_callback
class  foobar2000_io::filesystem
class  foobar2000_io::directory_callback_impl
struct  foobar2000_io::directory_callback_impl::t_entry
class  foobar2000_io::archive_callback
class  foobar2000_io::archive
 Interface for archive reader services. When implementing, derive from archive_impl rather than from deriving from archive directly. More...
class  foobar2000_io::archive_impl
 Root class for archive implementations. Derive from this instead of from archive directly. More...
class  foobar2000_io::archive_factory_t< T >
class  foobar2000_io::format_filetimestamp
 Warning: this formats according to system timezone settings, created strings should be used for display only, never for storage. More...
class  foobar2000_io::directory_callback_retrieveList< t_list >
class  foobar2000_io::directory_callback_retrieveListEx< t_list >
class  foobar2000_io::directory_callback_retrieveListRecur< t_list >

Typedefs

typedef t_uint64 foobar2000_io::t_filesize
 Type used for file size related variables.
typedef t_int64 foobar2000_io::t_sfilesize
 Type used for file size related variables when signed value is needed.
typedef t_uint64 foobar2000_io::t_filetimestamp
 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.
typedef service_ptr_t< filefoobar2000_io::file_ptr
typedef file_readonly_t< filefoobar2000_io::file_readonly

Functions

 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_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,"Sharing violation")
 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.
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)
static file_ptr foobar2000_io::fileOpen (const char *p_path, filesystem::t_open_mode p_mode, abort_callback &p_abort, double p_timeout)
static file_ptr foobar2000_io::fileOpenReadExisting (const char *p_path, abort_callback &p_abort, double p_timeout=0)
static file_ptr foobar2000_io::fileOpenWriteExisting (const char *p_path, abort_callback &p_abort, double p_timeout=0)
static file_ptr foobar2000_io::fileOpenWriteNew (const char *p_path, abort_callback &p_abort, double p_timeout=0)
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::listDirectories (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::extract_native_path (const char *p_fspath, pfc::string_base &p_native)
bool foobar2000_io::_extract_native_path_ptr (const char *&p_fspath)
template<typename T>
pfc::string foobar2000_io::getPathDisplay (const T &source)
template<typename T>
pfc::string foobar2000_io::getPathCanonical (const T &source)

Variables

const t_filetimestamp foobar2000_io::filetimestamp_invalid = 0
 Invalid/unknown file timestamp constant. Also see: t_filetimestamp.
const t_filesize foobar2000_io::filesize_invalid = (t_filesize)(~0)
 Invalid/unknown file size constant. Also see: t_filesize.
static const t_filestats foobar2000_io::filestats_invalid = {filesize_invalid,filetimestamp_invalid}
 Invalid/unknown file stats constant. See: t_filestats.


Generated on Fri Apr 25 18:49:38 2008 for foobar2000 SDK by  doxygen 1.5.5