- return false;
- }
-
- {
- QSqlQuery deleteBuffersQuery(db);
- deleteBuffersQuery.prepare(queryString("delete_buffers_for_network"));
- deleteBuffersQuery.bindValue(":networkid", networkId.toInt());
- safeExec(deleteBuffersQuery);
- if(!watchQuery(deleteBuffersQuery)) {
- db.rollback();
- error = true;
- }
- }
- if(error) {
- unlock();
- return false;
- }
-
- {
- QSqlQuery deleteServersQuery(db);
- deleteServersQuery.prepare(queryString("delete_ircservers_for_network"));
- deleteServersQuery.bindValue(":networkid", networkId.toInt());
- safeExec(deleteServersQuery);
- if(!watchQuery(deleteServersQuery)) {
- db.rollback();
- error = true;
- }
- }
- if(error) {
- unlock();
- return false;
- }
-
- db.commit();
- unlock();
- return true;
-}
-
-QList<NetworkInfo> SqliteStorage::networks(UserId user) {
- QList<NetworkInfo> nets;
-
- QSqlDatabase db = logDb();
- db.transaction();
-
- {
- 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;
- net.useSasl = networksQuery.value(16).toInt() == 1 ? true : false;
- net.saslAccount = networksQuery.value(17).toString();
- net.saslPassword = networksQuery.value(18).toString();
-
- 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;
- }
- }
- }
- }
- db.commit();
- unlock();
- return nets;
-}
-
-QList<NetworkId> SqliteStorage::connectedNetworks(UserId user) {
- QList<NetworkId> connectedNets;
-
- QSqlDatabase db = logDb();
- db.transaction();
-
- {
- QSqlQuery query(db);
- query.prepare(queryString("select_connected_networks"));
- query.bindValue(":userid", user.toInt());
- lockForRead();
- safeExec(query);
- watchQuery(query);