summaryrefslogtreecommitdiffstats
path: root/knetworkmanager-0.9/src/knetworkmanager-devicestore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'knetworkmanager-0.9/src/knetworkmanager-devicestore.cpp')
-rw-r--r--knetworkmanager-0.9/src/knetworkmanager-devicestore.cpp220
1 files changed, 0 insertions, 220 deletions
diff --git a/knetworkmanager-0.9/src/knetworkmanager-devicestore.cpp b/knetworkmanager-0.9/src/knetworkmanager-devicestore.cpp
deleted file mode 100644
index 6f217c1..0000000
--- a/knetworkmanager-0.9/src/knetworkmanager-devicestore.cpp
+++ /dev/null
@@ -1,220 +0,0 @@
-/***************************************************************************
- *
- * knetworkmanager-devicestore.cpp - 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 <NetworkManager.h>
-
-#include "knetworkmanager.h"
-#include "knetworkmanager-devicestore.h"
-#include "knetworkmanager-wired_device.h"
-#include "knetworkmanager-wireless_device.h"
-#include "knetworkmanager-gsm_device.h"
-#include "knetworkmanager-cdma_device.h"
-#include "knetworkmanager-device.h"
-#include "knetworkmanager-nm_proxy.h"
-#include "dbus/deviceproxy.h"
-
-#include <tqdbuserror.h>
-#include <tqdbusobjectpath.h>
-#include <tqdbusconnection.h>
-
-#include <kdebug.h>
-
-#if !defined(NM_CHECK_VERSION)
-#define NM_CHECK_VERSION(x,y,z) 0
-#endif
-
-class DeviceStorePrivate
-{
- public:
- DeviceStorePrivate() {}
- ~DeviceStorePrivate() {}
-
- TQMap<TQString, Device*> devices;
- static DeviceStore* store;
-};
-
-DeviceStore* DeviceStorePrivate::store = NULL;
-
-DeviceStore* DeviceStore::getInstance()
-{
- if (DeviceStorePrivate::store)
- return DeviceStorePrivate::store;
- return (DeviceStorePrivate::store = new DeviceStore());
-}
-
-void DeviceStore::slotDeviceRemoved(const TQT_DBusObjectPath & obj_path)
-{
- kdDebug() << "DeviceStore::slotDeviceRemoved" << endl;
- TQMap<TQString, Device*>::Iterator it = d->devices.find(TQString(obj_path));
- if (it != d->devices.end())
- {
- // remove this device
- Device* dev = it.data();
-
- emit DeviceRemoved(dev);
-
- d->devices.remove(it);
- delete dev;
- dev = NULL;
- }
-}
-
-void DeviceStore::slotDeviceAdded(const TQT_DBusObjectPath & obj_path)
-{
- // just start an update
- Device* dev = createDevice(obj_path);
- if (dev)
- emit DeviceAdded(dev);
-}
-
-Device* DeviceStore::createDevice(const TQT_DBusObjectPath &obj_path)
-{
- TQT_DBusError err;
- // if we have this device already in our list goto the next one
- TQMap<TQString, Device*>::Iterator it = d->devices.find(obj_path);
- if ( it != d->devices.end())
- return it.data();
-
- // FIXME: ugly stuff is going on here, better pass the DeviceProxy to the Device's constructor instead of the object_path
- DBus::DeviceProxy* dev = new DBus::DeviceProxy(NM_DBUS_SERVICE, obj_path);
- Device* new_dev = NULL;
-
- if (dev)
- {
- dev->setConnection(TQT_DBusConnection::systemBus());
- TQ_UINT32 type = dev->getDeviceType(err);
-
- //printf("Device obj_path: %s\n\r", obj_path->data());
-
- // FIXME: This should not be hardcoded, it would be better if wireless, wired etc. modules register their device type
- // select the right device type and create the appropriate objects
- switch(type)
- {
-#if NM_CHECK_VERSION(0,8,992)
- case NM_DEVICE_TYPE_WIFI:
-#else
- case DEVICE_TYPE_802_11_WIRELESS:
-#endif
- new_dev = new WirelessDevice(obj_path);
- break;
-#if NM_CHECK_VERSION(0,8,992)
- case NM_DEVICE_TYPE_ETHERNET:
-#else
- case DEVICE_TYPE_802_3_ETHERNET:
-#endif
- new_dev = new WiredDevice(obj_path);
- break;
-#if NM_CHECK_VERSION(0,8,992)
- case NM_DEVICE_TYPE_MODEM:
-#else
- case DEVICE_TYPE_GSM:
-#endif
- new_dev = new GSMDevice(obj_path);
- break;
-#if NM_CHECK_VERSION(0,8,992)
-#else
- case DEVICE_TYPE_CDMA:
-#endif
- new_dev = new CDMADevice(obj_path);
- break;
- default:
- kdWarning() << k_funcinfo << "Unknown devicetype" << endl;
- new_dev = new Device(obj_path);
- break;
- }
-
- // insert the new device into our list
- if (new_dev)
- d->devices.insert(obj_path, new_dev);
-
- delete dev;
- }
- else
- kdWarning() << k_funcinfo << "Dev is Null" << endl;
-
- return new_dev;
-}
-
-void DeviceStore::updateDevices()
-{
- NMProxy* nm = NMProxy::getInstance();
- TQValueList<TQT_DBusObjectPath> obj_paths;
- TQT_DBusError err;
-
- // get a list of NM devices
- nm->GetDevices(obj_paths, err);
-
- // create a list of KNM devices
- for (TQValueList<TQT_DBusObjectPath>::Iterator it = obj_paths.begin(); it != obj_paths.end(); ++it)
- {
- createDevice((*it));
- }
-}
-
-TQValueList<Device*> DeviceStore::getDevices(TQ_UINT32 type)
-{
- updateDevices();
-
- if (type == 0)
- return d->devices.values();
- else
- {
- // only return devices of a special type
- TQValueList<Device*> devs;
- for (TQMap<TQString, Device*>::Iterator it = d->devices.begin(); it != d->devices.end(); ++it)
- {
- if (it.data()->getDeviceType() == type)
- devs.append(it.data());
- }
- return devs;
- }
-}
-
-Device* DeviceStore::getDevice(TQT_DBusObjectPath objpath)
-{
- return d->devices[objpath];
-}
-
-DeviceStore::DeviceStore ( TQObject * parent, const char * name ) : TQObject( parent, name )
-{
- d = new DeviceStorePrivate();
-
- // get notified from NM when devices are added or removed
- NMProxy* nm = NMProxy::getInstance();
- connect(nm, TQT_SIGNAL(DeviceAdded(const TQT_DBusObjectPath& )), this, TQT_SLOT(slotDeviceAdded(const TQT_DBusObjectPath&)));
- connect(nm, TQT_SIGNAL(DeviceRemoved(const TQT_DBusObjectPath& )), this, TQT_SLOT(slotDeviceRemoved(const TQT_DBusObjectPath&)));
-}
-
-DeviceStore::~DeviceStore ()
-{
- // delete all devicepointers
- while (d->devices.begin() != d->devices.end())
- delete d->devices.begin().data();
-
- // delete private data
- delete d;
-}
-
-
-#include "knetworkmanager-devicestore.moc"