EvmCallback - Event Management callback function
void EventCB(
EvmConnection_t connection,
EvmCallbackArg_t callbackArg,
EvmCallbackData_t *callbackData)
An EVM callback function is a function that you provide to
allow your program to handle messages arriving on an EVM
connection. Most messages will be incoming events or
responses to requests you have made to the EVM daemon, but
you may also get a callback for other reasons.
You specify the name (EventCB) of the callback function in
the callback parameter when you create an EVM connection
with a response mode of callback.
Your callback function is invoked by EvmConnDispatch(),
which you must call whenever you detect activity pending
on the connection.
An EVM callback function must conform to the prototype
shown.
Callback function parameters:
The connection parameter contains the connection context
pertaining to this callback. This value was returned by
EvmConnCreate() when the connection was created. If you
have one callback function servicing multiple connections,
you might test this to determine which connection a particular
invocation is handling. The callbackArg parameter
contains the value you specified as the callbackArg parameter
to EvmConnCreate() when you created the connection.
For example, you might use it to hold a pointer to your
own context data for the connection. The callbackData
parameter points to a structure containing the details of
the callback. The structure includes a callback reason
code, an event, and a union containing data specific to
each possible reason. The event member may contain NULL
if it is not applicable to the reason. You may get these
reasons: This callback reason indicates that the daemon
was unable to deliver one or more events, probably because
the client process had not finished processing earlier
events, causing the connection buffer to overflow. If
necessary, you can use EvmConnControl(3) to increase the
size of the receive buffer. This callback reason indicates
that an EVM event has been received from the daemon.
The event is available in the callbackData structure. You
must use EvmEventDestroy(3) to free the event when you
have finished with it. This callback reason indicates
that a prior EvmEventPost() call has completed, usually
with a response from the daemon if the responseMode was
specified as EvmRESPONSE_CALLBACK when the connection was
created. The posting status is available in the callbackData
structure. This callback reason indicates that a
requested template has been delivered in response to an
EvmConnRegistrationGet() request. You must use EvmEventDestroy(3) to free the template when you have finished with
it. This callback reason indicates that a prior
EvmEventSubscribe() call has completed, usually with a
response from the daemon. This callback reason indicates
that event template information has been delivered in
response to an EvmConnTemplateScan() request. The template
is available in the callbackData structure. You must
use EvmEventDestroy(3) to free the template when you have
finished with it.
See the Common Desktop Environment: Programmer's Guide for
examples of callback functions.
Header file that contains the event declaration, structures,
and prototype for the callback function
Routines: EvmConnCreate(3), EvmConnCheck(3), EvmConnSubscribe(3), EvmEventPost(3)
Event Management: EVM(5)
Event Connection: EvmConnection(5)
EVM Events: EvmEvent(5)
Programmer's Guide
EvmCallback(5)
[ Back ] |