diff options
Diffstat (limited to 'tdenetworkmanager/src/knetworkmanager-connection_store.cpp')
-rw-r--r-- | tdenetworkmanager/src/knetworkmanager-connection_store.cpp | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/tdenetworkmanager/src/knetworkmanager-connection_store.cpp b/tdenetworkmanager/src/knetworkmanager-connection_store.cpp deleted file mode 100644 index aeb3b60..0000000 --- a/tdenetworkmanager/src/knetworkmanager-connection_store.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/*************************************************************************** - * - * knetworkmanager-connection_store.h - A NetworkManager frontend for KDE - * - * Copyright (C) 2005, 2006 Novell, Inc. - * - * Author: Helmut Schaa <[email protected]>, <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - **************************************************************************/ - -#include <tqtimer.h> -#include <tquuid.h> -#include <tqdbusobjectpath.h> - -#include <kstaticdeleter.h> -#include <kapplication.h> -#include <kdebug.h> - -#include "knetworkmanager-connection_store.h" -#include "knetworkmanager-connection.h" -#include "knetworkmanager-connection_setting.h" -#include "knetworkmanager-connection_setting_info.h" -#include "knetworkmanager-connection_setting_ipv4.h" -#include "knetworkmanager-connection_setting_wired.h" -#include "knetworkmanager-connection_setting_wireless.h" -#include "knetworkmanager-connection_setting_wireless_security.h" - -using namespace ConnectionSettings; - -static KStaticDeleter<ConnectionStore> sd; - -ConnectionStore* ConnectionStore::_instance = NULL; - -ConnectionStore* -ConnectionStore::getInstance() -{ - if (_instance) - return _instance; - return sd.setObject(_instance, new ConnectionStore()); -} - -ConnectionStore::ConnectionStore() - : _connectionList() -{ - // defer the connection init a bit - TQTimer::singleShot(0, this, TQT_SLOT(slotInit())); -} - -ConnectionStore::~ConnectionStore() -{ - for (TQValueList<Connection*>::Iterator it = _connectionList.begin(); it != _connectionList.end(); ++it) - { - delete (*it); - *it = NULL; - } -} - -void -ConnectionStore::slotInit() -{ - -} - -void -ConnectionStore::slotSecretsNeeded(Connection* conn, ConnectionSetting* setting, const TQStringList& hints, bool request_new) -{ - kdDebug() << "ConnectionStore::slotSecretsNeeded" << endl; - emit SecretsNeeded(conn, setting, hints, request_new); -} - -void -ConnectionStore::addConnection(Connection* con) -{ - if (_connectionList.find(con) != _connectionList.end()) - { - con->slotUpdated(); - emit signalConnectionUpdated(con); - return; - } - - // check if the connection has an ID already - if (con->getID().isEmpty()) - { - // set unique id for this connection - con->setID(createNewConnectionID()); - } - - // we own the connection now - _connectionList.append(con); - - // let's get notified if the connection asks for new secrets - connect(con, TQT_SIGNAL(SecretsNeeded(Connection*, ConnectionSetting*, const TQStringList&, bool)), - this, TQT_SLOT(slotSecretsNeeded(Connection*, ConnectionSetting*, const TQStringList&, bool))); - - // new connection, ring ring - emit signalConnectionAdded(con); -} - -void -ConnectionStore::removeConnection(Connection* con) -{ - // check if the connection is != NULL - if (!con) - return; - - // remove the object from our list - if (_connectionList.remove(con) == 0) - return; - - // notify everybody about the removed connection - emit signalConnectionRemoved(con); - - // delete the connection, it will deregister itself from NM - con->slotAboutToBeRemoved(); - delete con; -} - -Connection* -ConnectionStore::getConnection(const TQString& obj_path) -{ - // find a connection by obj_path - TQValueList<Connection*>::Iterator it = _connectionList.begin(); - for (; it != _connectionList.end(); ++it) - if (TQString((*it)->getObjectPath()) == obj_path) - return (*it); - return NULL; -} - -TQValueList<Connection*> -ConnectionStore::getConnections(const TQString& type) -{ - // return a list of connection - if (type.isEmpty()) - return _connectionList; - else - { - TQValueList<Connection*> ret; - for (TQValueList<Connection*>::Iterator it = _connectionList.begin(); it != _connectionList.end(); ++it) - { - if ( (*it)->getType() == type) - ret.append(*it); - } - return ret; - } -} - -TQString -ConnectionStore::createNewConnectionID() -{ - bool unique; - TQString id; - - do - { - unique = true; - - // 16 bytes of randomness should be enougth for getting a unique ID - id = TQUuid::createUuid().toString(); - id = id.replace("{",""); - id = id.replace("}",""); - - // nevertheless check if the id is used already - TQValueList<Connection*>::Iterator it = _connectionList.begin(); - for (; it != _connectionList.end(); ++it) - { - if ((*it)->getID() == id) - { - unique = false; - break; - } - } - } while (unique == false); - - return id; -} - -#include "knetworkmanager-connection_store.moc" |