- QSqlQuery networksQuery(db);
- networksQuery.prepare(queryString("select_networks_for_user"));
- networksQuery.bindValue(":userid", user.toInt());
-
- QSqlQuery serversQuery(db);
- serversQuery.prepare(queryString("select_servers_for_network"));
-
- lockForRead();
- safeExec(networksQuery);
- if(!watchQuery(networksQuery)) {
- db.commit();
- unlock();
- return nets;
- }
-
- while(networksQuery.next()) {
- NetworkInfo net;
- net.networkId = networksQuery.value(0).toInt();
- net.networkName = networksQuery.value(1).toString();
- net.identity = networksQuery.value(2).toInt();
- net.codecForServer = networksQuery.value(3).toString().toAscii();
- net.codecForEncoding = networksQuery.value(4).toString().toAscii();
- net.codecForDecoding = networksQuery.value(5).toString().toAscii();
- net.useRandomServer = networksQuery.value(6).toInt() == 1 ? true : false;
- net.perform = networksQuery.value(7).toString().split("\n");
- net.useAutoIdentify = networksQuery.value(8).toInt() == 1 ? true : false;
- net.autoIdentifyService = networksQuery.value(9).toString();
- net.autoIdentifyPassword = networksQuery.value(10).toString();
- net.useAutoReconnect = networksQuery.value(11).toInt() == 1 ? true : false;
- net.autoReconnectInterval = networksQuery.value(12).toUInt();
- net.autoReconnectRetries = networksQuery.value(13).toInt();
- net.unlimitedReconnectRetries = networksQuery.value(14).toInt() == 1 ? true : false;
- net.rejoinChannels = networksQuery.value(15).toInt() == 1 ? true : false;
-
- serversQuery.bindValue(":networkid", net.networkId.toInt());
- safeExec(serversQuery);
- if(!watchQuery(serversQuery)) {
- db.commit();
- unlock();
- return nets;
- }
-
- Network::ServerList servers;
- while(serversQuery.next()) {
- Network::Server server;
- server.host = serversQuery.value(0).toString();
- server.port = serversQuery.value(1).toUInt();
- server.password = serversQuery.value(2).toString();
- server.useSsl = serversQuery.value(3).toInt() == 1 ? true : false;
- server.sslVersion = serversQuery.value(4).toInt();
- server.useProxy = serversQuery.value(5).toInt() == 1 ? true : false;
- server.proxyType = serversQuery.value(6).toInt();
- server.proxyHost = serversQuery.value(7).toString();
- server.proxyPort = serversQuery.value(8).toUInt();
- server.proxyUser = serversQuery.value(9).toString();
- server.proxyPass = serversQuery.value(10).toString();
- servers << server;
+ {
+ QSqlQuery networksQuery(db);
+ networksQuery.prepare(queryString("select_networks_for_user"));
+ networksQuery.bindValue(":userid", user.toInt());
+
+ QSqlQuery serversQuery(db);
+ serversQuery.prepare(queryString("select_servers_for_network"));
+
+ lockForRead();
+ safeExec(networksQuery);
+ if(watchQuery(networksQuery)) {
+ while(networksQuery.next()) {
+ NetworkInfo net;
+ net.networkId = networksQuery.value(0).toInt();
+ net.networkName = networksQuery.value(1).toString();
+ net.identity = networksQuery.value(2).toInt();
+ net.codecForServer = networksQuery.value(3).toString().toAscii();
+ net.codecForEncoding = networksQuery.value(4).toString().toAscii();
+ net.codecForDecoding = networksQuery.value(5).toString().toAscii();
+ net.useRandomServer = networksQuery.value(6).toInt() == 1 ? true : false;
+ net.perform = networksQuery.value(7).toString().split("\n");
+ net.useAutoIdentify = networksQuery.value(8).toInt() == 1 ? true : false;
+ net.autoIdentifyService = networksQuery.value(9).toString();
+ net.autoIdentifyPassword = networksQuery.value(10).toString();
+ net.useAutoReconnect = networksQuery.value(11).toInt() == 1 ? true : false;
+ net.autoReconnectInterval = networksQuery.value(12).toUInt();
+ net.autoReconnectRetries = networksQuery.value(13).toInt();
+ net.unlimitedReconnectRetries = networksQuery.value(14).toInt() == 1 ? true : false;
+ net.rejoinChannels = networksQuery.value(15).toInt() == 1 ? true : false;
+
+ serversQuery.bindValue(":networkid", net.networkId.toInt());
+ safeExec(serversQuery);
+ if(!watchQuery(serversQuery)) {
+ nets.clear();
+ break;
+ } else {
+ Network::ServerList servers;
+ while(serversQuery.next()) {
+ Network::Server server;
+ server.host = serversQuery.value(0).toString();
+ server.port = serversQuery.value(1).toUInt();
+ server.password = serversQuery.value(2).toString();
+ server.useSsl = serversQuery.value(3).toInt() == 1 ? true : false;
+ server.sslVersion = serversQuery.value(4).toInt();
+ server.useProxy = serversQuery.value(5).toInt() == 1 ? true : false;
+ server.proxyType = serversQuery.value(6).toInt();
+ server.proxyHost = serversQuery.value(7).toString();
+ server.proxyPort = serversQuery.value(8).toUInt();
+ server.proxyUser = serversQuery.value(9).toString();
+ server.proxyPass = serversQuery.value(10).toString();
+ servers << server;
+ }
+ net.serverList = servers;
+ nets << net;
+ }
+ }