From 8df9466ada46e4b07990b9cb7e8b1cd61b96844a Mon Sep 17 00:00:00 2001 From: me_desk Date: Sun, 17 Jun 2012 21:15:12 +0000 Subject: todo list update git-svn-id: svn://localhost/project_picapica/trunk@128 fb96df88-216d-11de-830c-f3023f12d8ac --- pica-client/nodes.cpp | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 pica-client/nodes.cpp (limited to 'pica-client/nodes.cpp') diff --git a/pica-client/nodes.cpp b/pica-client/nodes.cpp new file mode 100644 index 0000000..eb8bfcc --- /dev/null +++ b/pica-client/nodes.cpp @@ -0,0 +1,73 @@ +#include "nodes.h" + +Nodes::Nodes(QString storage) +{ + dbconn=QSqlDatabase::addDatabase("QSQLITE"); + dbconn.setDatabaseName(storage); + + if (!dbconn.open()) + { + lasterr=dbconn.lastError(); + return; + } +//check if table nodes exists +} + +void Nodes::Add(NodeRecord &n) +{ + QSqlQuery query; + + query.prepare("insert into nodes (address, port, last_active, inactive_count) values (:addr, :port, strftime('%s','now'), 0)"); + query.bindValue(":addr",n.address); + query.bindValue(":port",n.port); + query.exec(); + + lasterr=query.lastError(); +} + +QList Nodes::GetNodes() +{ + QList L; + NodeRecord r; + QSqlQuery query; + + query.setForwardOnly(true); + query.exec("select address, port from nodes order by inactive_count asc, last_active desc"); + lasterr=query.lastError(); + + if (lasterr.isValid()) + return L; + + while(query.next()) + { + r.address =query.value(0).toString(); + r.port =query.value(1).toUInt(); + + L<