qtmobility/plugins/contacts/symbian/tsrc/performance/performance.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    50 {
    50 {
    51     mCntMng = new QContactManager("symbian");
    51     mCntMng = new QContactManager("symbian");
    52 
    52 
    53     // Remove all contacts from the database
    53     // Remove all contacts from the database
    54     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
    54     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
    55     mCntMng->removeContacts(&cnt_ids);
    55     mCntMng->removeContacts(cnt_ids, 0);
    56 }
    56 }
    57 
    57 
    58 void SymbianPluginPerfomance::cleanupTestCase()
    58 void SymbianPluginPerfomance::cleanupTestCase()
    59 {
    59 {
    60     delete mCntMng;
    60     delete mCntMng;
    78         contactsList.append(alice);
    78         contactsList.append(alice);
    79     }
    79     }
    80 
    80 
    81     // Save the contacts
    81     // Save the contacts
    82     mTime.start();
    82     mTime.start();
    83     mCntMng->saveContacts(&contactsList);
    83     mCntMng->saveContacts(&contactsList, 0);
    84     int elapsed = mTime.elapsed();
    84     int elapsed = mTime.elapsed();
    85     qDebug() << "Created " << contactsList.count() << " simple contacts in"
    85     qDebug() << "Created " << contactsList.count() << " simple contacts in"
    86         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
    86         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
    87 }
    87 }
    88 
    88 
    89 void SymbianPluginPerfomance::removeSimpleContacts()
    89 void SymbianPluginPerfomance::removeSimpleContacts()
    90 {
    90 {
    91     // Remove N contacts
    91     // Remove N contacts
    92     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
    92     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
    93     mTime.restart();
    93     mTime.restart();
    94     mCntMng->removeContacts(&cnt_ids);
    94     mCntMng->removeContacts(cnt_ids, 0);
    95     int elapsed = mTime.elapsed();
    95     int elapsed = mTime.elapsed();
    96     qDebug() << "Removed " << cnt_ids.count() << " simple contacts in"
    96     qDebug() << "Removed " << cnt_ids.count() << " simple contacts in"
    97         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
    97         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
    98 }
    98 }
    99 
    99 
   164 
   164 
   165         contactsList.append(alice);
   165         contactsList.append(alice);
   166     }
   166     }
   167     // Save the contacts
   167     // Save the contacts
   168     mTime.restart();
   168     mTime.restart();
   169     QList<QContactManager::Error> errors = mCntMng->saveContacts(&contactsList);
   169     QMap<int, QContactManager::Error> errors;
       
   170     mCntMng->saveContacts(&contactsList, &errors);
   170     foreach(QContactManager::Error error, errors) {
   171     foreach(QContactManager::Error error, errors) {
   171         QCOMPARE(error, QContactManager::NoError);
   172         QCOMPARE(error, QContactManager::NoError);
   172     }
   173     }
   173     int elapsed = mTime.elapsed();
   174     int elapsed = mTime.elapsed();
   174     qDebug() << "Created " << contactsList.count() << " complex contacts in"
   175     qDebug() << "Created " << contactsList.count() << " complex contacts in"
   180     QList<QContactLocalId> cnt_ids;
   181     QList<QContactLocalId> cnt_ids;
   181     QContactSortOrder sortOrder;
   182     QContactSortOrder sortOrder;
   182     QContactSortOrder sortOrder1;
   183     QContactSortOrder sortOrder1;
   183 
   184 
   184     // first name sort order
   185     // first name sort order
   185     sortOrder.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldFirst);
   186     sortOrder.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldFirstName);
   186     sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast);
   187     sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast);
   187     sortOrder.setDirection(Qt::AscendingOrder);
   188     sortOrder.setDirection(Qt::AscendingOrder);
   188     sortOrder.setCaseSensitivity(Qt::CaseInsensitive);
   189     sortOrder.setCaseSensitivity(Qt::CaseInsensitive);
   189 
   190 
   190     // last name sort order
   191     // last name sort order
   191     sortOrder1.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldLast);
   192     sortOrder1.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldLastName);
   192     sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast);
   193     sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast);
   193     sortOrder1.setDirection(Qt::AscendingOrder);
   194     sortOrder1.setDirection(Qt::AscendingOrder);
   194     sortOrder1.setCaseSensitivity(Qt::CaseInsensitive);
   195     sortOrder1.setCaseSensitivity(Qt::CaseInsensitive);
   195 
   196 
   196     QList<QContactSortOrder> sortOrders;
   197     QList<QContactSortOrder> sortOrders;
   278     unionFilter = QContactUnionFilter();
   279     unionFilter = QContactUnionFilter();
   279     QContactDetailFilter filt;
   280     QContactDetailFilter filt;
   280     filt.setValue("alice");
   281     filt.setValue("alice");
   281     filt.setMatchFlags(QContactFilter::MatchContains);
   282     filt.setMatchFlags(QContactFilter::MatchContains);
   282 
   283 
   283     filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst);
   284     filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirstName);
   284     unionFilter.append(filt);
   285     unionFilter.append(filt);
   285     filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLast);
   286     filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLastName);
   286     unionFilter.append(filt);
   287     unionFilter.append(filt);
   287 
   288 
   288     measureContactsFetch(
   289     measureContactsFetch(
   289             "Filter: first name \"alice\" or last name \"alice\"",
   290             "Filter: first name \"alice\" or last name \"alice\"",
   290             unionFilter);
   291             unionFilter);
   371 void SymbianPluginPerfomance::removeComplexContacts()
   372 void SymbianPluginPerfomance::removeComplexContacts()
   372 {
   373 {
   373     // Remove N contacts
   374     // Remove N contacts
   374     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
   375     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
   375     mTime.restart();
   376     mTime.restart();
   376     mCntMng->removeContacts(&cnt_ids);
   377     mCntMng->removeContacts(cnt_ids, 0);
   377     int elapsed = mTime.elapsed();
   378     int elapsed = mTime.elapsed();
   378     qDebug() << "Removed " << cnt_ids.count() << " complex contacts in"
   379     qDebug() << "Removed " << cnt_ids.count() << " complex contacts in"
   379         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
   380         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
   380 }
   381 }
   381 
   382 
   440         alice.saveDetail(&org);
   441         alice.saveDetail(&org);
   441         QContactOnlineAccount aliceOnlineAccount;
   442         QContactOnlineAccount aliceOnlineAccount;
   442         QString uri = first + "@yahoo.com";
   443         QString uri = first + "@yahoo.com";
   443         aliceOnlineAccount.setAccountUri(uri);
   444         aliceOnlineAccount.setAccountUri(uri);
   444         aliceOnlineAccount.setServiceProvider("yahoo");
   445         aliceOnlineAccount.setServiceProvider("yahoo");
   445         aliceOnlineAccount.setNickname("something");
       
   446         aliceOnlineAccount.setSubTypes(QContactOnlineAccount::SubTypeSip);
   446         aliceOnlineAccount.setSubTypes(QContactOnlineAccount::SubTypeSip);
   447         alice.saveDetail(&aliceOnlineAccount);
   447         alice.saveDetail(&aliceOnlineAccount);
   448         contactsList.append(alice);
   448         contactsList.append(alice);
   449     }
   449     }
   450     mTime.restart();
   450     mTime.restart();
   451     QList<QContactManager::Error> errors = mCntMng->saveContacts(&contactsList);
   451     QMap<int, QContactManager::Error> errors;
       
   452     mCntMng->saveContacts(&contactsList, &errors);
   452     foreach(QContactManager::Error error, errors) {
   453     foreach(QContactManager::Error error, errors) {
   453         QCOMPARE(error, QContactManager::NoError);
   454         QCOMPARE(error, QContactManager::NoError);
   454     }
   455     }
   455     int elapsed = mTime.elapsed();
   456     int elapsed = mTime.elapsed();
   456     qDebug() << "Created " << contactsList.count() << " complex contacts with online account in"
   457     qDebug() << "Created " << contactsList.count() << " complex contacts with online account in"
   459 void SymbianPluginPerfomance::sortContactsWithOnlineAccount()
   460 void SymbianPluginPerfomance::sortContactsWithOnlineAccount()
   460 {
   461 {
   461     QList<QContactLocalId> cnt_ids;
   462     QList<QContactLocalId> cnt_ids;
   462     QContactSortOrder sortOrder;
   463     QContactSortOrder sortOrder;
   463     QContactSortOrder sortOrder1;
   464     QContactSortOrder sortOrder1;
   464     sortOrder.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldFirst);
   465     sortOrder.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldFirstName);
   465     sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast);
   466     sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast);
   466     sortOrder.setDirection(Qt::AscendingOrder);
   467     sortOrder.setDirection(Qt::AscendingOrder);
   467     sortOrder.setCaseSensitivity(Qt::CaseInsensitive);
   468     sortOrder.setCaseSensitivity(Qt::CaseInsensitive);
   468     sortOrder1.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldLast);
   469     sortOrder1.setDetailDefinitionName(QContactName::DefinitionName,  QContactName::FieldLastName);
   469     sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast);
   470     sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast);
   470     sortOrder1.setDirection(Qt::AscendingOrder);
   471     sortOrder1.setDirection(Qt::AscendingOrder);
   471     sortOrder1.setCaseSensitivity(Qt::CaseInsensitive);
   472     sortOrder1.setCaseSensitivity(Qt::CaseInsensitive);
   472     QList<QContactSortOrder> sortOrders;
   473     QList<QContactSortOrder> sortOrders;
   473     sortOrders.append(sortOrder);
   474     sortOrders.append(sortOrder);
   487 }
   488 }
   488 void SymbianPluginPerfomance::removeComplextContactsWithOnlineAccount()
   489 void SymbianPluginPerfomance::removeComplextContactsWithOnlineAccount()
   489 {
   490 {
   490     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
   491     QList<QContactLocalId> cnt_ids = mCntMng->contactIds();
   491     mTime.restart();
   492     mTime.restart();
   492     mCntMng->removeContacts(&cnt_ids);
   493     mCntMng->removeContacts(cnt_ids, 0);
   493     int elapsed = mTime.elapsed();
   494     int elapsed = mTime.elapsed();
   494     qDebug() << "Removed " << cnt_ids.count() << " complext contacts with online account in"
   495     qDebug() << "Removed " << cnt_ids.count() << " complext contacts with online account in"
   495         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
   496         << elapsed / 1000 << "s" << elapsed % 1000 << "ms";
   496 }
   497 }
   497 QTEST_MAIN(SymbianPluginPerfomance);
   498 QTEST_MAIN(SymbianPluginPerfomance);