qtmobility/plugins/contacts/symbiansim/src/cntsimdetaildefinitionfetchrequest.cpp
--- a/qtmobility/plugins/contacts/symbiansim/src/cntsimdetaildefinitionfetchrequest.cpp Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/plugins/contacts/symbiansim/src/cntsimdetaildefinitionfetchrequest.cpp Mon May 03 13:18:40 2010 +0300
@@ -41,13 +41,10 @@
#include "cntsimdetaildefinitionfetchrequest.h"
#include "cntsymbiansimengine.h"
-#include "cntsimstore.h"
#include <qcontactdetaildefinitionfetchrequest.h>
-#include <QTimer>
CntSimDetailDefinitionFetchRequest::CntSimDetailDefinitionFetchRequest(CntSymbianSimEngine *engine, QContactDetailDefinitionFetchRequest *req)
- :CntAbstractSimRequest(engine),
- m_req(req)
+ :CntAbstractSimRequest(engine, req)
{
}
@@ -57,26 +54,11 @@
cancel();
}
-bool CntSimDetailDefinitionFetchRequest::start()
-{
- singleShotTimer(0, this, SLOT(readDetailDefinitions()));
- QContactManagerEngine::updateRequestState(m_req, QContactAbstractRequest::ActiveState);
- return true;
-}
-
-bool CntSimDetailDefinitionFetchRequest::cancel()
+void CntSimDetailDefinitionFetchRequest::run()
{
- if (m_req->isActive()) {
- cancelTimer();
- QContactManagerEngine::updateRequestState(m_req, QContactAbstractRequest::CanceledState);
- return true;
- }
- return false;
-}
-
-void CntSimDetailDefinitionFetchRequest::readDetailDefinitions()
-{
- if (m_req->isCanceled())
+ QContactDetailDefinitionFetchRequest *r = req<QContactDetailDefinitionFetchRequest>();
+
+ if (!r->isActive())
return;
QContactManager::Error error = QContactManager::NoError;
@@ -84,30 +66,31 @@
QMap<int, QContactManager::Error> errorMap;
// Get all detail definitions
- QMap<QString, QContactDetailDefinition> allDefs = engine()->detailDefinitions(m_req->contactType(), error);
+ QMap<QString, QContactDetailDefinition> allDefs = engine()->detailDefinitions(r->contactType(), &error);
+
+ QStringList defNames = r->definitionNames();
// Check for error
if (error != QContactManager::NoError)
{
- for (int i=0; i<m_req->definitionNames().count(); i++)
+ for (int i=0; i<defNames.count(); i++)
errorMap.insert(i, error);
// Complete the request
- QContactManagerEngine::updateRequestState(m_req, QContactAbstractRequest::FinishedState);
- QContactManagerEngine::updateDefinitionFetchRequest(m_req, result, error, errorMap);
+ QContactManagerEngine::updateDefinitionFetchRequest(r, result, error, errorMap, QContactAbstractRequest::FinishedState);
return;
}
// Filter results
- if (m_req->definitionNames().count() == 0)
+ if (r->definitionNames().count() == 0)
{
result = allDefs;
}
else
{
- for (int i=0; i<m_req->definitionNames().count(); i++)
+ for (int i=0; i<defNames.count(); i++)
{
- QString defName = m_req->definitionNames().at(i);
+ QString defName = defNames.at(i);
if (allDefs.contains(defName))
result.insert(defName, allDefs.value(defName));
else
@@ -120,8 +103,5 @@
}
// Complete the request
- QContactManagerEngine::updateRequestState(m_req, QContactAbstractRequest::FinishedState);
- QContactManagerEngine::updateDefinitionFetchRequest(m_req, result, error, errorMap);
+ QContactManagerEngine::updateDefinitionFetchRequest(r, result, error, errorMap, QContactAbstractRequest::FinishedState);
}
-
-