foobar2000 SDK  2015-01-14
Public Member Functions
playlist_incoming_item_filterabstract

#include <playlist.h>

+ Inheritance diagram for playlist_incoming_item_filter:

Public Member Functions

virtual interface IDataObjectcreate_dataobject (const pfc::list_base_const_t< metadb_handle_ptr > &p_data)=0
 
pfc::com_ptr_t< interface IDataObjectcreate_dataobject_ex (metadb_handle_list_cref data)
 
 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT (playlist_incoming_item_filter)
 
virtual bool filter_items (metadb_handle_list_cref in, metadb_handle_list_ref out)=0
 
virtual bool process_dropped_files (interface IDataObject *pDataObject, pfc::list_base_t< metadb_handle_ptr > &p_out, bool p_filter, HWND p_parentwnd)=0
 
virtual bool process_dropped_files_check (interface IDataObject *pDataObject)=0
 
virtual bool process_dropped_files_check_ex (interface IDataObject *pDataObject, DWORD *p_effect)=0
 
virtual bool process_dropped_files_check_if_native (interface IDataObject *pDataObject)=0
 
virtual bool process_dropped_files_delayed (dropped_files_data &p_out, interface IDataObject *pDataObject)=0
 
bool process_location (const char *url, pfc::list_base_t< metadb_handle_ptr > &out, bool filter, const char *p_mask, const char *p_exclude, HWND p_parentwnd)
 
virtual bool process_locations (const pfc::list_base_const_t< const char * > &p_urls, pfc::list_base_t< metadb_handle_ptr > &p_out, bool p_filter, const char *p_restrict_mask_override, const char *p_exclude_mask_override, HWND p_parentwnd)=0
 
- 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

Definition at line 722 of file playlist.h.

Member Function Documentation

virtual interface IDataObject* playlist_incoming_item_filter::create_dataobject ( const pfc::list_base_const_t< metadb_handle_ptr > &  p_data)
pure virtual

Creates an IDataObject from specified metadb_handle list. The caller is responsible for releasing the returned object. It is recommended that you use create_dataobject_ex() to get an autopointer that ensures proper deletion.

pfc::com_ptr_t< interface IDataObject > playlist_incoming_item_filter::create_dataobject_ex ( metadb_handle_list_cref  data)

Helper - returns a pfc::com_ptr_t<> rather than a raw pointer.

Definition at line 854 of file playlist.cpp.

854  {
855  pfc::com_ptr_t<interface IDataObject> temp; temp.attach( create_dataobject(data) ); PFC_ASSERT( temp.is_valid() ); return temp;
856 }
virtual interface IDataObject * create_dataobject(const pfc::list_base_const_t< metadb_handle_ptr > &p_data)=0
Creates an IDataObject from specified metadb_handle list. The caller is responsible for releasing the...
void attach(T *p_ptr)
Definition: com_ptr_t.h:31
bool is_valid() const
Definition: com_ptr_t.h:61
playlist_incoming_item_filter::FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT ( playlist_incoming_item_filter  )
virtual bool playlist_incoming_item_filter::filter_items ( metadb_handle_list_cref  in,
metadb_handle_list_ref  out 
)
pure virtual

Pre-sorts incoming items according to user-configured settings, removes duplicates.
.

Parameters
inItems to process.
outReceives processed item list.
NOTE: because of an implementation bug in pre-0.9.5, the output list should be emptied before calling filter_items(), otherwise the results will be inconsistent/unpredictable.
Returns
True when there's one or more item in the output list, false when the output list is empty.
virtual bool playlist_incoming_item_filter::process_dropped_files ( interface IDataObject pDataObject,
pfc::list_base_t< metadb_handle_ptr > &  p_out,
bool  p_filter,
HWND  p_parentwnd 
)
pure virtual

Converts an IDataObject to a list of metadb_handles. Using this function is strongly disrecommended as it implies blocking the drag&drop source app (as well as our app).
.

Returns
True on success, false on user abort or unknown data format.
Deprecated:
Use playlist_incoming_item_filter_v2::process_dropped_files_async() when possible.
virtual bool playlist_incoming_item_filter::process_dropped_files_check ( interface IDataObject pDataObject)
pure virtual

Checks whether IDataObject contains one of known data formats that can be translated to a list of metadb_handles.

virtual bool playlist_incoming_item_filter::process_dropped_files_check_ex ( interface IDataObject pDataObject,
DWORD *  p_effect 
)
pure virtual

Checks whether IDataObject contains one of known data formats that can be translated to a list of metadb_handles.
This function also returns drop effects to use (see: IDropTarget::DragEnter(), IDropTarget::DragOver() ). In certain cases, drag effects are necessary for drag&drop to work at all (such as dragging links from IE).
.

virtual bool playlist_incoming_item_filter::process_dropped_files_check_if_native ( interface IDataObject pDataObject)
pure virtual

Checks whether IDataObject contains our own private data format (drag&drop within the app etc).

virtual bool playlist_incoming_item_filter::process_dropped_files_delayed ( dropped_files_data p_out,
interface IDataObject pDataObject 
)
pure virtual

Dumps IDataObject content to specified dropped_files_data object, without any time-consuming processing.
Using this function instead of process_dropped_files() and processing dropped_files_data outside drop handler allows you to avoid blocking drop source app when processing large directories etc.
Note: since 0.9.3, it is recommended to use playlist_incoming_item_filter_v2::process_dropped_files_async() instead.

Returns
True on success, false when IDataObject does not contain any of known data formats.
bool playlist_incoming_item_filter::process_location ( const char *  url,
pfc::list_base_t< metadb_handle_ptr > &  out,
bool  filter,
const char *  p_mask,
const char *  p_exclude,
HWND  p_parentwnd 
)

Helper - calls process_locations() with a single URL. See process_locations() for more info.

Definition at line 271 of file playlist.cpp.

272 {
273  return process_locations(pfc::list_single_ref_t<const char*>(url),out,filter,p_mask,p_exclude,p_parentwnd);
274 }
virtual bool process_locations(const pfc::list_base_const_t< const char * > &p_urls, pfc::list_base_t< metadb_handle_ptr > &p_out, bool p_filter, const char *p_restrict_mask_override, const char *p_exclude_mask_override, HWND p_parentwnd)=0
Converts one or more paths to a list of metadb_handles; displays a progress dialog. Note that this function creates modal dialog and does not return until the operation has completed.
virtual bool playlist_incoming_item_filter::process_locations ( const pfc::list_base_const_t< const char * > &  p_urls,
pfc::list_base_t< metadb_handle_ptr > &  p_out,
bool  p_filter,
const char *  p_restrict_mask_override,
const char *  p_exclude_mask_override,
HWND  p_parentwnd 
)
pure virtual

Converts one or more paths to a list of metadb_handles; displays a progress dialog.
Note that this function creates modal dialog and does not return until the operation has completed.

Returns
True on success, false on user abort.
Deprecated:
Use playlist_incoming_item_filter_v2::process_locations_async() when possible.

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