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();}
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);
246 operator const char * ()
const {
return m_data.get_ptr();}
void move_from(t_self &other)
void info(const char *p_message)
void add_items(const t_in &in)
__declspec(dllexport) foobar2000_client *_cdecl foobar2000_get_interface(foobar2000_api *p_api
Main interface class for information about some playable object.
t_size add_item(const service_ptr_t< metadb_handle > &item)
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