summaryrefslogtreecommitdiffstats
path: root/tdecore/kinstance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdecore/kinstance.cpp')
-rw-r--r--tdecore/kinstance.cpp362
1 files changed, 0 insertions, 362 deletions
diff --git a/tdecore/kinstance.cpp b/tdecore/kinstance.cpp
deleted file mode 100644
index 8ae747948..000000000
--- a/tdecore/kinstance.cpp
+++ /dev/null
@@ -1,362 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 1999 Torben Weis <weis@kde.org>
-
- 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 "kinstance.h"
-
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "tdeconfig.h"
-#include "tdelocale.h"
-#include "kcharsets.h"
-#include "kiconloader.h"
-#ifdef __TDE_HAVE_TDEHWLIB
-#include "klibloader.h"
-#include "tdeversion.h"
-#include "tdehardwaredevices.h"
-#include "tdenetworkconnections.h"
-#endif
-#include "tdeaboutdata.h"
-#include "kstandarddirs.h"
-#include "kdebug.h"
-#include "tdeglobal.h"
-#include "kmimesourcefactory.h"
-
-#include <tqfont.h>
-
-#include "config.h"
-#ifndef NDEBUG
- #include <assert.h>
- #include <tqptrdict.h>
- static TQPtrList<TDEInstance> *allInstances = 0;
- static TQPtrDict<TQCString> *allOldInstances = 0;
- #define DEBUG_ADD do { if (!allInstances) { allInstances = new TQPtrList<TDEInstance>(); allOldInstances = new TQPtrDict<TQCString>(); } allInstances->append(this); allOldInstances->insert( this, new TQCString( _name)); } while (false);
- #define DEBUG_REMOVE do { allInstances->removeRef(this); } while (false);
- #define DEBUG_CHECK_ALIVE do { if (!allInstances->contains((TDEInstance*)this)) { TQCString *old = allOldInstances->find((TDEInstance*)this); tqWarning("ACCESSING DELETED KINSTANCE! (%s)", old ? old->data() : "<unknown>"); assert(false); } } while (false);
-#else
- #define DEBUG_ADD
- #define DEBUG_REMOVE
- #define DEBUG_CHECK_ALIVE
-#endif
-
-class TDEInstancePrivate
-{
-public:
- TDEInstancePrivate ()
- {
- mimeSourceFactory = 0L;
- }
-
- ~TDEInstancePrivate ()
- {
- delete mimeSourceFactory;
- }
-
- KMimeSourceFactory* mimeSourceFactory;
- TQString configName;
- bool ownAboutdata;
- TDESharedConfig::Ptr sharedConfig;
-};
-
-TDEInstance::TDEInstance( const TQCString& name)
- : _dirs (0L),
- _config (0L),
- _iconLoader (0L),
-#ifdef __TDE_HAVE_TDEHWLIB
- _hardwaredevices (0L),
- _networkmanager (0L),
-#endif
- _name( name ), _aboutData( new TDEAboutData( name, "", 0 ) ), m_configReadOnly(false)
-{
- DEBUG_ADD
- Q_ASSERT(!name.isEmpty());
- if (!TDEGlobal::_instance)
- {
- TDEGlobal::_instance = this;
- TDEGlobal::setActiveInstance(this);
- }
-
- d = new TDEInstancePrivate ();
- d->ownAboutdata = true;
-}
-
-TDEInstance::TDEInstance( const TDEAboutData * aboutData )
- : _dirs (0L),
- _config (0L),
- _iconLoader (0L),
-#ifdef __TDE_HAVE_TDEHWLIB
- _hardwaredevices (0L),
- _networkmanager (0L),
-#endif
- _name( aboutData->appName() ), _aboutData( aboutData ), m_configReadOnly(false)
-{
- DEBUG_ADD
- Q_ASSERT(!_name.isEmpty());
-
- if (!TDEGlobal::_instance)
- {
- TDEGlobal::_instance = this;
- TDEGlobal::setActiveInstance(this);
- }
-
- d = new TDEInstancePrivate ();
- d->ownAboutdata = false;
-}
-
-TDEInstance::TDEInstance( TDEInstance* src )
- : _dirs ( src->_dirs ),
- _config ( src->_config ),
- _iconLoader ( src->_iconLoader ),
-#ifdef __TDE_HAVE_TDEHWLIB
- _hardwaredevices ( src->_hardwaredevices ),
- _networkmanager ( src->_networkmanager ),
-#endif
- _name( src->_name ), _aboutData( src->_aboutData ), m_configReadOnly(false)
-{
- DEBUG_ADD
- Q_ASSERT(!_name.isEmpty());
-
- if (!TDEGlobal::_instance || TDEGlobal::_instance == src )
- {
- TDEGlobal::_instance = this;
- TDEGlobal::setActiveInstance(this);
- }
-
- d = new TDEInstancePrivate ();
- d->ownAboutdata = src->d->ownAboutdata;
- d->sharedConfig = src->d->sharedConfig;
-
- src->_dirs = 0L;
- src->_config = 0L;
- src->_iconLoader = 0L;
-#ifdef __TDE_HAVE_TDEHWLIB
- src->_hardwaredevices = 0L;
- src->_networkmanager = 0L;
-#endif
- src->_aboutData = 0L;
- delete src;
-}
-
-TDEInstance::~TDEInstance()
-{
- DEBUG_CHECK_ALIVE
-
- if (d->ownAboutdata)
- delete _aboutData;
- _aboutData = 0;
-
- delete d;
- d = 0;
-
- delete _iconLoader;
- _iconLoader = 0;
-
-#ifdef __TDE_HAVE_TDEHWLIB
- delete _hardwaredevices;
- _hardwaredevices = 0;
-
- delete _networkmanager;
- _networkmanager = 0;
-#endif
-
- // delete _config; // Do not delete, stored in d->sharedConfig
- _config = 0;
- delete _dirs;
- _dirs = 0;
-
- if (TDEGlobal::_instance == this)
- TDEGlobal::_instance = 0;
- if (TDEGlobal::activeInstance() == this)
- TDEGlobal::setActiveInstance(0);
- DEBUG_REMOVE
-}
-
-
-TDEStandardDirs *TDEInstance::dirs() const
-{
- DEBUG_CHECK_ALIVE
- if( _dirs == 0 ) {
- _dirs = new TDEStandardDirs( );
- if (_config) {
- if (_dirs->addCustomized(_config))
- _config->reparseConfiguration();
- } else
- config(); // trigger adding of possible customized dirs
- }
-
- return _dirs;
-}
-
-extern bool kde_kiosk_exception;
-extern bool kde_kiosk_admin;
-
-void TDEInstance::setConfigReadOnly(bool ro)
-{
- m_configReadOnly = ro;
-}
-
-TDEConfig *TDEInstance::config() const
-{
- DEBUG_CHECK_ALIVE
- if( _config == 0 ) {
- if ( !d->configName.isEmpty() )
- {
- d->sharedConfig = TDESharedConfig::openConfig( d->configName );
-
- // Check whether custom config files are allowed.
- d->sharedConfig->setGroup( "KDE Action Restrictions" );
- TQString kioskException = d->sharedConfig->readEntry("kiosk_exception");
- if (d->sharedConfig->readBoolEntry( "custom_config", true))
- {
- d->sharedConfig->setGroup(TQString::null);
- }
- else
- {
- d->sharedConfig = 0;
- }
-
- }
-
- if ( d->sharedConfig == 0 )
- {
- if ( !_name.isEmpty() ) {
- d->sharedConfig = TDESharedConfig::openConfig( _name + "rc", m_configReadOnly );
- }
- else {
- d->sharedConfig = TDESharedConfig::openConfig( TQString::null );
- }
- }
-
- // Check if we are excempt from kiosk restrictions
- if (kde_kiosk_admin && !kde_kiosk_exception && !TQCString(getenv("TDE_KIOSK_NO_RESTRICTIONS")).isEmpty())
- {
- kde_kiosk_exception = true;
- d->sharedConfig = 0;
- return config(); // Reread...
- }
-
- _config = d->sharedConfig;
- if (_dirs)
- if (_dirs->addCustomized(_config))
- _config->reparseConfiguration();
- }
-
- return _config;
-}
-
-TDESharedConfig *TDEInstance::sharedConfig() const
-{
- DEBUG_CHECK_ALIVE
- if (_config == 0)
- (void) config(); // Initialize config
-
- return d->sharedConfig;
-}
-
-void TDEInstance::setConfigName(const TQString &configName)
-{
- DEBUG_CHECK_ALIVE
- d->configName = configName;
-}
-
-TDEIconLoader *TDEInstance::iconLoader() const
-{
- DEBUG_CHECK_ALIVE
- if( _iconLoader == 0 ) {
- _iconLoader = new TDEIconLoader( _name, dirs() );
- _iconLoader->enableDelayedIconSetLoading( true );
- }
-
- return _iconLoader;
-}
-
-#ifdef __TDE_HAVE_TDEHWLIB
-TDEHardwareDevices *TDEInstance::hardwareDevices() const
-{
- DEBUG_CHECK_ALIVE
- if (_hardwaredevices == 0)
- {
- TQString libName = TQString("libtdehw.so.%1").arg(TDE_VERSION_MAJOR);
- KLibrary *lib = KLibLoader::self()->library(libName.latin1());
- if (lib)
- {
- TDEHardwareDevices* (*create)() = (TDEHardwareDevices* (*)())lib->symbol("create_tdeHardwareDevices");
- if (create)
- {
- _hardwaredevices = create();
- }
- }
- }
-
- return _hardwaredevices;
-}
-
-TDEGlobalNetworkManager *TDEInstance::networkManager() const
-{
- DEBUG_CHECK_ALIVE
- if (_networkmanager == 0)
- {
- TQString libName = TQString("libtdehw.so.%1").arg(TDE_VERSION_MAJOR);
- KLibrary *lib = KLibLoader::self()->library(libName.latin1());
- if (lib)
- {
- TDEGlobalNetworkManager* (*create)() = (TDEGlobalNetworkManager* (*)())lib->symbol("create_tdeGlobalNetworkManager");
- if (create)
- {
- _networkmanager = create();
- }
- }
- }
-
- return _networkmanager;
-}
-#endif
-
-void TDEInstance::newIconLoader() const
-{
- DEBUG_CHECK_ALIVE
- TDEIconTheme::reconfigure();
- _iconLoader->reconfigure( _name, dirs() );
-}
-
-const TDEAboutData * TDEInstance::aboutData() const
-{
- DEBUG_CHECK_ALIVE
- return _aboutData;
-}
-
-TQCString TDEInstance::instanceName() const
-{
- DEBUG_CHECK_ALIVE
- return _name;
-}
-
-KMimeSourceFactory* TDEInstance::mimeSourceFactory () const
-{
- DEBUG_CHECK_ALIVE
- if (!d->mimeSourceFactory)
- {
- d->mimeSourceFactory = new KMimeSourceFactory(_iconLoader);
- d->mimeSourceFactory->setInstance(const_cast<TDEInstance *>(this));
- }
-
- return d->mimeSourceFactory;
-}
-
-void TDEInstance::virtual_hook( int, void* )
-{ /*BASE::virtual_hook( id, data );*/ }
-