2.2 Call maintenance components
Voicecall Application
Voicecall Application is a comfortable front-end to manage calls. It provides functions of:
AddressBook depends on the following libraries:
l Gtk+-2.0 The GTK+ library contains widgets, that is, GUI components such as GtkButton or GtkTextView.
l libgemwidget A Gtk+ for Embedded library contains widgets which are mostly used in embedded devices.
l libgpephone Shared code for applications developed for the phone application framework providing easy access to softkey definitions and communication.
l libiac The package provides various interfaces to make the service oriented communication between applications much easier than using low-level D-Bus routines ever before.
l libvocenabler Libvocenabler is a library which provides application developers with high-level technology agnostic APIs to dial, to accept, to hang up and other means to manage voice calls. Different low level telephony services may lie behind the APIs.
l Libabenabler A graphic independent enabler which can provide all the basic routines for PIM Address Books and other applications who wants to use the address book functions.
The elements which are currently being developed in Voicecall Application could be separated into three different parts
The three parts could be described separately in the following:
UI components include several windows and dialogs:
|
Window Name |
File referred |
|
Calling window |
callingwindow.c/h |
|
Connected window |
connectedwindow.c/h |
|
Input window |
inputwindow.c/h |
|
Incoming call window |
icmc.c/h |
|
Missedcalldialog |
missedcallwindow.c/h |
|
Msgdialog |
msgdialog.c/h |
|
Volumebar |
volumebar.c/h |
|
vocmain.c |
Main function |
Literally, the function of each window could be read from the name. For example, calling windows shows the picture, phone number and other related information of the incoming call. Msgdialog pops out when a call is finished which shows the duration and the remote number of a call.
Call status maintenance part manages the detailed information of current calls displayed on the screen, such as the status, the id, etc.
Call status maintenance components include the following files:
linestate.c/h
callbacks.c/h
interface.c/h
It is very important to understand the structure:
typedef struct
{
guint cid; //the id of this call
State state; //the status of this call
//gint lid;
gchar *name; //the remote peer name of this call
gchar *num; //the number of remote peer
gchar *dial_num_in_active; //user's input after this call put-through;
GdkPixbuf *pixbuf; //the photo of remote peer
glong time; //the last time of this call ;
gint timer; //the handle of the timer;
}
call_desc;
The structure is defined and maintained mainly in the linestate.h/c.
Service components cover all the services that Voice Application could provide to other applications in system. Please read the following files for detailed information:
shared.h
iac-app-share.h
The two files defines the necessary service/object/interface/method for communicate with other modules. They will be combined to one file in the next version.