如何监测名片夹数据库的变化?

标题: 如何监测名片夹数据库的变化?
TSS000032
开发伙伴平台: 60系列开发平台 1.0/2.0
设备, 软件版本:
大类: Symbian C++
子类: 普通
说明:
下面提供一段代码示例如何监测名片夹的变化
Code:
  
// Application UI owns contact observer
class CEventsAppUi : public CEikAppUi
{
public:
void ConstructL();
~CEventsAppUi();
public:
void HandleCommandL(TInt aCommand);
private:
CEventsAppView* iAppView; // owns
CEventsContacts* iContactObserver;
};

void CEventsAppUi::ConstructL()
{
BaseConstructL(); // Call base constructor
iAppView = CEventsAppView::NewL(ClientRect());
AddToStackL(iAppView);
// Create an observer
iContactObserver = new(ELeave) CEventsContacts(iAppView);
iContactObserver->ConstructL();
}

// CEventsContacts implements MContactDbObserver interface
class CEventsContacts : public CBase, public MContactDbObserver
{
public:
CEventsContacts(CEventsAppView* aAppView);
void ConstructL();
~CEventsContacts();
// Override the virtual function of MContactDbObserver
void HandleDatabaseEventL(TContactDbObserverEvent aEvent);
private:
CContactDatabase* iContactDb;
CContactChangeNotifier* iNotifier;
CEventsAppView* iAppView;
};

CEventsContacts::CEventsContacts(CEventsAppView* aAppView)
:iAppView(aAppView)
{
}

void CEventsContacts::ConstructL()
{
// Open the database
iContactDb = CContactDatabase::OpenL();
// Register the observer
iNotifier = CContactChangeNotifier::NewL(*iContactDb, this);
}

CEventsContacts::~CEventsContacts()
{
delete iNotifier;
delete iContactDb;
}

void CEventsContacts::HandleDatabaseEventL(TContactDbObserverEvent
aEvent)
{
// The changed item
TContactItemId contactItem = aEvent.iContactId;
switch (aEvent.iType)
{
case EContactDbObserverEventContactChanged:
// Handle contact changed event
break;
case EContactDbObserverEventContactDeleted:
// Handle contact deleted event
break;
...
default:
break;
}
}



 
  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值