service_base Class Reference

#include <service.h>

Inheritance diagram for service_base:

advconfig_entry album_art_data album_art_editor album_art_extractor album_art_extractor_instance album_art_manager album_art_manager_instance app_close_blocker app_close_blocking_task_manager audio_postprocessor autoplaylist_client autoplaylist_client_factory autoplaylist_manager chapterizer commandline_handler completion_notify componentversion config_io_callback config_object config_object_notify config_object_notify_manager console_receiver contextmenu_item contextmenu_manager core_version_info dsp dsp_config_callback dsp_config_manager dsp_entry event_logger file_info_filter file_operation_callback file_operation_callback_dynamic_manager foobar2000_io::file foobar2000_io::filesystem genrand_service hasher_md5 icon_remapping info_lookup_handler initquit input_entry input_file_type input_info_reader keyboard_shortcut_manager library_callback library_manager library_search_ui library_viewer link_resolver main_thread_callback main_thread_callback_manager mainmenu_commands mainmenu_group mainmenu_manager menu_item_resolver message_loop metadb metadb_display_field_provider metadb_handle metadb_hint_list metadb_io metadb_io_callback modeless_dialog_manager ole_interaction packet_decoder packet_decoder_entry play_callback_manager play_callback_static playback_control playback_queue_callback playback_statistics_collector playlist_callback_single_static playlist_callback_static playlist_incoming_item_filter playlist_loader playlist_lock playlist_manager popup_message preferences_branch preferences_page process_locations_notify replaygain_manager replaygain_result replaygain_scanner replaygain_scanner_entry search_filter search_filter_manager tag_processor_album_art_utils tag_processor_id3v2 tag_processor_trailing threaded_process threaded_process_callback titleformat_common_methods titleformat_compiler titleformat_object track_property_provider ui_control ui_drop_item_callback ui_selection_holder ui_selection_manager ui_status_text_override unpacker user_interface visualisation_manager visualisation_stream

List of all members.

Public Types

typedef service_base t_interface

Public Member Functions

virtual int service_release ()=0 throw ()
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)

Protected Member Functions

 service_base ()
 ~service_base ()


Detailed Description

Base class for all service classes.
Provides interfaces for reference counter and querying for different interfaces supported by the object.

Member Typedef Documentation

Reimplemented in advconfig_entry, advconfig_branch, advconfig_entry_checkbox, advconfig_entry_string, advconfig_entry_enum, album_art_data, album_art_extractor_instance, album_art_editor_instance, album_art_extractor, album_art_editor, album_art_manager_instance, album_art_manager, tag_processor_album_art_utils, app_close_blocker, app_close_blocking_task_manager, audio_postprocessor, autoplaylist_client, autoplaylist_client_v2, autoplaylist_client_factory, autoplaylist_manager, chapterizer, commandline_handler, completion_notify, componentversion, config_io_callback, config_object_notify_manager, config_object, config_object_notify, console_receiver, contextmenu_item, menu_item_resolver, keyboard_shortcut_manager, keyboard_shortcut_manager_v2, contextmenu_manager, core_version_info, core_version_info_v2, dsp, dsp_entry, dsp_config_manager, dsp_config_callback, file_operation_callback, file_operation_callback_dynamic_manager, foobar2000_io::file, foobar2000_io::file_dynamicinfo, foobar2000_io::filesystem, foobar2000_io::archive, genrand_service, hasher_md5, icon_remapping, info_lookup_handler, initquit, input_info_reader, input_decoder, input_info_writer, input_entry, input_file_type, input_file_type_v2, library_manager, library_manager_v2, library_manager_v3, library_callback, library_viewer, library_search_ui, link_resolver, main_thread_callback, main_thread_callback_manager, mainmenu_group, mainmenu_group_popup, mainmenu_commands, mainmenu_manager, message_loop, message_loop_v2, metadb_io, file_info_filter, metadb_hint_list, metadb_io_v2, metadb_io_v3, metadb_io_callback, metadb, metadb_display_field_provider, metadb_handle, packet_decoder, packet_decoder_streamparse, packet_decoder_entry, play_callback_manager, play_callback_static, playback_statistics_collector, playback_control, playback_control_v2, playlist_lock, playlist_manager, playlist_manager_v2, playlist_callback_static, playlist_callback_single_static, playlist_incoming_item_filter, process_locations_notify, playlist_incoming_item_filter_v2, playlist_incoming_item_filter_v3, playback_queue_callback, playlist_loader, popup_message, preferences_page, preferences_page_v2, preferences_branch, preferences_branch_v2, replaygain_manager, resampler_entry, search_filter, search_filter_v2, search_filter_v3, search_filter_manager, search_filter_manager_v2, tag_processor_id3v2, tag_processor_trailing, threaded_process_callback, threaded_process, titleformat_object, titleformat_compiler, titleformat_common_methods, track_property_provider, track_property_provider_v2, user_interface, ui_status_text_override, ui_control, ui_drop_item_callback, ui_selection_holder, ui_selection_manager, unpacker, visualisation_stream, visualisation_stream_v2, visualisation_stream_v3, and visualisation_manager.


