00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "devicesignalmapmanager.h"
00020
00021 DeviceSignalMapManager::DeviceSignalMapManager(QObject *parent) : QObject(parent)
00022 {
00023 user = parent;
00024 }
00025
00026 DeviceSignalMapManager::~DeviceSignalMapManager()
00027 {
00028 }
00029
00030 void DeviceSignalMapManager::mapDevice(Solid::AcAdapter *ac, const QString &udi)
00031 {
00032 AcAdapterSignalMapper *map=0;
00033 if(!signalmap.contains(Solid::DeviceInterface::AcAdapter)) {
00034 signalmap[Solid::DeviceInterface::AcAdapter] = new AcAdapterSignalMapper(this);
00035 }
00036 map = (AcAdapterSignalMapper*)signalmap[Solid::DeviceInterface::AcAdapter];
00037
00038 connect(ac, SIGNAL(plugStateChanged(bool, const QString &)), map, SLOT(plugStateChanged(bool)));
00039 connect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00040 map->setMapping(ac, udi);
00041 }
00042
00043 void DeviceSignalMapManager::mapDevice(Solid::Button *button, const QString &udi)
00044 {
00045 ButtonSignalMapper *map=0;
00046 if(!signalmap.contains(Solid::DeviceInterface::Button)) {
00047 signalmap[Solid::DeviceInterface::Button] = new ButtonSignalMapper(this);
00048 }
00049 map = (ButtonSignalMapper*)signalmap[Solid::DeviceInterface::Button];
00050
00051 connect(button, SIGNAL(pressed(Solid::Button::ButtonType, const QString &)), map, SLOT(pressed(Solid::Button::ButtonType)));
00052 connect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00053 map->setMapping(button, udi);
00054 }
00055
00056 void DeviceSignalMapManager::mapDevice(Solid::Battery *battery, const QString &udi)
00057 {
00058 BatterySignalMapper *map=0;
00059 if(!signalmap.contains(Solid::DeviceInterface::Battery)) {
00060 signalmap[Solid::DeviceInterface::Battery] = new BatterySignalMapper(this);
00061 }
00062 map = (BatterySignalMapper*)signalmap[Solid::DeviceInterface::Battery];
00063
00064 connect(battery, SIGNAL(chargePercentChanged(int, const QString &)), map, SLOT(chargePercentChanged(int)));
00065 connect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00066 connect(battery, SIGNAL(chargeStateChanged(int, const QString &)), map, SLOT(chargeStateChanged(int)));
00067 connect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00068 connect(battery, SIGNAL(plugStateChanged(bool, const QString &)), map, SLOT(plugStateChanged(bool)));
00069 connect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00070 map->setMapping(battery, udi);
00071 }
00072
00073 void DeviceSignalMapManager::mapDevice(Solid::StorageAccess *storageaccess, const QString &udi)
00074 {
00075 StorageAccessSignalMapper *map=0;
00076 if(!signalmap.contains(Solid::DeviceInterface::StorageAccess)) {
00077 signalmap[Solid::DeviceInterface::StorageAccess] = new StorageAccessSignalMapper(this);
00078 }
00079 map = (StorageAccessSignalMapper*)signalmap[Solid::DeviceInterface::StorageAccess];
00080
00081 connect(storageaccess, SIGNAL(accessibilityChanged(bool, const QString &)), map, SLOT(accessibilityChanged(bool)));
00082 connect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00083 map->setMapping(storageaccess, udi);
00084 }
00085
00086 void DeviceSignalMapManager::unmapDevice(Solid::AcAdapter *ac)
00087 {
00088 if(!signalmap.contains(Solid::DeviceInterface::AcAdapter)) {
00089 return;
00090 }
00091 AcAdapterSignalMapper *map = (AcAdapterSignalMapper*)signalmap[Solid::DeviceInterface::AcAdapter];
00092 disconnect(ac, SIGNAL(plugStateChanged(bool, const QString &)), map, SLOT(plugStateChanged(bool)));
00093 disconnect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00094 }
00095
00096 void DeviceSignalMapManager::unmapDevice(Solid::Button *button)
00097 {
00098 if(!signalmap.contains(Solid::DeviceInterface::Button)) {
00099 return;
00100 }
00101 ButtonSignalMapper *map = (ButtonSignalMapper*)signalmap[Solid::DeviceInterface::Button];
00102 disconnect(button, SIGNAL(pressed(Solid::Button::ButtonType, const QString &)), map, SLOT(pressed(Solid::Button::ButtonType)));
00103 disconnect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00104 }
00105
00106 void DeviceSignalMapManager::unmapDevice(Solid::Battery *battery)
00107 {
00108 if(!signalmap.contains(Solid::DeviceInterface::Battery)) {
00109 return;
00110 }
00111 BatterySignalMapper *map = (BatterySignalMapper*)signalmap[Solid::DeviceInterface::Battery];
00112 disconnect(battery, SIGNAL(chargePercentChanged(int, const QString &)), map, SLOT(chargePercentChanged(int)));
00113 disconnect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00114 disconnect(battery, SIGNAL(chargeStateChanged(int, const QString &)), map, SLOT(chargeStateChanged(int)));
00115 disconnect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00116 disconnect(battery, SIGNAL(plugStateChanged(bool, const QString &)), map, SLOT(plugStateChanged(bool)));
00117 disconnect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00118 }
00119
00120 void DeviceSignalMapManager::unmapDevice(Solid::StorageAccess *storageaccess)
00121 {
00122 if(!signalmap.contains(Solid::DeviceInterface::StorageAccess)) {
00123 return;
00124 }
00125 StorageAccessSignalMapper *map = (StorageAccessSignalMapper*)signalmap[Solid::DeviceInterface::StorageAccess];
00126 disconnect(storageaccess, SIGNAL(accessibilityChanged(bool, const QString &)), map, SLOT(accessibilityChanged(bool)));
00127 disconnect(map, SIGNAL(deviceChanged(const QString&, const QString &, QVariant)), user, SLOT(deviceChanged(const QString&, const QString &, QVariant)));
00128 }
00129
00130 #include "devicesignalmapmanager.moc"