BREW:电话簿管理变量

来源:互联网 发布:ltp打印端口 编辑:程序博客网 时间:2024/05/21 05:08
  一、电话簿的管理主要有如下几个变量:

1.电话簿APPLET中的变量

IVectorModel       *m_contact_iv;            //local contacts  此变量又指向全局变量g_contact_iv

IVectorModel       *m_contact_iv_ruim;   //sim contacts

 

2.其他辅助变量

Pbk_TotaCidCount

Pbkciddata

Pbknumcompare

g_email_iv

 

二、初始化电话簿的函数:

PhoneBookInitIndex();                     初始化本机记录

PhoneBookInitUimIndex();        初始化UIM卡记录

 

 

三、分析

1

BREW按分类来管理电话簿,又分为AEE类别和OEM类别。其对应关系键变量:g_mixCat[]

获取电话簿记录时,按照AEE记录来列举,每个记录有N笔记录。例如:

IADDRBOOK_EnumRecInit(piAddrBook, g_mixCat[i].addrCat, AEE_ADDRFIELD_NONE, NULL, 0) ;    列举一个AEE类别的记录

addrRec = IADDRBOOK_EnumNextRec(piAddrBook);                                                                                 循环获取该类别里的每一个记录

 

2.在获取到一笔记录时,加入到接口g_contact_iv中.

按照保存在该笔记录信息中的head.indexx[]中的拼音顺序寻找插入位置。

 

3.每一笔记录中变量的含义:

typedef struct _ContactInfo

{

       COM_HEAD      head;             //name & phone or email                                 姓名,号码,拼音

       uint16             m_id;             // Database ID of this contact                          此笔记录在电话簿接口中的AEE某一类别中的base ID(在BREW层面的)

       AEEAddrCat     m_class;       // Contact classification, one of                 与AEE类别相对应的,在OEM层来说的类别。对应关系见g_mixCat[]中

       uint16          m_fldNumberId;   // field id of the found number         第一个获取到的电话号码类别(手机?家庭?公司?)

}ContactInfo;

 

 

4.

Pbk_TotaCidCount----所有的电话号码个数(手机,家庭,公司等号码都算作一个)

 

Pbkciddata---按照该记录在g_contact_iv[]中的位置排序的数据

typedef struct _PbkCidInitStr

{

       uint16            recid;                                                       此笔数据在g_contact_iv中的pos位置

       uint16           numtype;                                                 号码的AEE类别(手机?家庭?公司?)

       AECHAR     numstr[FLDLEN_NUMBER+1];            号码

}PBKCidInitStr;

 

Pbknumcompare---按照号码的大小顺序排序的数据结构

typedef struct _PBKNumCompare

{        

       uint16            idInPbm;                                          // the id can get name directly 此笔记录在电话簿接口中的AEE某一类别中的base ID(在BREW层面的)

       uint8              charnum[FLDLEN_NUMBER+1];         号码

}PBKNumCompare;

g_email_iv—邮件地址的接口,每个节点包含2个信息:该邮件在AEE层的base ID,以及邮件地址。

 

 

原创粉丝点击