Constructor & Destructor Documentation

service_base::service_base (  )  [inline, protected]

service_base::~service_base (  )  [inline, protected]


Member Function Documentation

virtual int service_base::service_release (  )  throw () [pure virtual]

Decrements reference count; deletes the object if reference count reaches zero. This is normally not called directly but managed by service_ptr_t<> template.

Returns:
New reference count. For debug purposes only, in certain conditions return values may be unreliable.

Implemented in service_impl_single_t< input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter > >, service_impl_single_t< advconfig_entry_string_impl_MT >, service_impl_single_t< advconfig_entry_checkbox_impl< p_is_radio > >, service_impl_single_t< dsp_entry_impl_nopreset_t< T > >, service_impl_single_t< preferences_branch_impl >, service_impl_single_t< mainmenu_group_popup_impl >, service_impl_single_t< advconfig_entry_integer_impl >, service_impl_single_t< mainmenu_group_impl >, service_impl_single_t< advconfig_branch_impl >, service_impl_single_t< input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter > >, service_impl_single_t< componentversion_impl_copy >, service_impl_single_t< advconfig_entry_string_impl >, service_impl_single_t< componentversion_impl_simple >, service_impl_single_t< cue_parser::chapterizer_impl_t< t_input_impl > >, service_impl_single_t< input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 > >, service_impl_single_t< input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer > >, service_impl_single_t< input_entry_impl_t< T, 0 > >, service_impl_single_t< input_file_type >, service_impl_single_t< resampler_entry_impl_t< T > >, service_impl_single_t< config_object_impl >, service_impl_single_t< packet_decoder_entry_impl_t< T > >, service_impl_single_t< input_file_type_impl >, and service_impl_single_t< dsp_entry_v2_impl_t< T > >.

virtual int service_base::service_add_ref (  )  throw () [pure virtual]

Increments reference count. This is normally not called directly but managed by service_ptr_t<> template.

Returns:
New reference count. For debug purposes only, in certain conditions return values may be unreliable.

Implemented in service_impl_single_t< input_entry_impl_t< input_wrapper_singletrack_t< T >, t_flags, t_decoder, t_inforeader, t_infowriter > >, service_impl_single_t< advconfig_entry_string_impl_MT >, service_impl_single_t< advconfig_entry_checkbox_impl< p_is_radio > >, service_impl_single_t< dsp_entry_impl_nopreset_t< T > >, service_impl_single_t< preferences_branch_impl >, service_impl_single_t< mainmenu_group_popup_impl >, service_impl_single_t< advconfig_entry_integer_impl >, service_impl_single_t< mainmenu_group_impl >, service_impl_single_t< advconfig_branch_impl >, service_impl_single_t< input_entry_impl_t< T, t_flags, t_decoder, t_inforeader, t_infowriter > >, service_impl_single_t< componentversion_impl_copy >, service_impl_single_t< advconfig_entry_string_impl >, service_impl_single_t< componentversion_impl_simple >, service_impl_single_t< cue_parser::chapterizer_impl_t< t_input_impl > >, service_impl_single_t< input_entry_impl_t< input_wrapper_singletrack_t< T >, 0 > >, service_impl_single_t< input_entry_impl_t< cue_parser::input_wrapper_cue_t< t_input_impl >, t_flags, input_decoder_v2, input_info_reader, input_info_writer > >, service_impl_single_t< input_entry_impl_t< T, 0 > >, service_impl_single_t< input_file_type >, service_impl_single_t< resampler_entry_impl_t< T > >, service_impl_single_t< config_object_impl >, service_impl_single_t< packet_decoder_entry_impl_t< T > >, service_impl_single_t< input_file_type_impl >, and service_impl_single_t< dsp_entry_v2_impl_t< T > >.

virtual bool service_base::service_query ( service_ptr_t< service_base > &  p_out,
const GUID &  p_guid 
) [inline, virtual]

Queries whether the object supports specific interface and retrieves a pointer to that interface. This is normally not called directly but managed by service_query_t<> function template. Typical implementation checks the parameter against GUIDs of interfaces supported by this object, if the GUID is one of supported interfaces, p_out is set to service_base pointer that can be static_cast<>'ed to queried interface and the method returns true; otherwise the method returns false.

template<class T>
bool service_base::service_query_t ( service_ptr_t< T > &  p_out  )  [inline]

Queries whether the object supports specific interface and retrieves a pointer to that interface.

Parameters:
p_out Receives pointer to queried interface on success. returns true on success, false on failure (interface not supported by the object).


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

Generated on Thu Aug 28 21:15:59 2008 for foobar2000 SDK by  doxygen 1.5.5