Jump to content

IBM Open Class

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Blaxthos (talk | contribs) at 20:44, 29 November 2009 (clean up using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
C Set++ v2.01 for OS/2, the first release of IOC/OCL/IUICL

IBM Open Class (IOC) is an IBM C++ product originally developed by Kevin Leong and originally known under several names in the C++ industry, including ICL (IBM Class Library), UICL (User Interface Class Library), and OCL (Open Class Library).

IOC was an extensive set of C++ classes used to build CLI and GUI applications which could then be easily cross-compiled to OS/2, Microsoft Windows, and AIX. IOC also formed the basis for IBM's VisualAge for C++ graphical application builder.

History of IOC

Promotional poster from 1993 showing parts of the class hierarchy for the IUICL v2.01

The IOC was included as part of IBM's C++ compiler environment. Applications developed with IOC could be distributed with a royalty-free runtime, or could be statically linked against the IOC libraries. Initially only available for OS/2, the IOC was eventually made available for both Windows and AIX. Support for the OS/2 and Windows VisualAge for C++ compiler—as well as the accompanying IOC—was officially withdrawn by IBM on April 27 2001.[1]

  • C/Set++ v2.01 for OS/2 (1993)
  • VisualAge C++ for OS/2, version 3.0
  • VisualAge for C++ for Windows, version 3.5
  • C and C++ Compilers for OS/2, AIX, and for Windows NT, version 3.6
  • C and C++ Compilers for OS/2 and Windows, version 3.65 (1998?)
  • VisualAge C++ Professional for OS/2 and Windows NT, version 4.0 (1998)

Examples

The most widely recognized example of a simple application that uses the IOC is hello world:

#include <iframe.hpp>
int main()
{
    IFrameWindow frame ("Hello, World!");
    frame.showModally();
}

Other examples of commonly-used IOC classes and methods include:

#include <istring.hpp>
IString someText ("hello world");
#include <icmdhdr.hpp>
virtual Boolean MyHandler::command (ICommandEvent &event);

Notes

  1. ^ IBM's Withdrawal Announcement #901-013 (announced on January 23 2001, effective on April 27 2001)
  • news://ibm.software.vacpp.openclass
  • ISBN 0-442-01795-2 (C++ Class Library: Power GUI Programming with CSet++)
  • ISBN 0-471-16482-8 (Power GUI Programming with VisualAge for C++)