2.1 Design

There are two main questions you want to ask yourself before starting: What do you want to accomplish and will one of the Token APIs accomplish this? The Token APIs are client-based, which means that the client has to be running in order to use the APIs. Tokens drive the client, so if you want to subscribe to client events or publish client events in a certain order, then the Token APIs are what you want to use. If you want to work only with the GroupWise account data, then you might need to use the Object API.

If you want to subscribe to token events so you can alter the client behavior, then you need to use the Third-Party Handler (TPH) DLL API. To do this, you first need to identify what tokens you want to subscribe to. The TPH, by design, will receive all external tokens as they occur in the GroupWise client. The tokens are passed via the HandleToken() method that all TPH DLLs are required to support. The TPH will need to evaluate the token ID to see if the it is one the TPH wants to handle.

In the example, we want to stop the end user from modifying the GroupWise toolbar. In addition to removing this functionality from the client, we want to add alternate functionality by displaying the GroupWise about dialog instead of the edit toolbar dialog. For the toolbar token we want to subscribe to the DTKN_BTNBAR_EDIT token ID. For the about dialog token, we will publish the AboutDlg() (DTKN_ABOUT) token.