The Reflection API includes the following namespaces that divide the API into different functional areas.
Attachmate.Reflection.Framework is the most important namespace of the API and provides the infrastructure for the API. Framework also provides the entry point to the API (MyReflection) and access to the application via Application objects.
Because the Application object provides all of the methods necessary for accessing functional areas in Reflection via controls and objects, most applications reference it. Control typically represents the type of entity that is backed by a file, such as a host emulation session.
You can get an instance of the Object via the object moniker by calling GetObject(string objectMoniker).
The Attachmate.Reflection namespace includes common objects, such as the CancelableEventArgs and ReturnCode enums (enums are not shown here). Many API functions use these objects. For example, CancelableEventArgs is used by the View Closing event and ReturnCode is used by many methods as the return code.
As its name suggests, this namespace provides the user interface (UI) aspect of the API through the Frame and View classes. The View represents the UI window that surrounds a session. Through the Frame class, you can get Views and work with display states (such as, minimized and maximized) and dimensions of the Reflection main window, which is called the workspace. From the View, you can receive events and get View properties.
This namespace provides objects that expose Microsoft Internet Explorer functions. You can use Web objects to control navigations between pages, retrieve data from and put data into Web pages, and receive events from Internet Explorer.
WebControl encompasses all of the functions inherent to navigation and browser controls (for example, go back, go forward, and encryption settings). From WebControl, you can get a WebDocument (a Web page). From WebDocument, you can get WebElements — the individual items that make up a page, such as buttons and text fields.
The Attachmate.Reflection.Productivity namespace includes objects for Reflection Productivity features such as AutoComplete, AutoExpand, RecentTyping, ScreenHistory, SpellChecker, and objects for working with Microsoft Office.
The Attachmate.Reflection.Emulation.IbmHosts namespace includes all of the objects required for working with IBM host terminal emulation. The IbmTerminal is the top-level object in this namespace and represents two types of IBM host emulations: 3270 Mainframe (System z) and 5250 AS/400 (Series i). Most functional areas of the IBM host terminal have a corresponding object that lets you work with that area, such as KeyboardMapper, FileTransfer, and Macro.
IbmScreen pertains mostly to the data operation aspect of the terminal emulation, such as getting data off and putting data on the screen, and cursor movements. Various objects raise events when states change in Reflection, and can provide notification.
This namespace includes all of the objects required for working with OpenSystems terminal emulation. The ITerminal is the top-level object in this namespace and represents all OpenSystems host emulations. Most functional areas of the OpenSystems terminal have a corresponding object that lets you work with that area, such as KeyboardMapper, FileTransfer, and Macro.
IScreen pertains mostly to the data operation aspect of the terminal emulation, such as getting data off and putting data on the screen, and cursor movements. Various objects raise events when states change in Reflection, and can provide notification.
Namespaces for the Terminal User Control (TUC) allow you to provide a terminal screen on your Windows application along with another application or a different data source. This control renders a terminal emulator session within a given windows application. These namespaces allow you to embed screens for IBM, Open Systems, and Open Systems Graphics terminals on both Windows form applications and Windows Presentation Format (WPF) applications.