1      Overview.. 1

1.1       Introduction.. 1

1.2       Dependency. 1

2      Architecture. 2

2.1       UI componets. 2

2.2       Call maintenance components. 3

2.3       Service components. 3

 

Voicecall Application

 

1         Overview

1.1        Introduction

 

Voicecall Application is a comfortable front-end to manage calls. It provides functions of:

 

1.2        Dependency

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.

 

2         Architecture

 

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:

 

2.1        UI componets

 

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.

 

 

2.2        Call maintenance components

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.

2.3        Service components

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.