![]() |
![]() |
![]() |
libxfce4mcs Reference Manual | ![]() |
---|
mcs-clientmcs-client — MCS client interface (for applications) |
McsClient; enum McsAction; void (*McsNotifyFunc) (const gchar *name, const gchar *channel_name, McsAction action, McsSetting *setting, void *cb_data); void (*McsWatchFunc) (Window window, gboolean is_start, long mask, void *cb_data); McsClient* mcs_client_new (Display *display, int screen, McsNotifyFunc notify, McsWatchFunc watch, void *cb_data); void mcs_client_destroy (McsClient *client); gboolean mcs_client_process_event (McsClient *client, XEvent *xev); McsChannel* mcs_client_add_channel (McsClient *client, const gchar *channel_name); void mcs_client_delete_channel (McsClient *client, const gchar *channel_name); McsResult mcs_client_get_setting (McsClient *client, const gchar *name, const gchar *channel_name, McsSetting **setting); void mcs_client_show (Display *display, int screen, const gchar *message); gboolean mcs_client_check_manager (Display *display, int screen, const gchar *manager_command);
The MCS client functions are intended to be called by applications that store settings via the MCS manager. The client functions are limited to querying and watching settings data; MCS clients are not capable of changing any settings.
typedef enum { MCS_ACTION_NEW, MCS_ACTION_CHANGED, MCS_ACTION_DELETED } McsAction;
A type used in the McsNotifyFunc to describe a settings event.
MCS_ACTION_NEW |
A new setting has been added to the channel. |
MCS_ACTION_CHANGED |
An existing setting has changed. |
MCS_ACTION_DELETED |
A setting has been deleted from the channel. |
void (*McsNotifyFunc) (const gchar *name, const gchar *channel_name, McsAction action, McsSetting *setting, void *cb_data);
A function of this type, passed to mcs_client_new()
will be called when changes
occur in channels that the MCS client is watching.
name : |
The name of the setting that is affected. |
channel_name : |
The channel to which the setting belongs. |
action : |
An McsAction describing the event. |
setting : |
A pointer to the McsSetting that is affected. |
cb_data : |
Callback data passed to mcs_client_new() .
|
void (*McsWatchFunc) (Window window, gboolean is_start, long mask, void *cb_data);
window : |
The X window on which an event occurred. |
is_start : |
|
Param3 : |
|
cb_data : |
Callback data passed to mcs_client_new() .
|
McsClient* mcs_client_new (Display *display, int screen, McsNotifyFunc notify, McsWatchFunc watch, void *cb_data);
Creates a new client connection to the MCS manager running on display
and
screen
.
display : |
The X display on which the MCS manager is running. |
screen : |
The X screen on which the MCS manager is running. |
notify : |
A McsNotifyFunc to call when changes occur in MCS channels. |
watch : |
A McsWatchFunc to call when (something happens). |
cb_data : |
A pointer to data to pass to the notify and watch functions.
|
Returns : | A new McsClient. |
void mcs_client_destroy (McsClient *client);
Frees all resources associated with client
.
client : |
An McsClient. |
gboolean mcs_client_process_event (McsClient *client, XEvent *xev);
FIXME: Fill me in!
client : |
An McsClient. |
xev : |
An XEvent to process. |
Returns : | True if something happens, FALSE otherwise.
|
McsChannel* mcs_client_add_channel (McsClient *client, const gchar *channel_name);
Adds a channel to be monitored by client
. This must be called before any
settings changes in that channel will cause the McsNotifyFunc (passed to
mcs_client_new()
) to be called.
client : |
An McsClient. |
channel_name : |
The name of the channel to add. |
Returns : | A pointer to the McsChannel referenced. |
void mcs_client_delete_channel (McsClient *client, const gchar *channel_name);
Removes channel_name
from the list of channels that client
is watching.
The client
will no longer receive notifications of settings changes in this
channel.
client : |
An McsClient. |
channel_name : |
The name of a channel this McsClient is watching. |
McsResult mcs_client_get_setting (McsClient *client, const gchar *name, const gchar *channel_name, McsSetting **setting);
Retrieves setting name
from channel channel
name. The result is placed in
setting
and should be freed with mcs_setting_free()
.
void mcs_client_show (Display *display, int screen, const gchar *message);
Instructs the MCS manager to show the settings dialog for the module
specified in message
.
display : |
The X display on which the MCS manager is running. |
screen : |
The X screen on which the MCS manager is running. |
message : |
The module to show. |
gboolean mcs_client_check_manager (Display *display, int screen, const gchar *manager_command);
Checks to see if an MCS manager is running on display
and screen
. If not,
tries to execute manager_command
.
display : |
The X display on which the MCS manager may be running. |
screen : |
The X screen on which the MCS manager may be running. |
manager_command : |
A command to execute. |
Returns : | TRUE if the MCS manager is running, FALSE otherwise.
|
<< libxfce4mcs Core Reference | mcs-common >> |