user_interface Class Reference

#include <ui.h>

Inheritance diagram for user_interface:

service_base

List of all members.

Public Types

typedef BOOL(WINAPI * HookProc_t )(HWND wnd, UINT msg, WPARAM wp, LPARAM lp, LRESULT *ret)
typedef user_interface t_interface_entrypoint
typedef user_interface t_interface
typedef service_base t_interface_parent

Public Member Functions

virtual const char * get_name ()=0
 Retrieves name (UTF-8 null-terminated string) of the UI module.
virtual HWND init (HookProc_t hook)=0
 Initializes the UI module - creates the main app window, etc. Failure should be signaled by appropriate exception (std::exception or a derivative).
virtual void shutdown ()=0
 Deinitializes the UI module - destroys the main app window, etc.
virtual void activate ()=0
 Activates main app window.
virtual void hide ()=0
 Minimizes/hides main app window.
virtual bool is_visible ()=0
 Returns whether main window is visible / not minimized. Used for activate/hide command.
virtual GUID get_guid ()=0
 Retrieves GUID of your implementation, to be stored in configuration file etc.
virtual void override_statusbar_text (const char *p_text)=0
 Overrides statusbar text with specified string. The parameter is a null terminated UTF-8 string. The override is valid until another override_statusbar_text() call or revert_statusbar_text() call.
virtual void revert_statusbar_text ()=0
 Disables statusbar text override.
virtual void show_now_playing ()=0
 Shows now-playing item somehow (e.g. system notification area popup).

Static Public Member Functions

static bool g_find (service_ptr_t< user_interface > &p_out, const GUID &p_guid)

Static Public Attributes

static const GUID class_guid


Detailed Description

Entrypoint service for user interface modules. Implement when registering an UI module. Do not call existing implementations; only core enumerates / dispatches calls. To control UI behaviors from other components, use ui_control API.
Use user_interface_factory_t<> to register, e.g static user_interface_factory_t<myclass> g_myclass_factory;

Member Typedef Documentation

typedef BOOL(WINAPI * user_interface::HookProc_t)(HWND wnd, UINT msg, WPARAM wp, LPARAM lp, LRESULT *ret)

HookProc usage:
in your windowproc, call HookProc first, and if it returns true, return LRESULT value it passed to you

Reimplemented from service_base.


Member Function Documentation

virtual const char* user_interface::get_name (  )  [pure virtual]

Retrieves name (UTF-8 null-terminated string) of the UI module.

virtual HWND user_interface::init ( HookProc_t  hook  )  [pure virtual]

Initializes the UI module - creates the main app window, etc. Failure should be signaled by appropriate exception (std::exception or a derivative).

virtual void user_interface::shutdown (  )  [pure virtual]

Deinitializes the UI module - destroys the main app window, etc.

virtual void user_interface::activate (  )  [pure virtual]

Activates main app window.

virtual void user_interface::hide (  )  [pure virtual]

Minimizes/hides main app window.

virtual bool user_interface::is_visible (  )  [pure virtual]

Returns whether main window is visible / not minimized. Used for activate/hide command.

virtual GUID user_interface::get_guid (  )  [pure virtual]

Retrieves GUID of your implementation, to be stored in configuration file etc.

virtual void user_interface::override_statusbar_text ( const char *  p_text  )  [pure virtual]

Overrides statusbar text with specified string. The parameter is a null terminated UTF-8 string. The override is valid until another override_statusbar_text() call or revert_statusbar_text() call.

virtual void user_interface::revert_statusbar_text (  )  [pure virtual]

Disables statusbar text override.

virtual void user_interface::show_now_playing (  )  [pure virtual]

Shows now-playing item somehow (e.g. system notification area popup).

static bool user_interface::g_find ( service_ptr_t< user_interface > &  p_out,
const GUID &  p_guid 
) [static]


Member Data Documentation

const GUID user_interface::class_guid [static]

Initial value:

 
{ 0x1add4dc4, 0xb278, 0x4a0c, { 0xa1, 0x5, 0x26, 0x29, 0xf4, 0xb3, 0x12, 0xf4 } }


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

Generated on Fri Apr 18 13:56:58 2008 for foobar2000 SDK by  doxygen 1.5.5