Overview of ViewKit ObjectPak's ToolTalk Support

This section provides an overview of ObjectPak's ToolTalk support. It discusses the classes you use to interface with ToolTalk and the policies enforced by those classes.

ViewKit ObjectPak Classes Supporting ToolTalk

VkMsgClient class

The basis for interacting with ToolTalk in your application. VkMsgClient allows you to register and manage message patterns; declare actions for your application to perform when it receives messages; compose messages; and send notices and requests.

VkMsgApp class

A subclass of VkApp, opens a ToolTalk connection and sets up all resources required to send and receive ToolTalk messages.1 You must instantiate a VkMsgApp object in your application (rather than a VkApp object) if you want ToolTalk support for your application. The VkMsgApp constructor creates an instance of VkMsgClient that you can use to manage messages in your application.

VkMsgWindow class

A subclass of VkWindow that works with VkMsgApp to support the ObjectPak interprocess message facility. To provide ToolTalk support for your application, you must use VkMsgWindow for your application's windows instead of VkSimpleWindow or VkWindow. The VkMsgWindow constructor creates an instance of VkMsgClient that you can use to manage messages in that window.

VkMsgComponent
class

A subclass of VkComponent that works with VkMsgApp to support the ObjectPak interprocess message facility. You should use VkMsgComponent to derive new components if those components must send or receive ToolTalk messages. You do not need to derive components from VkMsgComponent if those components do not interact with ToolTalk. The VkMsgComponent constructor creates an instance of VkMsgClient that you can use to manage messages in that component.

The ViewKit ObjectPak message facility also provides several utility functions for manipulating messages. These functions are implemented as normal functions rather than class member functions.

ViewKit ObjectPak Message Facility Policies

The ObjectPak message facility provides mostly a mechanism for exchanging ToolTalk messages between applications, but it does impose some policies:

  • Messages are always sent to all members of the session.
  • Message actions receive all messages for a given operator, and cannot set patterns based on argument number or type.
  • By default, applications connect to the default session when started.

These are the policies currently implemented, but they are subject to change in future releases of ViewKit ObjectPak; however, applications that adhere to these policies should not be affected by future changes.