For Visual Basic plug-ins, iSeries™ Navigator provides a built-in ActiveX server that manages the communication between Navigator and the plug-in's implementation.
Visual Basic programmers who are developing iSeries Navigator plug-ins then use the facilities that are provided by Microsoft®'s Visual Basic 5.0 to create their plug-in classes, and to package them in an ActiveX server DLL.
Plug-ins work by responding to method calls from iSeries Navigator that are generated in response to user actions. For example, when a user right-clicks on an object in the Navigator hierarchy, Navigator constructs a context menu for the object and displays the menu on the screen. Navigator obtains the menu items by calling each plug-in that has registered its intent to supply context menu items for the selected object type.
The functions that are implemented by a plug-in are logically grouped into interfaces. An interface is a set of logically related methods on a class that iSeries Navigator can call to perform a specific function. For Visual Basic plug-ins, three interfaces are defined:
When the Navigator calls a function implemented by a plug-in, the request typically involves an object or objects the user selected in the main Navigator window. The plug-in must be able to determine which objects have been selected. The plug-in receives this information as a list of fully-qualified object names. For Visual Basic plug-ins, an ObjectName class is defined that provides information about the selected objects. Plug-ins that add folders to the object hierarchy must return items in the folder to iSeries Navigator in the form of "item identifiers." For Visual Basic plug-ins, an ItemIdentifier class is defined that is used by the plug-in to return the requested information.
An iSeries Navigator plug-in sometimes will need to affect the behavior of the main Navigator window. For example, following completion of a user operation, it may be necessary to refresh the Navigator list view or to insert text into the Navigator's status area. A utility class called UIServices is supplied in the Visual Basic environment that provides the required services. A Visual Basic plug-in also can use the C++ APIs in the cwbun.h header file to achieve similar results. For detailed descriptions of this class and its methods, see the online help that is provided with the iSeries Navigator Visual Basic Plug-in Support DLL (cwbunvbi.dll and cwbunvbi.hlp).