file_info_filter Class Reference

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(). More...

#include <metadb.h>

Inheritance diagram for file_info_filter:

service_base file_info_filter_impl

List of all members.

Public Types

typedef file_info_filter t_interface
typedef service_base t_interface_parent

Public Member Functions

virtual bool apply_filter (metadb_handle_ptr p_location, t_filestats p_stats, file_info &p_info)=0

Static Public Attributes

static const GUID class_guid = { 0x45d0b800, 0xde83, 0x4a77, { 0xad, 0x34, 0x3f, 0x84, 0x2d, 0x40, 0xe7, 0x95 } }


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().

Member Typedef Documentation

Reimplemented from service_base.


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.


Member Data Documentation

const GUID file_info_filter::class_guid = { 0x45d0b800, 0xde83, 0x4a77, { 0xad, 0x34, 0x3f, 0x84, 0x2d, 0x40, 0xe7, 0x95 } } [static]


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

Generated on Fri Apr 18 13:56:51 2008 for foobar2000 SDK by  doxygen 1.5.5