summaryrefslogtreecommitdiffstats
path: root/kio/kio/slaveconfig.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kio/kio/slaveconfig.cpp')
-rw-r--r--kio/kio/slaveconfig.cpp225
1 files changed, 0 insertions, 225 deletions
diff --git a/kio/kio/slaveconfig.cpp b/kio/kio/slaveconfig.cpp
deleted file mode 100644
index c0ec44779..000000000
--- a/kio/kio/slaveconfig.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-// -*- c++ -*-
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Waldo Bastian <bastian@kde.org>
- *
- * $Id$
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License version 2 as published by the Free Software Foundation.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- **/
-
-#include <assert.h>
-
-#include <tqdict.h>
-
-#include <kconfig.h>
-#include <kstaticdeleter.h>
-#include <kprotocolinfo.h>
-#include <kprotocolmanager.h>
-
-#include "slaveconfig.h"
-
-using namespace TDEIO;
-
-namespace TDEIO {
-
-class SlaveConfigProtocol
-{
-public:
- SlaveConfigProtocol() { host.setAutoDelete(true); }
- ~SlaveConfigProtocol()
- {
- delete configFile;
- }
-
-public:
- MetaData global;
- TQDict<MetaData> host;
- TDEConfig *configFile;
-};
-
-static void readConfig(TDEConfig *config, const TQString & group, MetaData *metaData)
-{
- *metaData += config->entryMap(group);
-}
-
-class SlaveConfigPrivate
-{
- public:
- void readGlobalConfig();
- SlaveConfigProtocol *readProtocolConfig(const TQString &_protocol);
- SlaveConfigProtocol *findProtocolConfig(const TQString &_protocol);
- void readConfigProtocolHost(const TQString &_protocol, SlaveConfigProtocol *scp, const TQString &host);
- public:
- MetaData global;
- TQDict<SlaveConfigProtocol> protocol;
-};
-
-void SlaveConfigPrivate::readGlobalConfig()
-{
- global.clear();
- // Read stuff...
- TDEConfig *config = KProtocolManager::config();
- readConfig(TDEGlobal::config(), "Socks", &global); // Socks settings.
- if ( config )
- readConfig(config, "<default>", &global);
-}
-
-SlaveConfigProtocol* SlaveConfigPrivate::readProtocolConfig(const TQString &_protocol)
-{
- SlaveConfigProtocol *scp = protocol.find(_protocol);
- if (!scp)
- {
- TQString filename = KProtocolInfo::config(_protocol);
- scp = new SlaveConfigProtocol;
- scp->configFile = new TDEConfig(filename, true, false);
- protocol.insert(_protocol, scp);
- }
- // Read global stuff...
- readConfig(scp->configFile, "<default>", &(scp->global));
- return scp;
-}
-
-SlaveConfigProtocol* SlaveConfigPrivate::findProtocolConfig(const TQString &_protocol)
-{
- SlaveConfigProtocol *scp = protocol.find(_protocol);
- if (!scp)
- scp = readProtocolConfig(_protocol);
- return scp;
-}
-
-void SlaveConfigPrivate::readConfigProtocolHost(const TQString &, SlaveConfigProtocol *scp, const TQString &host)
-{
- MetaData *metaData = new MetaData;
- scp->host.replace(host, metaData);
-
- // Read stuff
- // Break host into domains
- TQString domain = host;
-
- if (!domain.contains('.'))
- {
- // Host without domain.
- if (scp->configFile->hasGroup("<local>"))
- readConfig(scp->configFile, "<local>", metaData);
- }
-
- int pos = 0;
- do
- {
- pos = host.findRev('.', pos-1);
-
- if (pos < 0)
- domain = host;
- else
- domain = host.mid(pos+1);
-
- if (scp->configFile->hasGroup(domain))
- readConfig(scp->configFile, domain.lower(), metaData);
- }
- while (pos > 0);
-}
-
-
-SlaveConfig *SlaveConfig::_self = 0;
-static KStaticDeleter<SlaveConfig> slaveconfigsd;
-
-SlaveConfig *SlaveConfig::self()
-{
- if (!_self)
- _self = slaveconfigsd.setObject(_self, new SlaveConfig);
- return _self;
-}
-
-SlaveConfig::SlaveConfig()
-{
- d = new SlaveConfigPrivate;
- d->protocol.setAutoDelete(true);
- d->readGlobalConfig();
-}
-
-SlaveConfig::~SlaveConfig()
-{
- delete d; d = 0;
- _self = 0;
-}
-
-void SlaveConfig::setConfigData(const TQString &protocol,
- const TQString &host,
- const TQString &key,
- const TQString &value )
-{
- MetaData config;
- config.insert(key, value);
- setConfigData(protocol, host, config);
-}
-
-void SlaveConfig::setConfigData(const TQString &protocol, const TQString &host, const MetaData &config )
-{
- if (protocol.isEmpty())
- d->global += config;
- else {
- SlaveConfigProtocol *scp = d->findProtocolConfig(protocol);
- if (host.isEmpty())
- {
- scp->global += config;
- }
- else
- {
- MetaData *hostConfig = scp->host.find(host);
- if (!hostConfig)
- {
- d->readConfigProtocolHost(protocol, scp, host);
- hostConfig = scp->host.find(host);
- assert(hostConfig);
- }
- *hostConfig += config;
- }
- }
-}
-
-MetaData SlaveConfig::configData(const TQString &protocol, const TQString &host)
-{
- MetaData config = d->global;
- SlaveConfigProtocol *scp = d->findProtocolConfig(protocol);
- config += scp->global;
- if (host.isEmpty())
- return config;
- MetaData *hostConfig = scp->host.find(host);
- if (!hostConfig)
- {
- d->readConfigProtocolHost(protocol, scp, host);
- emit configNeeded(protocol, host);
- hostConfig = scp->host.find(host);
- assert(hostConfig);
- }
- config += *hostConfig;
- return config;
-}
-
-TQString SlaveConfig::configData(const TQString &protocol, const TQString &host, const TQString &key)
-{
- return configData(protocol, host)[key];
-}
-
-void SlaveConfig::reset()
-{
- d->protocol.clear();
- d->readGlobalConfig();
-}
-
-}
-
-#include "slaveconfig.moc"