foobar2000 SDK  2015-08-03
Data Structures | Public Member Functions | Private Member Functions
library_managerabstract

#include <library_manager.h>

+ Inheritance diagram for library_manager:

Data Structures

class  enum_callback
 

Public Member Functions

virtual void enum_items (enum_callback &p_callback)=0
 
virtual void get_all_items (pfc::list_base_t< metadb_handle_ptr > &p_out)=0
 
virtual bool get_relative_path (const metadb_handle_ptr &p_item, pfc::string_base &p_out)=0
 
virtual bool is_item_addable (const metadb_handle_ptr &p_item)=0
 
virtual bool is_item_in_library (const metadb_handle_ptr &p_item)=0
 
virtual bool is_library_enabled ()=0
 
virtual bool is_path_addable (const char *p_path)=0
 
virtual void rescan ()=0
 
virtual void show_preferences ()=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 ()
 

Private Member Functions

 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT (library_manager)
 

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

This service implements methods allowing you to interact with the Media Library.
All methods are valid from main thread only, unless noted otherwise.
Usage: Use static_api_ptr_t<library_manager> to instantiate.

Definition at line 7 of file library_manager.h.

Member Function Documentation

virtual void library_manager::enum_items ( enum_callback p_callback)
pure virtual

Calls callback method for every item in the Media Library. Note that order of items in Media Library is undefined.

library_manager::FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT ( library_manager  )
private
virtual void library_manager::get_all_items ( pfc::list_base_t< metadb_handle_ptr > &  p_out)
pure virtual

OBSOLETE, do not call, does nothing.

OBSOLETE, do not call, does nothing. OBSOLETE, do not call, does nothing. OBSOLETE, do not call, does nothing. Retrieves the entire Media Library content.

virtual bool library_manager::get_relative_path ( const metadb_handle_ptr p_item,
pfc::string_base p_out 
)
pure virtual

Retrieves path of the specified item relative to the Media Library folder it is in. Returns true on success, false when the item is not in the Media Library. SPECIAL WARNING: to allow multi-CPU optimizations to parse relative track paths, this API works in threads other than the main app thread. Main thread MUST be blocked while working in such scenarios, it's NOT safe to call from worker threads while the Media Library content/configuration might be getting altered.

virtual bool library_manager::is_item_addable ( const metadb_handle_ptr p_item)
pure virtual

Returns whether current user settings allow the specified item to be added to the Media Library or not.

virtual bool library_manager::is_item_in_library ( const metadb_handle_ptr p_item)
pure virtual

Returns whether the specified item is in the Media Library or not.

virtual bool library_manager::is_library_enabled ( )
pure virtual

Returns whether Media Library functionality is enabled or not (to be exact: whether there's at least one Media Library folder present in settings), for e.g. notifying the user to change settings when trying to use a Media Library viewer without having configured the Media Library first.

virtual bool library_manager::is_path_addable ( const char *  p_path)
pure virtual

Returns whether current user settings allow the specified item path to be added to the Media Library or not.

virtual void library_manager::rescan ( )
pure virtual

OBSOLETE, do not call.

virtual void library_manager::show_preferences ( )
pure virtual

Pops up the Media Library preferences page.


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