/*************************************************************************** * * knetworkmanager-storage.h - A NetworkManager frontend for KDE * * Copyright (C) 2005, 2006 Novell, Inc. * * Author: Helmut Schaa , * * 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 * **************************************************************************/ #ifndef KNETWORKMANAGER_STORAGE_H #define KNETWORKMANAGER_STORAGE_H #include #include namespace ConnectionSettings { class Connection; class ConnectionSetting; } using namespace ConnectionSettings; class StoragePrivate; // This class abstracts the storage of settings and connections to the disk class Storage : public TQObject { Q_OBJECT public: // Singleton static Storage* getInstance(); // restore all available connections void restoreConnections(); // save all connections to the config file void saveConnections(); // restore all settings secrets as they are not restored automatically bool restoreAllSecrets(Connection*); // restore a settings secrets as they are not restored automatically bool restoreSecrets(Connection*, ConnectionSetting*); bool restoreVPNSecrets(Connection*, ConnectionSetting*); // check whether we have the secrets stored, either in KWallet or in the configfile bool hasSecretsStored(Connection*, ConnectionSetting*); bool hasSecretsStored(Connection*); ~Storage(); public slots: void slotInit(); // called for every newly created connection void slotConnectionAdded(ConnectionSettings::Connection*); // called for every removed connection void slotConnectionRemoved(ConnectionSettings::Connection*); signals: private: Storage(); Connection* createConnectionByType(const TQString&); Connection* restoreConnection(const TQString&); bool restoreSecrets(Connection*, const TQString&); bool restoreVPNSecrets(Connection*, const TQString&); bool restoreSetting(Connection*, const TQString&); bool saveConnection(Connection* conn); bool saveConnectionSettings(Connection* conn, TQStringList&, TQStringList&); bool saveConnectionSetting(Connection* conn, ConnectionSetting* setting, TQString& grp); bool saveConnectionSecrets(Connection* conn, ConnectionSetting* setting, TQString& grp); bool deleteConnection(Connection* conn); StoragePrivate* d; }; #endif /* KNETWORKMANAGER_STORAGE_H */