service_base Class Reference

#include <service.h>

Inheritance diagram for service_base:

columns_ui::control ui_extension::button ui_extension::extension_base ui_extension::visualisation_host ui_extension::window_host ui_extension::custom_button ui_extension::menu_button ui_extension::visualisation ui_extension::window ui_extension::window_host_with_control ui_extension::menu_window ui_extension::playlist_window ui_extension::splitter_window List of all members.

Public Types

typedef service_base t_interface

Public Member Functions

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

const service_baseoperator= (const service_base &)
 service_base (const 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 Function Documentation

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.

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

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.


The documentation for this class was generated from the following file:
Generated on Fri Apr 28 15:02:30 2006 for Columns UI SDK by  doxygen 1.4.6-NO