You generate an event by applying a gen method on the destination object, as follows:
client->gen(new event(p1,p2,...,pn))
The generate method queues the event on the proper event queue.
The framework provides a GEN macro, which saves you from having to use the new operator to generate an event. For example:
client->GEN(event(p1, p2, pN))