10 virtual t_filestats
const &
stats() = 0;
35 __declspec(deprecated)
virtual void metadb_lock() = 0;
37 __declspec(deprecated)
virtual void metadb_unlock() = 0;
40 virtual t_filestats get_filestats()
const = 0;
44 virtual bool is_info_loaded()
const = 0;
47 virtual bool get_info(
file_info & p_info)
const = 0;
54 virtual bool is_info_loaded_async()
const = 0;
57 virtual bool get_info_async(
file_info & p_info)
const = 0;
60 __declspec(deprecated)
virtual bool get_info_async_locked(
const file_info * & p_info)
const = 0;
70 #if FOOBAR2000_TARGET_VERSION >= 76 77 #if FOOBAR2000_TARGET_VERSION >= 78 78 virtual bool get_info_ref(metadb_info_container::ptr & outInfo)
const = 0;
88 virtual bool get_async_info_ref(metadb_info_container::ptr & outInfo)
const = 0;
94 virtual void get_browse_info_ref(metadb_info_container::ptr & outInfo, metadb_info_container::ptr & outBrowse)
const = 0;
97 virtual metadb_info_container::ptr get_info_ref()
const = 0;
99 virtual metadb_info_container::ptr get_async_info_ref()
const = 0;
104 metadb_info_container::ptr get_full_info_ref(
abort_callback & aborter )
const;
112 bool get_browse_info_merged(
file_info & infoMerged)
const;
115 static bool g_should_reload(
const t_filestats & p_old_stats,
const t_filestats & p_new_stats,
bool p_fresh);
116 bool should_reload(
const t_filestats & p_new_stats,
bool p_fresh)
const;
125 inline const char *
get_path()
const {
return get_location().get_path();}
206 const t_self &
operator=(
const t_self & p_source) {remove_all(); add_items(p_source);
return *
this;}
207 const t_self &
operator=(
const t_interface & p_source) {remove_all(); add_items(p_source);
return *
this;}
208 const t_self &
operator=(t_self && p_source) {move_from(p_source);
return *
this; }
215 t_self &
operator+=(
const t_interface & source) {add_items(source);
return *
this;}
216 t_self &
operator+=(
const metadb_handle_ptr & source) {add_item(source);
return *
this;}
224 void sorted_by_pointer_extract_difference(metadb_handle_list
const & p_list_1,metadb_handle_list
const & p_list_2,metadb_handle_list & p_list_1_specific,metadb_handle_list & p_list_2_specific);
230 return p_fmt << p_location->get_location();
232 return p_fmt <<
"[invalid location]";
239 p_item->format_title_legacy(NULL,m_data,p_script,NULL);
242 p_item->format_title(NULL,m_data,p_script,NULL);
245 const char *
get_ptr()
const {
return m_data.get_ptr();}
246 operator const char * ()
const {
return m_data.get_ptr();}
__declspec(dllexport) foobar2000_client *_cdecl foobar2000_get_interface(foobar2000_api *p_api
Main interface class for information about some playable object.
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
t_uint64 t_filetimestamp
Type used for file timestamp related variables. 64-bit value representing the number of 100-nanosecon...
t_uint64 t_filesize
Type used for file size related variables.
string8_t< pfc::alloc_fast_aggressive > string8_fastalloc