You can also add callbacks to static patterns by attaching a callback to the opnum of a signature in a ptype. When a message is delivered because it matched a static pattern with an opnum, the ToolTalk service checks for any callbacks attached to the opnum and runs them.
Use tt_otype_opnum_callback_add to attach the callback routine to the opnum of an osignature.
Use tt_ptype_opnum_callback_add to attach the callback routine to the opnum of a psignature.
Sending a Message
When you have completed your message, use tt_message_send to send it.
If the ToolTalk service returns TT_WRN_STALE_OBJID, it has found a forwarding pointer in the ToolTalk database that indicates the object mentioned in the message has been moved. However, the ToolTalk service will send the message with the new objid. You can then use tt_message_object to retrieve the new objid from the message and put it into your internal data structure.
If you will not need the message in the future (for example, if the message was a notice), you can use tt_message_destroy to delete the message and free storage space.
Note - If you are expecting a reply to the message, do not destroy the message until you have handled the reply.
Examples
Example 8-5 illustrates how to create and send a pnotice.
Example 8-5 Creating and Sending a Pnotice
|
Example 8-6 illustrates how an orequest is created and sent when the callback routine for cntl_ui_hilite_button is called.
Example 8-6 Creating and Sending an Orequest
|