65
60
ContactEntry *ContactsMap::take(FolksIndividual *individual)
67
if (m_individualsToEntry.remove(individual)) {
68
return m_idToEntry.take(folks_individual_get_id(individual));
62
QString contactId = QString::fromUtf8(folks_individual_get_id(individual));
63
return take(contactId);
66
ContactEntry *ContactsMap::take(const QString &id)
68
QMutexLocker locker(&m_mutex);
69
return m_idToEntry.take(id);
73
72
void ContactsMap::remove(const QString &id)
75
ContactEntry *entry = m_idToEntry[id];
74
QMutexLocker locker(&m_mutex);
75
ContactEntry *entry = m_idToEntry.value(id,0);
77
m_individualsToEntry.remove(entry->individual()->individual());
78
77
m_idToEntry.remove(id);
83
bool ContactsMap::contains(FolksIndividual *individual) const
85
return m_individualsToEntry.contains(individual);
88
82
void ContactsMap::insert(ContactEntry *entry)
84
QMutexLocker locker(&m_mutex);
90
85
FolksIndividual *fIndividual = entry->individual()->individual();
91
m_idToEntry.insert(folks_individual_get_id(fIndividual), entry);
92
m_individualsToEntry.insert(fIndividual, entry);
87
m_idToEntry.insert(folks_individual_get_id(fIndividual), entry);
95
91
int ContactsMap::size() const
100
96
void ContactsMap::clear()
98
QMutexLocker locker(&m_mutex);
102
99
QList<ContactEntry*> entries = m_idToEntry.values();
103
100
m_idToEntry.clear();
104
m_individualsToEntry.clear();
106
101
qDeleteAll(entries);
104
void ContactsMap::lock()
109
void ContactsMap::unlock()
109
114
QList<ContactEntry*> ContactsMap::values() const
111
return m_individualsToEntry.values();
116
return m_idToEntry.values();
114
119
ContactEntry *ContactsMap::valueFromVCard(const QString &vcard) const
133
bool ContactsMap::contains(FolksIndividual *individual) const
135
QString contactId = QString::fromUtf8(folks_individual_get_id(individual));
136
return contains(contactId);
139
bool ContactsMap::contains(const QString &id) const
141
return m_idToEntry.contains(id);
144
ContactEntry *ContactsMap::value(FolksIndividual *individual) const
146
QString contactId = QString::fromUtf8(folks_individual_get_id(individual));
147
return m_idToEntry.value(contactId, 0);