summaryrefslogtreecommitdiffstats
path: root/pica-client/contacts.cpp
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
commit8df9466ada46e4b07990b9cb7e8b1cd61b96844a (patch)
tree2cb652e5839bed672133ffa90e7ad477f55cfb6b /pica-client/contacts.cpp
downloadpica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.tar.gz
pica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.zip
todo list update
git-svn-id: svn://localhost/project_picapica/trunk@128 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client/contacts.cpp')
-rw-r--r--pica-client/contacts.cpp133
1 files changed, 133 insertions, 0 deletions
diff --git a/pica-client/contacts.cpp b/pica-client/contacts.cpp
new file mode 100644
index 0000000..7b66c4f
--- /dev/null
+++ b/pica-client/contacts.cpp
@@ -0,0 +1,133 @@
+#include "contacts.h"
+
+
+//#include <QMessageBox>
+
+Contacts::Contacts(QString storage, quint32 user_account_id)
+ : account_id_(user_account_id)
+{
+ dbconn=QSqlDatabase::addDatabase("QSQLITE");
+ dbconn.setDatabaseName(storage);
+
+ if (!dbconn.open())
+ {
+ lasterr=dbconn.lastError();
+ return;
+ }
+
+//check if table contacts exists
+//...
+
+ QSqlQuery query;
+
+ query.exec("PRAGMA foreign_keys=ON;");
+
+ //check result, if foreign keys support is on
+}
+
+bool Contacts::isOK()
+{
+ return !lasterr.isValid();
+}
+
+QString Contacts::GetLastError()
+{
+ return lasterr.text();
+}
+
+void Contacts::Add(quint32 id)
+{
+ QSqlQuery query;
+
+ query.prepare("insert into contacts (id, name, cert_pem, account_id) values (:id, NULL, NULL, :account_id)");
+ query.bindValue(":id",id);
+ query.bindValue(":account_id",account_id_);
+ query.exec();
+
+ lasterr=query.lastError();
+}
+
+void Contacts::Delete(quint32 id)
+{
+ QSqlQuery query;
+
+ query.prepare("delete from contacts where id=:id and account_id=:account_id");
+ query.bindValue(":id",id);
+ query.bindValue(":account_id",account_id_);
+ query.exec();
+
+ lasterr=query.lastError();
+}
+
+QList<Contacts::ContactRecord> Contacts::GetContacts()
+{
+ QList<ContactRecord> L;
+ ContactRecord r;
+ QSqlQuery query;
+
+ query.setForwardOnly(true);
+ query.prepare("select id, name from contacts where account_id=:account_id");
+ query.bindValue(":account_id",account_id_);
+ query.exec();
+ lasterr=query.lastError();
+
+ if (lasterr.isValid())
+ return L;
+
+ while(query.next())
+ {
+ r.id=query.value(0).toUInt();
+ r.name=query.value(1).toString();
+ //CSTRL.append(" ("+query.value(0).toString()+") "+query.value(1).toString());
+ L<<r;
+ }
+
+ return L;
+}
+
+QString Contacts::GetContactCert(quint32 id)
+{
+ QSqlQuery query;
+
+ query.prepare("select cert_pem from contacts where id=:id and account_id=:account_id");
+ query.bindValue(":id",id);
+ query.bindValue(":account_id",account_id_);
+ query.exec();
+
+ lasterr=query.lastError();
+
+ if (lasterr.isValid())
+ return QString::null;
+
+ query.next();
+
+ return query.value(0).toString();
+}
+
+void Contacts::SetContactCert(quint32 id, QString &cert_pem)
+{
+ QSqlQuery query;
+
+ query.prepare("update contacts set cert_pem=:cert_pem where id=:id and account_id=:account_id");
+ query.bindValue(":cert_pem",cert_pem);
+ query.bindValue(":id",id);
+ query.bindValue(":account_id",account_id_);
+ query.exec();
+
+ lasterr=query.lastError();
+
+}
+
+void Contacts::SetContactName(quint32 id, QString name)
+{
+ QSqlQuery query;
+
+ query.prepare("update contacts set name=:name where id=:id and account_id=:account_id");
+ query.bindValue(":name",name);
+ query.bindValue(":id",id);
+ query.bindValue(":account_id",account_id_);
+ query.exec();
+
+ lasterr=query.lastError();
+}
+