本文整理汇总了C++中CContactDatabase::OwnCardId方法的典型用法代码示例。如果您正苦于以下问题:C++ CContactDatabase::OwnCardId方法的具体用法?C++ CContactDatabase::OwnCardId怎么用?C++ CContactDatabase::OwnCardId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CContactDatabase
的用法示例。
在下文中一共展示了CContactDatabase::OwnCardId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TestFirstL
LOCAL_D void TestFirstL(RTest& aTest)
{
aTest.Next(_L("@SYMTestCaseID:PIM-T-OWNCARDDELETE-0001 -- First Owncard Test --"));
aTest.Printf(_L("Replacing database \n"));
CContactDatabase* db = CContactDatabase::ReplaceL(KDatabaseFileName);
CleanupStack::PushL(db);
CContactDatabase* dbAnother = CContactDatabase::OpenL(KDatabaseFileName);
CleanupStack::PushL(dbAnother);
PopulateDatabaseL(db, KTotalContacts);
WaitForNotificationsL(db);
TestSetOwnCardL(db);
WaitForNotificationsL(db);
aTest.Printf(_L("Checking the count value \n"));
TInt count = dbAnother->CountL();
aTest.Printf(_L("Count: %d \n"), count);
aTest(count == KTotalContacts, __LINE__);
aTest.Printf(_L("Checking the id \n"));
TContactItemId id = dbAnother->OwnCardId();
aTest.Printf(_L("id: %d \n"), id);
aTest(id != KNullContactId, __LINE__);
TContactIter iter(*db); //Test that the iterator is updated
TContactItemId firstContactId;
firstContactId = iter.FirstL(); //should be own contactId
DeleteOwnContactL(dbAnother);
WaitForNotificationsL(dbAnother);
TContactItemId secondContactId;
TRAPD (err, secondContactId = iter.FirstL());
aTest(err == KErrNone && firstContactId != secondContactId, __LINE__);
DeleteMultipleContactsL(db);
WaitForNotificationsL(db);
aTest.Printf(_L("Checking the deleted count value \n"));
count = dbAnother->CountL();
aTest.Printf(_L("Count: %d \n"), count);
aTest(count == 0, __LINE__);
aTest.Printf(_L("Checking the deleted id \n"));
id = dbAnother->OwnCardId();
aTest.Printf(_L("id: %d \n"), id);
aTest(id == KNullContactId, __LINE__);
aTest(gEventCounter == KMaxNumOfEvents, __LINE__);
aTest(gUnknownEventCounter == KMaxUnknownEvents, __LINE__);
CleanupStack::PopAndDestroy(2,db);
}
示例2: TestSecondL
LOCAL_D void TestSecondL(RTest& aTest)
{
aTest.Next(_L("-- Second Owncard Test --"));
RMutex mtx;
TInt errMutex = mtx.CreateGlobal(KOwnCardMutex);
User::LeaveIfError(errMutex);
CleanupClosePushL(mtx);
RThread thd;
aTest.Printf(_L("Creating worker thread \n"));
TInt errThread = thd.Create(KThreadFunc, ThreadFunction, KDefaultStackSize, KDefaultStackSize*20, KDefaultStackSize*40, NULL);
User::LeaveIfError(errThread);
CleanupClosePushL(thd);
thd.Resume();
SwitchToWorkerThread(mtx, thd, EFalse, ETrue); // a) Run: WT-start to WT-1
///////////////////////////////////////////////
// Worker thread has now replaced the database
///////////////////////////////////////////////
aTest.Printf(_L("Open existing database \n"));
CContactDatabase* db = CContactDatabase::OpenL(KDatabaseFileName);
CleanupStack::PushL(db);
SwitchToWorkerThread(mtx, thd, ETrue, ETrue); // b) Run: WT-1 to WT-2
///////////////////////////////////////////////
// Worker thread has now added the contacts
///////////////////////////////////////////////
WaitForNotificationsL(db);
aTest.Printf(_L("Checking db count \n"));
TInt count = db->CountL();
aTest.Printf(_L("Count: %d \n"), count);
aTest(count == KTotalContacts, __LINE__);
aTest.Printf(_L("Checking owncard id \n"));
TContactItemId id = db->OwnCardId();
aTest.Printf(_L("id: %d \n"), id);
aTest(id != KNullContactId, __LINE__);
SwitchToWorkerThread(mtx, thd, ETrue, ETrue); // c) Run: WT-2 to WT-3
///////////////////////////////////////////////
// Worker thread has now deleted the contacts
///////////////////////////////////////////////
aTest.Printf(_L("Checking deleted db count \n"));
WaitForNotificationsL(db);
count = db->CountL();
aTest.Printf(_L("Count: %d \n"), count);
aTest(count == 0, __LINE__);
aTest.Printf(_L("Checking deleted owncard id \n"));
id = db->OwnCardId();
aTest.Printf(_L("id: %d \n"), id);
aTest(id == KNullContactId, __LINE__);
CleanupStack::PopAndDestroy(db);
SwitchToWorkerThread(mtx, thd, ETrue, EFalse); // d) Run: WT-3 to end
CleanupStack::PopAndDestroy(); // close thd handle
CleanupStack::PopAndDestroy(); // close mtx handle
}
示例3: ThreadFirstTestL
LOCAL_D void ThreadFirstTestL(RTest& aTest)
{
aTest.Next(_L("-- Running worker thread --"));
RMutex mutex;
TInt errMutex = mutex.OpenGlobal(KOwnCardMutex);
User::LeaveIfError(errMutex);
CleanupClosePushL(mutex);
aTest.Printf(_L("Replacing the database \n"));
CContactDatabase* db = CContactDatabase::ReplaceL(KDatabaseFileName);
CleanupStack::PushL(db);
// get a second database object
CContactDatabase* dbAnother = CContactDatabase::OpenL(KDatabaseFileName);
CleanupStack::PushL(dbAnother);
SwitchToMainThread(mutex); // 1) Back to MT-a
///////////////////////////////////////////////
// Main thread has now opened the database
///////////////////////////////////////////////
aTest.Printf(_L("Populating the database \n"));
PopulateDatabaseL(db, KTotalContacts);
WaitForNotificationsL(db);
aTest.Printf(_L("Set the Own card id \n"));
TestSetOwnCardL(db);
WaitForNotificationsL(db);
aTest.Printf(_L("Checking count value \n"));
TInt count = db->CountL();
TInt countAnother = dbAnother->CountL();
aTest.Printf(_L("Count: %d \n"), count );
aTest(count == KTotalContacts && countAnother == KTotalContacts, __LINE__);
aTest.Printf(_L("Checking the id \n"));
TContactItemId id = db->OwnCardId();
TContactItemId idCopy = dbAnother->OwnCardId();
aTest.Printf(_L("Id: %d \n"), id);
aTest(id != KNullContactId && idCopy != KNullContactId, __LINE__);
SwitchToMainThread(mutex); // 2) Back to MT-b
///////////////////////////////////////////////
// Main thread has now checked the added values
///////////////////////////////////////////////
DeleteMultipleContactsL(db);
WaitForNotificationsL(db);
aTest.Printf(_L("Checking deleted count value \n"));
count = db->CountL();
countAnother = dbAnother->CountL();
aTest.Printf(_L("Count: %d \n"), count );
aTest(count == 0 && countAnother == 0, __LINE__);
aTest.Printf(_L("Checking the deleted id \n"));
id = db->OwnCardId();
idCopy = dbAnother->OwnCardId();
aTest.Printf(_L("Id: %d \n"), id);
aTest(id == KNullContactId && idCopy == KNullContactId, __LINE__);
SwitchToMainThread(mutex); // 3) Back to MT-c
///////////////////////////////////////////////
// Main thread has now checked the deleted values
///////////////////////////////////////////////
CleanupStack::PopAndDestroy(dbAnother);
CleanupStack::PopAndDestroy(db);
CleanupStack::PopAndDestroy(); // close mutex handle
RThread::Rendezvous(KErrNone); // Finish) back to MT-d
}