11 load_info_check_if_changed
27 __declspec(deprecated) virtual
bool is_busy() = 0;
29 __declspec(deprecated) virtual
bool is_updating_disabled() = 0;
31 __declspec(deprecated) virtual
bool is_file_updating_blocked() = 0;
33 __declspec(deprecated) virtual
void highlight_running_process() = 0;
62 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(
metadb_io);
85 virtual void add_hint(
metadb_handle_ptr const & p_location,
const file_info & p_info,
const t_filestats & p_stats,
bool p_freshflag) = 0;
89 virtual void on_done() = 0;
103 virtual void add_hint_v3(
metadb_handle_ptr const & p_location, metadb_info_container::ptr
info,
bool p_freshflag) = 0;
104 virtual void add_hint_browse_v3(
metadb_handle_ptr const & p_location,metadb_info_container::ptr info) = 0;
106 virtual void add_hint_forced(
metadb_handle_ptr const & p_location,
const file_info & p_info,
const t_filestats & p_stats,
bool p_freshflag) = 0;
107 virtual void add_hint_forced_v3(
metadb_handle_ptr const & p_location, metadb_info_container::ptr info,
bool p_freshflag) = 0;
118 op_flag_no_errors = 1 << 0,
120 op_flag_background = 1 << 1,
122 op_flag_delay_ui = 1 << 2,
127 op_flag_partial_info_aware = 1 << 3,
153 virtual metadb_hint_list::ptr create_hint_list() = 0;
220 virtual void database_lock()=0;
222 virtual void database_unlock()=0;
233 void handle_replace_path_canonical(
metadb_handle_ptr & p_out,
const char * p_new_path);
240 enum {case_sensitive =
true};
251 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(
metadb);
275 virtual t_uint32 get_field_count() = 0;
301 m_handles.set_count(order.get_size());
302 m_infos.set_size(order.get_size());
303 for(
t_size n = 0; n < order.get_size(); n++) {
304 m_handles[n] = p_list[order[n]];
305 m_infos[n] = *p_new_info[order[n]];
311 if (m_handles.bsearch_t(pfc::compare_t<metadb_handle_ptr,metadb_handle_ptr>,p_location,index)) {
312 p_info = m_infos[index];
336 metadb_info_container::ptr
info;
337 if (!h->get_info_ref(info))
return false;
338 out = transform(info->info(), h->get_location());
349 virtual void add(metadb_index_client::ptr client,
const GUID & index_id,
t_filetimestamp userDataRetentionPeriod) = 0;
350 virtual void remove(
const GUID & index_id) = 0;
351 virtual void set_user_data(
const GUID & index_id,
const metadb_index_hash & hash,
const void * data,
t_size dataSize) = 0;
352 virtual void get_user_data(
const GUID & index_id,
const metadb_index_hash & hash,
mem_block_container & out) = 0;
355 template<
typename t_array>
void get_user_data_t(
const GUID & index_id,
const metadb_index_hash & hash, t_array & out) {
357 get_user_data(index_id, hash, ref);
362 get_user_data(index_id, hash, ref);
370 dispatch_refresh(index_id, l);
373 virtual void dispatch_global_refresh() = 0;
384 virtual bool have_orphaned_data(
const GUID & index_id) = 0;
388 virtual void erase_orphaned_data(
const GUID & index_id) = 0;
392 virtual void save_index_data(
const GUID & index_id) = 0;
int SHARED_EXPORT stricmp_utf8_ex(const char *p1, t_size len1, const char *p2, t_size len2)
static void g_fill(t_int *p_order, const t_size p_count)
void info(const char *p_message)
Bit array interface class, constant version (you can only retrieve values). Range of valid indexes d...
int SHARED_EXPORT stricmp_utf8(const char *p1, const char *p2)
__declspec(dllexport) foobar2000_client *_cdecl foobar2000_get_interface(foobar2000_api *p_api
int strcmp_ex(const char *p1, t_size n1, const char *p2, t_size n2)
Main interface class for information about some playable object.
t_uint64 xorHalve() const
void set_size(t_size p_size)
virtual t_size get_count() const =0
Implementing this class gives you direct control over which part of file_info gets altered during a t...
int strcmp_nc(const char *p1, size_t n1, const char *p2, size_t n2)
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
pfc::array_t< file_info_impl > m_infos
file_info_filter_impl(const pfc::list_base_const_t< metadb_handle_ptr > &p_list, const pfc::list_base_const_t< const file_info * > &p_new_info)
t_uint64 t_filetimestamp
Type used for file timestamp related variables. 64-bit value representing the number of 100-nanosecon...
Autopointer class to be used with all services. Manages reference counter calls behind-the-scenes.
void sort_get_permutation_t(t_compare p_compare, t_permutation const &p_permutation) const
Generic interface for a memory block; used by various other interfaces to return memory blocks while ...
bool apply_filter(metadb_handle_ptr p_location, t_filestats p_stats, file_info &p_info)
Alters specified file_info entry; called as a part of tag update process. Specified file_info has bee...
Helper template used to easily access core services. Usage: static_api_ptr_t<myclass> api; api->doso...
metadb_handle_list m_handles
Helper implementation of file_info_filter_impl.