foobar2000 SDK  2015-01-14
metadb_io_hintlist.h
Go to the documentation of this file.
1 
3 public:
4  void hint_reader(service_ptr_t<input_info_reader> p_reader, const char * p_path,abort_callback & p_abort);
5  void add(metadb_handle_ptr const & p_handle,const file_info & p_info,t_filestats const & p_stats,bool p_fresh);
6  void run();
7  t_size get_pending_count() const {return m_entries.get_count();}
8 private:
9  struct t_entry {
12  t_filestats m_stats;
13  bool m_fresh;
14  };
15  class metadb_io_hintlist_wrapper_part1 : public pfc::list_base_const_t<metadb_handle_ptr> {
16  public:
18  t_size get_count() const {return m_list.get_count();}
19  void get_item_ex(metadb_handle_ptr & p_out, t_size n) const {p_out = m_list[n].m_handle;}
20 
21  private:
23  };
24  class metadb_io_hintlist_wrapper_part2 : public pfc::list_base_const_t<const file_info*> {
25  public:
27  t_size get_count() const {return m_list.get_count();}
28  void get_item_ex(const file_info* & p_out, t_size n) const {p_out = &*m_list[n].m_info;}
29  private:
31  };
33  public:
35  t_size get_count() const {return m_list.get_count();}
36  void get_item_ex(t_filestats & p_out, t_size n) const {p_out = m_list[n].m_stats;}
37  private:
39  };
41  public:
43  bool get(t_size n) const {return m_list[n].m_fresh;}
44  private:
46  };
47 
49 };
50 
metadb_io_hintlist_wrapper_part3(const pfc::list_base_const_t< metadb_io_hintlist::t_entry > &p_list)
const pfc::list_base_const_t< metadb_io_hintlist::t_entry > & m_list
metadb_io_hintlist_wrapper_part2(const pfc::list_base_const_t< metadb_io_hintlist::t_entry > &p_list)
void get_item_ex(const file_info *&p_out, t_size n) const
Bit array interface class, constant version (you can only retrieve values). Range of valid indexes d...
Definition: bit_array.h:6
const pfc::list_base_const_t< metadb_io_hintlist::t_entry > & m_list
const pfc::list_base_const_t< metadb_io_hintlist::t_entry > & m_list
t_size get_pending_count() const
Main interface class for information about some playable object.
Definition: file_info.h:73
void get_item_ex(metadb_handle_ptr &p_out, t_size n) const
size_t t_size
Definition: int_types.h:48
virtual t_size get_count() const =0
pfc::rcptr_t< file_info_const_impl > m_info
void get_item_ex(t_filestats &p_out, t_size n) const
metadb_io_hintlist_wrapper_part4(const pfc::list_base_const_t< metadb_io_hintlist::t_entry > &p_list)
void add(metadb_handle_ptr const &p_handle, const file_info &p_info, t_filestats const &p_stats, bool p_fresh)
metadb_io_hintlist_wrapper_part1(const pfc::list_base_const_t< metadb_io_hintlist::t_entry > &p_list)
pfc::list_t< t_entry, pfc::alloc_fast > m_entries
void hint_reader(service_ptr_t< input_info_reader > p_reader, const char *p_path, abort_callback &p_abort)
const pfc::list_base_const_t< metadb_io_hintlist::t_entry > & m_list