#include <playlist.h>

Public Types | |
| typedef playlist_incoming_item_filter | t_interface_entrypoint |
| typedef playlist_incoming_item_filter | t_interface |
| typedef service_base | t_interface_parent |
Public Member Functions | |
| virtual bool | filter_items (metadb_handle_list_cref in, metadb_handle_list_ref out)=0 |
| 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 |
| 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 |
| Checks whether IDataObject contains one of known data formats that can be translated to a list of metadb_handles. | |
| virtual bool | process_dropped_files_check_if_native (interface IDataObject *pDataObject)=0 |
| Checks whether IDataObject contains our own private data format (drag&drop within the app etc). | |
| 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 returned object. It is recommended that you use create_dataobject_ex() to get an autopointer that ensures proper deletion. | |
| virtual bool | process_dropped_files_check_ex (interface IDataObject *pDataObject, DWORD *p_effect)=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) |
| Helper - calls process_locations() with a single URL. See process_locations() for more info. | |
| pfc::com_ptr_t< interface IDataObject > | create_dataobject_ex (metadb_handle_list_cref data) |
| Helper - returns a pfc::com_ptr_t<> rather than a raw pointer. | |
Static Public Attributes | |
| static const GUID | class_guid |
Reimplemented from service_base.
Reimplemented in playlist_incoming_item_filter_v2, and playlist_incoming_item_filter_v3.
Reimplemented in playlist_incoming_item_filter_v2, and playlist_incoming_item_filter_v3.
| 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.
| in | Items to process. | |
| out | Receives 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. |
| 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.
| 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).
| 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_if_native | ( | interface IDataObject * | pDataObject | ) | [pure virtual] |
Checks whether IDataObject contains our own private data format (drag&drop within the app etc).
| 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.
| 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_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.
| 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.
| 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.
const GUID playlist_incoming_item_filter::class_guid [static] |
Initial value:
{ 0xeb8fa333, 0xf365, 0x46ad, { 0x86, 0x21, 0x34, 0x56, 0x71, 0x56, 0x7b, 0xaa } }
Reimplemented in playlist_incoming_item_filter_v2, and playlist_incoming_item_filter_v3.
1.5.5