foobar2000 SDK
2015-01-14
|
#include <input.h>
Public Types | |
enum | { flag_redirect = 1, flag_parallel_reads_slow = 2 } |
![]() | |
typedef service_base | t_interface |
Public Member Functions | |
bool | are_parallel_reads_slow () |
FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT (input_entry) | |
virtual void | get_extended_data (service_ptr_t< file > p_filehint, const playable_location &p_location, const GUID &p_guid, mem_block_container &p_out, abort_callback &p_abort)=0 |
virtual unsigned | get_flags ()=0 |
virtual bool | is_our_content_type (const char *p_type)=0 |
virtual bool | is_our_path (const char *p_full_path, const char *p_extension)=0 |
bool | is_redirect () |
void | open (service_ptr_t< input_decoder > &p_instance, service_ptr_t< file > const &p_filehint, const char *p_path, abort_callback &p_abort) |
void | open (service_ptr_t< input_info_reader > &p_instance, service_ptr_t< file > const &p_filehint, const char *p_path, abort_callback &p_abort) |
void | open (service_ptr_t< input_info_writer > &p_instance, service_ptr_t< file > const &p_filehint, const char *p_path, abort_callback &p_abort) |
virtual void | open_for_decoding (service_ptr_t< input_decoder > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort)=0 |
virtual void | open_for_info_read (service_ptr_t< input_info_reader > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort)=0 |
virtual void | open_for_info_write (service_ptr_t< input_info_writer > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort)=0 |
![]() | |
template<typename outPtr_t > | |
bool | cast (outPtr_t &outPtr) |
virtual int | service_add_ref ()=0 throw () |
virtual bool | service_query (service_ptr_t< service_base > &p_out, const GUID &p_guid) |
template<class T > | |
bool | service_query_t (service_ptr_t< T > &p_out) |
virtual int | service_release ()=0 throw () |
Static Public Member Functions | |
static bool | g_find_service_by_content_type (service_ptr_t< input_entry > &p_out, const char *p_content_type) |
static bool | g_find_service_by_path (service_ptr_t< input_entry > &p_out, const char *p_path) |
static bool | g_find_service_by_path (service_ptr_t< input_entry > &p_out, const char *p_path, const char *p_ext) |
static bool | g_is_supported_path (const char *p_path) |
static void | g_open_for_decoding (service_ptr_t< input_decoder > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort, bool p_from_redirect=false) |
static void | g_open_for_info_read (service_ptr_t< input_info_reader > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort, bool p_from_redirect=false) |
static void | g_open_for_info_write (service_ptr_t< input_info_writer > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort, bool p_from_redirect=false) |
static void | g_open_for_info_write_timeout (service_ptr_t< input_info_writer > &p_instance, service_ptr_t< file > p_filehint, const char *p_path, abort_callback &p_abort, double p_timeout, bool p_from_redirect=false) |
Additional Inherited Members | |
![]() | |
service_base () | |
~service_base () | |
anonymous enum |
Definition at line 183 of file input.h.
|
inline |
Definition at line 193 of file input.h.
input_entry::FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT | ( | input_entry | ) |
|
static |
Definition at line 24 of file input.cpp.
|
static |
Definition at line 3 of file input.cpp.
|
static |
Definition at line 9 of file input.cpp.
|
static |
Definition at line 217 of file input.cpp.
|
static |
Definition at line 160 of file input.cpp.
|
static |
Definition at line 175 of file input.cpp.
|
static |
Definition at line 189 of file input.cpp.
|
static |
Definition at line 203 of file input.cpp.
|
pure virtual |
Reserved for future use. Do nothing and return until specifications are finalized.
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.
|
pure virtual |
See flag_* enums.
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.
|
pure virtual |
Determines whether specified content type can be handled by this input.
p_type | Content type string to test. |
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.
|
pure virtual |
Determines whether specified file type can be handled by this input. This must not use any kind of file access; the result should be only based on file path / extension.
p_full_path | Full URL of file being tested. |
p_extension | Extension of file being tested, provided by caller for performance reasons. |
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.
|
inline |
Definition at line 192 of file input.h.
|
inline |
|
inline |
|
inline |
|
pure virtual |
Opens specified resource for decoding.
p_instance | Receives new input_decoder instance if successful. |
p_filehint | Optional; passes file object to use for the operation; if set to null, the service will handle opening file by itself. Note that not all inputs operate on physical files that can be reached through filesystem API, some of them require this parameter to be set to null (tone and silence generators for an example). |
p_path | URL of resource being opened. |
p_abort | abort_callback object signaling user aborting the operation. |
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.
|
pure virtual |
Opens specified file for reading info.
p_instance | Receives new input_info_reader instance if successful. |
p_filehint | Optional; passes file object to use for the operation; if set to null, the service will handle opening file by itself. Note that not all inputs operate on physical files that can be reached through filesystem API, some of them require this parameter to be set to null (tone and silence generators for an example). |
p_path | URL of resource being opened. |
p_abort | abort_callback object signaling user aborting the operation. |
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.
|
pure virtual |
Opens specified file for writing info.
p_instance | Receives new input_info_writer instance if successful. |
p_filehint | Optional; passes file object to use for the operation; if set to null, the service will handle opening file by itself. Note that not all inputs operate on physical files that can be reached through filesystem API, some of them require this parameter to be set to null (tone and silence generators for an example). |
p_path | URL of resource being opened. |
p_abort | abort_callback object signaling user aborting the operation. |
Implemented in input_entry_impl_t< I, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter >, input_entry_impl_t< T, 0 >, input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 >, and input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer >.