SystemGui/Sources/SMSClient/ContactRepository.cpp
2017-04-12 13:37:09 -04:00

169 lines
3.5 KiB
C++

#include "ContactRepository.h"
#include <QFile>
CContactRepository::CContactRepository()
{
}
//int CContactRepository::LoadContacts()
//{
// QFile* ContactsFile = new QFile("./Configuration/Contacts.mcc");
// if(ContactsFile)
// {
// if(ContactsFile->open(QIODevice::ReadOnly | QIODevice::Unbuffered) == false)
// {
// if(ContactsFile->open(QIODevice::WriteOnly | QIODevice::Unbuffered) == true)
// {
// mContactsList.clear();
// SaveContacts(); //create an empty file...
// }
// return 0;
// }
// }
// else
// {
// return 0;
// }
// mContactsList.clear();
// QDataStream * InputStream = new QDataStream(ContactsFile);
// quint32 MagicNbr;// = 0xBAADCAFE;
// quint32 NbEntries;
// *InputStream >> MagicNbr;
// if(MagicNbr != 0xDEADBEEF)
// {
// return RET_ERROR;
// }
// *InputStream >> NbEntries;
// for(unsigned int i = 0; i < NbEntries; i++)
// {
// CContact NewContact;
// *InputStream >> NewContact;
// mContactsList.append(NewContact);
// }
// qDebug("Loaded %d contacts",mContactsList.size());
// ContactsFile->close();
// delete ContactsFile;
// delete InputStream;
// return mContactsList.size();
//}
int CContactRepository::SetContacts(QList<CContact> *ContactsList)
{
mContactsList.clear();
mContactsList = *ContactsList;
return mContactsList.size();
}
CContact * CContactRepository::FindContact(QString ContactRawNumber)
{
for(int i = 0; i < mContactsList.size(); i++)
{
if(mContactsList.at(i).mRAWContactNbr == ContactRawNumber)
{
return &mContactsList[i];
}
}
return 0;
}
int CContactRepository::AddContact(CContact Contact)
{
for(int i = 0; i < mContactsList.size(); i++)
{
if(mContactsList.at(i) == Contact)
{
mContactsList[i] = Contact;
//SaveContacts();
return RET_OK;
}
}
mContactsList.append(Contact);
// SaveContacts();
return RET_OK;
}
int CContactRepository::DeleteContact(int index)
{
if(index < 0 || index >= mContactsList.size())
{
return RET_ERROR;
}
mContactsList.takeAt(index);
// SaveContacts();
return RET_OK;
}
int CContactRepository::GetContact(int index,CContact& Contact)
{
if(index < 0 || index >= mContactsList.size())
{
return RET_ERROR;
}
Contact = mContactsList.at(index);
return RET_OK;
}
CContact *CContactRepository::GetContactPtr(int index)
{
if(index < 0 || index >= mContactsList.size())
{
return 0;
}
return &mContactsList[index];
}
//int CContactRepository::SaveContacts()
//{
// QFile* ContactsFile = new QFile("./Configuration/Contacts.mcc");
// if(ContactsFile)
// {
// if(ContactsFile->open(QIODevice::WriteOnly | QIODevice::Unbuffered | QIODevice::Truncate) == false)
// {
// return 0;
// }
// }
// else
// {
// return 0;
// }
// QDataStream * InputStream = new QDataStream(ContactsFile);
// quint32 MagicNbr = 0xDEADBEEF;
// *InputStream << MagicNbr;
// *InputStream << mContactsList.size();
// for(int i = 0; i < mContactsList.size(); i++)
// {
// *InputStream << mContactsList.at(i);
// }
// ContactsFile->close();
// delete ContactsFile;
// delete InputStream;
// qDebug("SAved %d contacts",mContactsList.size());
// return mContactsList.size();
//}