EZ_RegisterMessageHandler(3)

NAME
EZ_RegisterMessageHandler, EZ_DeleteMessageHandler - add/delete a message handler

SYNOPSIS
#include <EZ.h>

typedef struct {
  Atom       messageType;    /* message type   */
  int        messageLength;  /* message length */
  char       *message;       /* the message    */
  int        messageId;      /* message Id     */
  int        replyId;        /* if request, the message id to reply */
  int        isReply;        /* flag whether the message is a reply */
  Window     sender;         /* sender's communication window id  */
  Atom       senderClass;    /* sender's class name */
  Atom       senderInstance; /* sender's instance name */
  int        senderIsSelf;   /* is message originated from the myself? */
} EZ_Message;

typedef void (*EZ_MessageHandler)(EZ_Message *msgIn, void *client_data);

void EZ_RegisterMessageHandler(Atom type, int messageId, void *client_data,
                          EZ_MessageHandler handler, int timeout,
                          EZ_CallBack timeoutCB, void cdata)

void EZ_DeleteMessageHandler(Atom type, int messageId, void *client_data,
                          EZ_MessageHandler handler)

ARGUMENTS
handler Specifies a message handler.

client_data Specifies an application data to be passed to the handler.

messageId Specifies a serial number. Serial number is local to each application so the sender has to keep track of it.

timeout Specifies the life span of this handler, in seconds. The handler will be deleted after the specified number of seconds elapses. If zero or negative, the handler will have an infinite life span.

timeoutCB Specifies a procedure to execute when the handler expires.

cdata Specifies a client data to be passed to timeoutCB.

DESCRIPTION

EZ_RegisterMessageHandler registers a message handler with EZWGL. The message handler will be invoked when a messages with the specified type and ID arrives. If timeout>0, the handler will expire in the specified number of seconds; when it expires, it executes timeoutCB if supplied.

EZ_DeleteMessageHandler deletes the registered message handler that matches the specification.

SEE ALSO
EZ_SetDefaultMessageHandler(3), EZ_BroadcastMessage(3), EZ_ReplyMessage(3)