Browse Prior Art Database

Providing Generic User Interface Control to a Low Level Subsystem

IP.com Disclosure Number: IPCOM000118122D
Original Publication Date: 1996-Sep-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 8 page(s) / 214K

Publishing Venue

IBM

Related People

Baker, R: AUTHOR [+2]

Abstract

In networking and video applications using various computing platforms, for example Person To Person (P2P) conferencing applications, it is highly desirable to provide a user interface which displays a high degree of commonality while at the same time exercises effective control over the specific low level subsystems making up a given system. The approach described here achieves this by dividing the interface into two parts: a platform specific part, and a platform independent part.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 23% of the total text.

Providing Generic User Interface Control to a Low Level Subsystem

      In networking and video applications using various computing
platforms, for example Person To Person (P2P) conferencing
applications, it is highly desirable to provide a user interface
which displays a high  degree of commonality while at the same time
exercises effective control  over the specific low level subsystems
making up a given system.  The approach described here achieves this
by dividing the interface into two  parts: a platform specific part,
and a platform independent part.

Information flow in a typical application is shown in the Figure.

The interface calls required for making the system function are
detailed below.

Calls from the function code to the user interface code

      Note: The code modifier, TENTRY, is linker specific and has no
bearing on the actual implementation.
  int TENTRY TUI_SetIndicator( int IndID, char *pvalue );

      The TUISetIndicator entry point is entered by the developer of
the End User Interface code (EUI).  This call is made by the
Interface Engine to the EUI and is used to indicate to the user the
progress of a  call over a certain type of line, for example.

      The EUI code is statically linked to the Interface Engine code,
thereby enabling the Interface Engine code to call the function
directly.

Calls from the function code to the user interface code
  int TENTRY TUI_QueryIndicator( int IndID, char *pvalue );

      The TUIQueryIndicator entry point is filled in by the developer
developing the EUI.  This call is made by the Interface Engine to the
EUI and is used to query from the user an address from which a call
might be placed, for example.

Calls from the user interface code to the function code
  int TENTRY TUI_Initialize( int argc, char *argv() char *options);

      The TUI_Initialize entry point is made from the EUI to cause
the layer below to perform any initialization prior to making any
further calls.
  void TENTRY TUI_Terminate( void );

      The TUI_Terminate call is made from the EUI to the layer below
(Interface Engine) instructing it to shutdown and perform any
necessary tidying up.
  int TENTRY TUI_ButtonPressed( int IndID );

      The TUI_ButtonPressed entry point is made from the EUI to the
Interface Engine instructing it that the user has made a selection or
hit a push button.  The event of the resulting action is passed on
this call, where the Interface Engine can perform further functions.

      The TUI_Initialize call is made as soon as the EUI is started
successfully.

      The TUI_Terminate call is made when the EUI shuts down.

      The implementations of the Set and Query functions are shown
below with the OS/2* operating system APIs.
  int TENTRY TUI_SetIndicator(int IndID, char *pvalue)
  {
    int iRet;
    IRet = (int)WinSendMsg( hwndGlob, WM_TUI_SET_INDICATOR,
                  MPFROMSHORT(IndID), MPFROMP...