59 #include <QLatin1String> |
59 #include <QLatin1String> |
60 #include <e32cmn.h> |
60 #include <e32cmn.h> |
61 #include <cntdb.h> |
61 #include <cntdb.h> |
62 |
62 |
63 |
63 |
64 CntSymbianFilter::CntSymbianFilter(QContactManagerEngine& /*manager*/, CContactDatabase& contactDatabase, const CntTransformContact &transformContact): |
64 CntSymbianFilter::CntSymbianFilter(QContactManagerEngine& /*manager*/, CContactDatabase& contactDatabase, CntSymbianSrvConnection &srvConnection, const CntTransformContact &transformContact): |
65 m_contactDatabase(contactDatabase), |
65 m_contactDatabase(contactDatabase), |
66 m_transformContact(transformContact) |
66 m_transformContact(transformContact), |
|
67 m_srvConnection(srvConnection) |
67 { |
68 { |
68 m_srvConnection = new CntSymbianSrvConnection(); |
|
69 m_dbInfo = new CntDbInfo(); |
69 m_dbInfo = new CntDbInfo(); |
70 initializeFilters(); |
70 initializeFilters(); |
71 |
|
72 } |
71 } |
73 |
72 |
74 void CntSymbianFilter::initializeFilters() |
73 void CntSymbianFilter::initializeFilters() |
75 { |
74 { |
76 m_filterMap.insert(QContactFilter::ContactDetailFilter, new CntFilterDetail(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
75 m_filterMap.insert(QContactFilter::ContactDetailFilter, new CntFilterDetail(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
77 m_filterMap.insert(QContactFilter::DefaultFilter, new CntFilterDefault(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
76 m_filterMap.insert(QContactFilter::DefaultFilter, new CntFilterDefault(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
78 m_filterMap.insert(QContactFilter::IntersectionFilter, new CntFilterIntersection(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
77 m_filterMap.insert(QContactFilter::IntersectionFilter, new CntFilterIntersection(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
79 m_filterMap.insert(QContactFilter::UnionFilter, new CntFilterUnion(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
78 m_filterMap.insert(QContactFilter::UnionFilter, new CntFilterUnion(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
80 m_filterMap.insert(QContactFilter::RelationshipFilter, new CntFilterRelationship(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
79 m_filterMap.insert(QContactFilter::RelationshipFilter, new CntFilterRelationship(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
81 m_filterMap.insert(QContactFilter::InvalidFilter, new CntFilterInvalid(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
80 m_filterMap.insert(QContactFilter::InvalidFilter, new CntFilterInvalid(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
82 m_filterMap.insert(QContactFilter::ContactDetailRangeFilter, new CntFilterdetailrange(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
81 m_filterMap.insert(QContactFilter::ContactDetailRangeFilter, new CntFilterdetailrange(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
83 m_filterMap.insert(QContactFilter::ChangeLogFilter, new CntFilterChangeLog(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
82 m_filterMap.insert(QContactFilter::ChangeLogFilter, new CntFilterChangeLog(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
84 m_filterMap.insert(QContactFilter::ActionFilter, new CntFilterAction(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
83 m_filterMap.insert(QContactFilter::ActionFilter, new CntFilterAction(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
85 m_filterMap.insert(QContactFilter::LocalIdFilter, new CntFilterLocalId(m_contactDatabase,*m_srvConnection,*m_dbInfo)); |
84 m_filterMap.insert(QContactFilter::LocalIdFilter, new CntFilterLocalId(m_contactDatabase,m_srvConnection,*m_dbInfo)); |
86 |
85 } |
87 } |
|
88 |
|
89 |
|
90 |
86 |
91 CntSymbianFilter::~CntSymbianFilter() |
87 CntSymbianFilter::~CntSymbianFilter() |
92 { |
88 { |
93 |
|
94 |
|
95 //delete the all filters from the map |
89 //delete the all filters from the map |
96 QMap<QContactFilter::FilterType, CntAbstractContactFilter*>::iterator itr; |
90 QMap<QContactFilter::FilterType, CntAbstractContactFilter*>::iterator itr; |
97 |
91 |
98 for (itr = m_filterMap.begin(); itr != m_filterMap.end(); ++itr) |
92 for (itr = m_filterMap.begin(); itr != m_filterMap.end(); ++itr) |
99 { |
93 { |
100 CntAbstractContactFilter* value = itr.value(); |
94 CntAbstractContactFilter* value = itr.value(); |
101 delete value; |
95 delete value; |
102 value = 0; |
96 value = 0; |
103 } |
97 } |
104 |
98 |
105 delete m_srvConnection; |
|
106 delete m_dbInfo; |
99 delete m_dbInfo; |
107 } |
100 } |
108 |
101 |
109 QList<QContactLocalId> CntSymbianFilter::contacts( |
102 QList<QContactLocalId> CntSymbianFilter::contacts( |
110 const QContactFilter& filter, |
103 const QContactFilter& filter, |