Share via


IP Home Screen (Homescreen) Component (Windows Embedded CE 6.0)

1/6/2010

The IP Home Screen component is an executable meant to combine the efforts of the other applications in the IP Phone Suite.

This includes the following:

  • It presents the user with basic start screen and status messages
  • It acts as a watchdog to ensure that key IP Phone Suite components, such as IP Dialer (PhoneApp), are always running
  • It monitors the device for out-of-memory conditions
  • Finally, it proxies user requests to the other IP Phone Suite components

VoIP Core Component Usage

The following diagram shows the VoIP Core Components that the IP Home Screen application component uses.

Ee500719.ca65e030-8b07-4e46-aa0e-ace09220df25(en-US,WinEmbedded.60).gif

Inter-Application Connections

None of the applications that make up the IP Phone Suite directly call each other. All inter-application communication is handled through calls to PhCommon or through the use of Registry settings. Even calls to the VAIL Database Store are handled via PhCommon database calls, including initialization and a pointer to the database for further API calls directly.

In the case of IP Home Screen, the homescreen.exe uses only two of the VoIP Core Components, namely PhCommon and the State and Notifications Broker API (SNAPI) which handles calls into the Registry. However, all communication is handled through PhCommon, which uses SNAPI to make those Registry calls.

IP Home Screen uses the following PhCommon API sets:

  • PhCommon Controls APIs
  • PhCommon Settings APIs
  • PhCommon Phone APIs
  • PhCommon Command APIs
  • PhCommon Authentication APIs

For example, IP Home Screen would call PHOnHookDialing if it detected that the user was typing input. It would call either PHLaunchProcess or PHSendCommandLine to launch an application or bring that application to the foreground when a user selected it, making that application's window the active window. It would also be using PHSendCommandLine to not only bring up the appropriate application, but bring up the correct screen for it as well, for example, bringing up the "Missed Calls" screen rather than the "Speed Dial" screen.

IP Home Screen would use PHGetSetting, for example, to get the phone status, or PHGetActiveVolume to get the current active volume. It would use PHGetAppWindow to see if it needs to launch an application of the suite, or if the application is already running. It would also use the PhCommon APIs to shut down the IP Dialer when it is time for the device to shutdown.

OS Design Information

For a table showing the operating design information for the IP Phone Suite, of which IP Home Screen is just one part, please see IP Phone Suite OS Design Development.

Module

The following module implements the IP Home Screen. The module is an executable.

Item Module

IP Home Screen

homescreen

Source Code Location

The IP Phone Suite sample source code is located in %_WINCEROOT%\Public\VoIP\OAK\Phone\ and its subdirectories

For a complete source code location list, please see IP Phone Suite Source Code Directories.

The following table summarizes the contents of the directories and subdirectories of IP Home Screen:

Directory or file name Description

HOMESCREEN

IP Home Screen source code, including any resources and headers.

HOMESCREEN\RES

Bitmaps for use by IP Home Screen.

Implementation Considerations

The following table shows the core Sysgen variable for IP Home Screen. For a complete dependency list, showing all the Sysgens, please see the IP Phone Advanced Design Template and look at the advanced phone case.

Sysgen variable Description

SYSGEN_VOIPPHONE_HOMESCREEN

IP Home Screen Application

See Also

Reference

VAIL Database Store Reference
PhCommon Reference

Concepts

IP Phone Suite Architecture
IP Phone Suite

Other Resources

Real-time Communications (RTC) Client API
Exchange Client
Pocket Outlook Object Model (POOM)
State and Notifications Broker
Developing a VoIP Phone