foobar2000 SDK  2015-01-14
Public Member Functions
file_info_filterabstract

#include <metadb.h>

+ Inheritance diagram for file_info_filter:

Public Member Functions

virtual bool apply_filter (metadb_handle_ptr p_location, t_filestats p_stats, file_info &p_info)=0
 
 FB2K_MAKE_SERVICE_INTERFACE (file_info_filter, service_base)
 
- Public Member Functions inherited from service_base
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 ()
 

Additional Inherited Members

- Public Types inherited from service_base
typedef service_base t_interface
 
- Protected Member Functions inherited from service_base
 service_base ()
 
 ~service_base ()
 

Detailed Description

Implementing this class gives you direct control over which part of file_info gets altered during a tag update uperation. To be used with metadb_io_v2::update_info_async().

Definition at line 66 of file metadb.h.

Member Function Documentation

virtual bool file_info_filter::apply_filter ( metadb_handle_ptr  p_location,
t_filestats  p_stats,
file_info p_info 
)
pure virtual

Alters specified file_info entry; called as a part of tag update process. Specified file_info has been read from a file, and will be written back.
WARNING: This will be typically called from another thread than main app thread (precisely, from thread created by tag updater). You should copy all relevant data to members of your file_info_filter instance in constructor and reference only member data in apply_filter() implementation.

Returns
True when you have altered file_info and changes need to be written back to the file; false if no changes have been made.

Implemented in file_info_filter_impl.

file_info_filter::FB2K_MAKE_SERVICE_INTERFACE ( file_info_filter  ,
service_base   
)

The documentation for this class was generated from the following file: