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.
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