Add bluetooth, olpcmesh, etc.

pull/16/head
Timothy Pearson 12 years ago
parent aae14103d5
commit 589db866d8

@ -39,6 +39,8 @@ add_dbus_xml( p networkmanagerpppproxy NetworkManagerPPPProxy DBus nm-ppp-manage
add_dbus_xml( p deviceproxy DeviceProxy DBus nm-device.xml ) add_dbus_xml( p deviceproxy DeviceProxy DBus nm-device.xml )
add_dbus_xml( p wifiproxy WiFiDeviceProxy DBus nm-device-wifi.xml ) add_dbus_xml( p wifiproxy WiFiDeviceProxy DBus nm-device-wifi.xml )
add_dbus_xml( p wimaxproxy WiMaxDeviceProxy DBus nm-device-wimax.xml ) add_dbus_xml( p wimaxproxy WiMaxDeviceProxy DBus nm-device-wimax.xml )
add_dbus_xml( p olpcmeshproxy OlpcMeshDeviceProxy DBus nm-device-olpc-mesh.xml )
add_dbus_xml( p bluetoothproxy BluetoothDeviceProxy DBus nm-device-bt.xml )
add_dbus_xml( p ethernetproxy EthernetDeviceProxy DBus nm-device-ethernet.xml ) add_dbus_xml( p ethernetproxy EthernetDeviceProxy DBus nm-device-ethernet.xml )
add_dbus_xml( p infinibandproxy InfinibandDeviceProxy DBus nm-device-infiniband.xml ) add_dbus_xml( p infinibandproxy InfinibandDeviceProxy DBus nm-device-infiniband.xml )
add_dbus_xml( p modemproxy ModemDeviceProxy DBus nm-device-modem.xml ) add_dbus_xml( p modemproxy ModemDeviceProxy DBus nm-device-modem.xml )
@ -52,7 +54,7 @@ add_dbus_xml( p connectionsettings ConnectionSettingsInterface DBus nm-settings-
# generate moc files # generate moc files
set( MOCHEADERS accesspointproxy.h deviceproxy.h networkmanagerproxy.h networkmanagerpppproxy.h ethernetproxy.h set( MOCHEADERS accesspointproxy.h deviceproxy.h networkmanagerproxy.h networkmanagerpppproxy.h bluetoothproxy.h olpcmeshproxy.h ethernetproxy.h
infinibandproxy.h wifiproxy.h wimaxproxy.h activeconnectionproxy.h vpnconnectionproxy.h vpnpluginproxy.h modemproxy.h infinibandproxy.h wifiproxy.h wimaxproxy.h activeconnectionproxy.h vpnconnectionproxy.h vpnpluginproxy.h modemproxy.h
networkmanagersettings.h connectionsettings.h ) networkmanagersettings.h connectionsettings.h )
@ -75,9 +77,9 @@ add_custom_command( OUTPUT mocfiles.cpp
tde_add_library( tdenm_dbus STATIC_PIC tde_add_library( tdenm_dbus STATIC_PIC
SOURCES SOURCES
networkmanagerproxy.cpp networkmanagerpppproxy.cpp networkmanagerproxy.cpp networkmanagerpppproxy.cpp
deviceproxy.cpp ethernetproxy.cpp infinibandproxy.cpp wifiproxy.cpp deviceproxy.cpp bluetoothproxy.cpp olpcmeshproxy.cpp ethernetproxy.cpp
wimaxproxy.cpp accesspointproxy.cpp networkmanagersettings.cpp infinibandproxy.cpp wifiproxy.cpp wimaxproxy.cpp accesspointproxy.cpp
connectionsettings.cpp networkmanagersettings.cpp connectionsettings.cpp
mocfiles.cpp activeconnectionproxy.cpp vpnconnectionproxy.cpp mocfiles.cpp activeconnectionproxy.cpp vpnconnectionproxy.cpp
vpnpluginproxy.cpp modemproxy.cpp vpnpluginproxy.cpp modemproxy.cpp
) )

@ -238,6 +238,12 @@ TDENetworkConnectionType::TDENetworkConnectionType nmConnectionTypeToTDEConnecti
else if (nm.lower() == "vlan") { else if (nm.lower() == "vlan") {
ret = TDENetworkConnectionType::VLAN; ret = TDENetworkConnectionType::VLAN;
} }
else if (nm.lower() == "802-11-olpc-mesh") {
ret = TDENetworkConnectionType::OLPCMesh;
}
else if (nm.lower() == "bluetooth") {
ret = TDENetworkConnectionType::Bluetooth;
}
return ret; return ret;
} }
@ -263,6 +269,12 @@ TQString tdeConnectionTypeToNMConnectionType(TDENetworkConnectionType::TDENetwor
else if (type == TDENetworkConnectionType::VLAN) { else if (type == TDENetworkConnectionType::VLAN) {
ret = "vlan"; ret = "vlan";
} }
else if (type == TDENetworkConnectionType::OLPCMesh) {
ret = "802-11-olpc-mesh";
}
else if (type == TDENetworkConnectionType::Bluetooth) {
ret = "bluetooth";
}
return ret; return ret;
} }
@ -463,6 +475,32 @@ TQString tdeWiFiModeToNMWiFiMode(TDEWiFiMode::TDEWiFiMode mode) {
return ret; return ret;
} }
TDEBluetoothConnectionType::TDEBluetoothConnectionType nmBluetoothModeToTDEBluetoothMode(TQString nm) {
TDEBluetoothConnectionType::TDEBluetoothConnectionType ret = TDEBluetoothConnectionType::PAN;
if (nm.lower() == "dun") {
ret = TDEBluetoothConnectionType::DUN;
}
else if (nm.lower() == "panu") {
ret = TDEBluetoothConnectionType::PAN;
}
return ret;
}
TQString tdeBluetoothModeToNMBluetoothMode(TDEBluetoothConnectionType::TDEBluetoothConnectionType type) {
TQString ret;
if (type == TDEBluetoothConnectionType::DUN) {
ret = "dun";
}
else if (type == TDEBluetoothConnectionType::PAN) {
ret = "panu";
}
return ret;
}
TDEWiFiFrequencyBand::TDEWiFiFrequencyBand nmWiFiFrequencyBandToTDEWiFiFrequencyBand(TQString nm) { TDEWiFiFrequencyBand::TDEWiFiFrequencyBand nmWiFiFrequencyBandToTDEWiFiFrequencyBand(TQString nm) {
TDEWiFiFrequencyBand::TDEWiFiFrequencyBand ret = TDEWiFiFrequencyBand::Other; TDEWiFiFrequencyBand::TDEWiFiFrequencyBand ret = TDEWiFiFrequencyBand::Other;
@ -722,6 +760,32 @@ unsigned int tdeVLANFlagsToNMVLANFlags(TDENetworkVLANFlags::TDENetworkVLANFlags
return ret; return ret;
} }
TDENetworkParity::TDENetworkParity nmParityToTDEParity(char nm) {
TDENetworkParity::TDENetworkParity ret = TDENetworkParity::None;
if (nm == 'E') {
ret = TDENetworkParity::Even;
}
else if (nm == 'o') {
ret = TDENetworkParity::Odd;
}
return ret;
}
char tdeParityToNMParity(TDENetworkParity::TDENetworkParity parity) {
char ret = 'n';
if (parity == TDENetworkParity::Even) {
ret = 'E';
}
else if (parity == TDENetworkParity::Odd) {
ret = 'o';
}
return ret;
}
TDENetworkWepKeyType::TDENetworkWepKeyType nmWepKeyTypeToTDEWepKeyType(unsigned int nm) { TDENetworkWepKeyType::TDENetworkWepKeyType nmWepKeyTypeToTDEWepKeyType(unsigned int nm) {
TDENetworkWepKeyType::TDENetworkWepKeyType ret = TDENetworkWepKeyType::Hexadecimal; TDENetworkWepKeyType::TDENetworkWepKeyType ret = TDENetworkWepKeyType::Hexadecimal;
@ -935,6 +999,36 @@ TQString TDENetworkConnectionManager_BackendNM::deviceInterfaceString(TQString m
} }
} }
} }
else if (deviceType == TDENetworkDeviceType::WiMax) {
DBus::WiMaxDeviceProxy wiMaxDevice(NM_DBUS_SERVICE, (*it));
wiMaxDevice.setConnection(TQT_DBusConnection::systemBus());
TQString candidateMACAddress = wiMaxDevice.getHwAddress(error);
if (!error.isValid()) {
if (candidateMACAddress.lower() == macAddress.lower()) {
return (*it);
}
}
}
else if (deviceType == TDENetworkDeviceType::OLPCMesh) {
DBus::OlpcMeshDeviceProxy olpcMeshDevice(NM_DBUS_SERVICE, (*it));
olpcMeshDevice.setConnection(TQT_DBusConnection::systemBus());
TQString candidateMACAddress = olpcMeshDevice.getHwAddress(error);
if (!error.isValid()) {
if (candidateMACAddress.lower() == macAddress.lower()) {
return (*it);
}
}
}
else if (deviceType == TDENetworkDeviceType::Bluetooth) {
DBus::BluetoothDeviceProxy bluetoothDevice(NM_DBUS_SERVICE, (*it));
bluetoothDevice.setConnection(TQT_DBusConnection::systemBus());
TQString candidateMACAddress = bluetoothDevice.getHwAddress(error);
if (!error.isValid()) {
if (candidateMACAddress.lower() == macAddress.lower()) {
return (*it);
}
}
}
// FIXME // FIXME
// Add other supported device types here // Add other supported device types here
} }
@ -1163,6 +1257,8 @@ void TDENetworkConnectionManager_BackendNM::loadConnectionInformation() {
TDEVPNConnection* vpnConnection = NULL; TDEVPNConnection* vpnConnection = NULL;
TDEWiMaxConnection* wiMaxConnection = NULL; TDEWiMaxConnection* wiMaxConnection = NULL;
TDEVLANConnection* vlanConnection = NULL; TDEVLANConnection* vlanConnection = NULL;
TDEOLPCMeshConnection* olpcMeshConnection = NULL;
TDEBluetoothConnection* bluetoothConnection = NULL;
TDENetworkConnectionType::TDENetworkConnectionType connType = connectionType((*it)); TDENetworkConnectionType::TDENetworkConnectionType connType = connectionType((*it));
if (connType == TDENetworkConnectionType::WiredEthernet) { if (connType == TDENetworkConnectionType::WiredEthernet) {
connection = ethernetConnection = new TDEWiredEthernetConnection; connection = ethernetConnection = new TDEWiredEthernetConnection;
@ -1182,6 +1278,12 @@ void TDENetworkConnectionManager_BackendNM::loadConnectionInformation() {
else if (connType == TDENetworkConnectionType::VLAN) { else if (connType == TDENetworkConnectionType::VLAN) {
connection = vlanConnection = new TDEVLANConnection; connection = vlanConnection = new TDEVLANConnection;
} }
else if (connType == TDENetworkConnectionType::OLPCMesh) {
connection = olpcMeshConnection = new TDEOLPCMeshConnection;
}
else if (connType == TDENetworkConnectionType::Bluetooth) {
connection = bluetoothConnection = new TDEBluetoothConnection;
}
else { else {
connection = new TDENetworkConnection; connection = new TDENetworkConnection;
} }
@ -1488,7 +1590,18 @@ void TDENetworkConnectionManager_BackendNM::loadConnectionInformation() {
} }
} }
else if (outerKeyValue.lower() == "802-11-wireless") { else if (outerKeyValue.lower() == "802-11-wireless") {
if (keyValue.lower() == "mac-address") { if (keyValue.lower() == "ssid") {
TQT_DBusDataValueList valueList = dataValue2.toTQValueList();
TQT_DBusDataValueList::const_iterator it4;
int count = 0;
for (it4 = valueList.begin(); it4 != valueList.end(); ++it4) {
TQT_DBusData innerDataValue = *it4;
wiFiConnection->SSID.resize(count+1);
wiFiConnection->SSID[count] = innerDataValue.toByte();
count++;
}
}
else if (keyValue.lower() == "mac-address") {
TQT_DBusDataValueList valueList = dataValue2.toTQValueList(); TQT_DBusDataValueList valueList = dataValue2.toTQValueList();
TQT_DBusDataValueList::const_iterator it4; TQT_DBusDataValueList::const_iterator it4;
TDENetworkByteList macAddress; TDENetworkByteList macAddress;
@ -1693,6 +1806,147 @@ void TDENetworkConnectionManager_BackendNM::loadConnectionInformation() {
} }
} }
} }
else if (outerKeyValue.lower() == "serial") {
if (keyValue.lower() == "baud") {
connection->serialConfig.baudRate = dataValue2.toUInt32();
}
else if (keyValue.lower() == "bits") {
connection->serialConfig.byteWidth = dataValue2.toUInt32();
}
else if (keyValue.lower() == "parity") {
connection->serialConfig.parity = nmParityToTDEParity(dataValue2.toByte());
}
else if (keyValue.lower() == "stopbits") {
connection->serialConfig.stopBits = dataValue2.toUInt32();
}
else if (keyValue.lower() == "send-delay") {
connection->serialConfig.txDelay = dataValue2.toUInt64();
}
connection->serialConfig.valid = true;
}
else if (outerKeyValue.lower() == "ppp") {
if (keyValue.lower() == "noauth") {
connection->pppConfig.requireServerAuthentication = !(dataValue2.toBool());
}
else if (keyValue.lower() == "refuse-eap") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::DisableEAP;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::DisableEAP;
}
else if (keyValue.lower() == "refuse-pap") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::DisablePAP;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::DisablePAP;
}
else if (keyValue.lower() == "refuse-chap") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::DisableCHAP;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::DisableCHAP;
}
else if (keyValue.lower() == "refuse-mschap") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::DisableMSCHAP;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::DisableMSCHAP;
}
else if (keyValue.lower() == "refuse-mschapv2") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::DisableMSCHAPv2;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::DisableMSCHAPv2;
}
else if (keyValue.lower() == "nobsdcomp") {
if (dataValue2.toBool()) connection->pppConfig.flags &= ~TDENetworkPPPFlags::AllowBSDCompression;
else connection->pppConfig.flags |= TDENetworkPPPFlags::AllowBSDCompression;
}
else if (keyValue.lower() == "nodeflate") {
if (dataValue2.toBool()) connection->pppConfig.flags &= ~TDENetworkPPPFlags::AllowDeflateCompression;
else connection->pppConfig.flags |= TDENetworkPPPFlags::AllowDeflateCompression;
}
else if (keyValue.lower() == "no-vj-comp") {
if (dataValue2.toBool()) connection->pppConfig.flags &= ~TDENetworkPPPFlags::AllowVJCompression;
else connection->pppConfig.flags |= TDENetworkPPPFlags::AllowVJCompression;
}
else if (keyValue.lower() == "require-mppe") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::RequireMPPE;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::RequireMPPE;
}
else if (keyValue.lower() == "require-mppe-128") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::RequireMPPE128;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::RequireMPPE128;
}
else if (keyValue.lower() == "mppe-stateful") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::StatefulMPPE;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::StatefulMPPE;
}
else if (keyValue.lower() == "crtscts") {
if (dataValue2.toBool()) connection->pppConfig.flags |= TDENetworkPPPFlags::UseHardwareFlowControl;
else connection->pppConfig.flags &= ~TDENetworkPPPFlags::UseHardwareFlowControl;
}
else if (keyValue.lower() == "baud") {
connection->pppConfig.baudRate = dataValue2.toUInt32();
}
else if (keyValue.lower() == "mru") {
connection->pppConfig.mru = dataValue2.toUInt32();
}
else if (keyValue.lower() == "mtu") {
connection->pppConfig.mtu = dataValue2.toUInt32();
}
else if (keyValue.lower() == "lcp-echo-interval") {
connection->pppConfig.lcpEchoPingInterval = dataValue2.toUInt32();
}
else if (keyValue.lower() == "lcp-echo-failure") {
connection->pppConfig.lcpEchoFailureThreshold = dataValue2.toUInt32();
}
connection->pppConfig.valid = true;
}
else if (outerKeyValue.lower() == "pppoe") {
if (keyValue.lower() == "service") {
connection->pppoeConfig.networkServiceProvider = dataValue2.toString();
}
else if (keyValue.lower() == "username") {
connection->pppoeConfig.username = dataValue2.toString();
}
else if (keyValue.lower() == "password-flags") {
connection->pppoeConfig.passwordFlags = nmPasswordFlagsToTDEPasswordFlags(dataValue2.toUInt32());
}
connection->pppoeConfig.secretsValid = true;
}
else if ((outerKeyValue.lower() == "802-11-olpc-mesh") && (olpcMeshConnection)) {
if (keyValue.lower() == "ssid") {
TQT_DBusDataValueList valueList = dataValue2.toTQValueList();
TQT_DBusDataValueList::const_iterator it4;
int count = 0;
for (it4 = valueList.begin(); it4 != valueList.end(); ++it4) {
TQT_DBusData innerDataValue = *it4;
olpcMeshConnection->SSID.resize(count+1);
olpcMeshConnection->SSID[count] = innerDataValue.toByte();
count++;
}
}
else if (keyValue.lower() == "channel") {
olpcMeshConnection->channel = dataValue2.toUInt32();
}
else if (keyValue.lower() == "dhcp-anycast-address") {
TQT_DBusDataValueList valueList = dataValue2.toTQValueList();
TQT_DBusDataValueList::const_iterator it4;
int count = 0;
for (it4 = valueList.begin(); it4 != valueList.end(); ++it4) {
TQT_DBusData innerDataValue = *it4;
olpcMeshConnection->anycastDHCPHWAddress.resize(count+1);
olpcMeshConnection->anycastDHCPHWAddress[count] = innerDataValue.toByte();
count++;
}
}
}
else if ((outerKeyValue.lower() == "bluetooth") && (bluetoothConnection)) {
if (keyValue.lower() == "bdaddr") {
TQT_DBusDataValueList valueList = dataValue2.toTQValueList();
TQT_DBusDataValueList::const_iterator it4;
TDENetworkByteList macAddress;
for (it4 = valueList.begin(); it4 != valueList.end(); ++it4) {
TQT_DBusData innerDataValue = *it4;
macAddress.append(innerDataValue.toByte());
}
connection->lockedHWAddress.setAddress(macAddress);
}
else if (keyValue.lower() == "type") {
bluetoothConnection->type = nmBluetoothModeToTDEBluetoothMode(dataValue2.toString());
}
}
else if (outerKeyValue.lower() == "ipv4") { else if (outerKeyValue.lower() == "ipv4") {
if (keyValue.lower() == "addresses") { if (keyValue.lower() == "addresses") {
TQT_DBusDataValueList valueList = dataValue2.toTQValueList(); TQT_DBusDataValueList valueList = dataValue2.toTQValueList();
@ -2043,6 +2297,10 @@ bool TDENetworkConnectionManager_BackendNM::loadConnectionSecretsForGroup(TQStri
//TDEWiredInfinibandConnection* infinibandConnection = dynamic_cast<TDEWiredInfinibandConnection*>(connection); //TDEWiredInfinibandConnection* infinibandConnection = dynamic_cast<TDEWiredInfinibandConnection*>(connection);
TDEWiFiConnection* wiFiConnection = dynamic_cast<TDEWiFiConnection*>(connection); TDEWiFiConnection* wiFiConnection = dynamic_cast<TDEWiFiConnection*>(connection);
TDEVPNConnection* vpnConnection = dynamic_cast<TDEVPNConnection*>(connection); TDEVPNConnection* vpnConnection = dynamic_cast<TDEVPNConnection*>(connection);
//TDEWiMaxConnection* wiMaxConnection = dynamic_cast<TDEWiMaxConnection*>(connection);
//TDEVLANConnection* vlanConnection = dynamic_cast<TDEVLANConnection*>(connection);
//TDEOLPCMeshConnection* olpcMeshConnection = dynamic_cast<TDEVLANConnection*>(connection);
//TDEBluetoothConnection* bluetoothConnection = dynamic_cast<TDEBluetoothConnection*>(connection);
TQT_DBusObjectPath existingConnection; TQT_DBusObjectPath existingConnection;
TQT_DBusError error; TQT_DBusError error;
bool ret; bool ret;
@ -2164,6 +2422,12 @@ bool TDENetworkConnectionManager_BackendNM::loadConnectionSecretsForGroup(TQStri
vpnConnection->secretsValid = true; vpnConnection->secretsValid = true;
} }
} }
if (outerKeyValue.lower() == "pppoe") {
if (keyValue.lower() == "username") {
connection->pppoeConfig.password = dataValue2.toString();
}
connection->pppoeConfig.secretsValid = true;
}
} }
} }
} }
@ -2194,6 +2458,8 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
TDEVPNConnection* vpnConnection = dynamic_cast<TDEVPNConnection*>(connection); TDEVPNConnection* vpnConnection = dynamic_cast<TDEVPNConnection*>(connection);
TDEWiMaxConnection* wiMaxConnection = dynamic_cast<TDEWiMaxConnection*>(connection); TDEWiMaxConnection* wiMaxConnection = dynamic_cast<TDEWiMaxConnection*>(connection);
TDEVLANConnection* vlanConnection = dynamic_cast<TDEVLANConnection*>(connection); TDEVLANConnection* vlanConnection = dynamic_cast<TDEVLANConnection*>(connection);
TDEOLPCMeshConnection* olpcMeshConnection = dynamic_cast<TDEOLPCMeshConnection*>(connection);
TDEBluetoothConnection* bluetoothConnection = dynamic_cast<TDEBluetoothConnection*>(connection);
TQT_DBusObjectPath existingConnection; TQT_DBusObjectPath existingConnection;
TQT_DBusError error; TQT_DBusError error;
bool ret; bool ret;
@ -2251,6 +2517,8 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
else if (vpnConnection) type = "vpn"; else if (vpnConnection) type = "vpn";
else if (wiMaxConnection) type = "wimax"; else if (wiMaxConnection) type = "wimax";
else if (vlanConnection) type = "vlan"; else if (vlanConnection) type = "vlan";
else if (olpcMeshConnection) type = "802-11-olpc-mesh";
else if (bluetoothConnection) type = "bluetooth";
if (!type.isNull()) settingsMap["type"] = convertDBUSDataToVariantData(TQT_DBusData::fromString(type)); if (!type.isNull()) settingsMap["type"] = convertDBUSDataToVariantData(TQT_DBusData::fromString(type));
} }
settingsMap["uuid"] = convertDBUSDataToVariantData(TQT_DBusData::fromString(connection->UUID)); settingsMap["uuid"] = convertDBUSDataToVariantData(TQT_DBusData::fromString(connection->UUID));
@ -2507,7 +2775,7 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
if (groupValid) outerMap.insert("802-1x", dbusData, TRUE); else outerMap.remove("802-1x"); if (groupValid) outerMap.insert("802-1x", dbusData, TRUE); else outerMap.remove("802-1x");
dbusData = outerMap["802-3-ethernet"]; dbusData = outerMap["802-3-ethernet"];
{ if (ethernetConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap(); TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{ {
settingsMap["duplex"] = convertDBUSDataToVariantData(TQT_DBusData::fromString((connection->fullDuplex)?"full":"half")); settingsMap["duplex"] = convertDBUSDataToVariantData(TQT_DBusData::fromString((connection->fullDuplex)?"full":"half"));
@ -2552,7 +2820,7 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
if (groupValid) outerMap.insert("802-3-ethernet", dbusData, TRUE); else outerMap.remove("802-3-ethernet"); if (groupValid) outerMap.insert("802-3-ethernet", dbusData, TRUE); else outerMap.remove("802-3-ethernet");
dbusData = outerMap["infiniband"]; dbusData = outerMap["infiniband"];
{ if (infinibandConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap(); TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{ {
if (connection->lockedHWAddress.isValid()) { if (connection->lockedHWAddress.isValid()) {
@ -2583,9 +2851,18 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
if (groupValid) outerMap.insert("infiniband", dbusData, TRUE); else outerMap.remove("infiniband"); if (groupValid) outerMap.insert("infiniband", dbusData, TRUE); else outerMap.remove("infiniband");
dbusData = outerMap["802-11-wireless"]; dbusData = outerMap["802-11-wireless"];
{ if (wiFiConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap(); TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{ {
{
unsigned int i;
TQT_DBusDataValueList valueList;
for (i=0; i<wiFiConnection->SSID.count(); i++) {
TQT_DBusData innerDataValue = TQT_DBusData::fromByte(wiFiConnection->SSID[i]);
valueList.append(innerDataValue);
}
settingsMap["ssid"] = convertDBUSDataToVariantData(TQT_DBusData::fromTQValueList(valueList));
}
if (connection->lockedHWAddress.isValid()) { if (connection->lockedHWAddress.isValid()) {
TDENetworkByteList address = connection->lockedHWAddress.address(); TDENetworkByteList address = connection->lockedHWAddress.address();
TQT_DBusDataValueList valueList; TQT_DBusDataValueList valueList;
@ -2802,7 +3079,7 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
if (groupValid) outerMap.insert("vpn", dbusData, TRUE); else outerMap.remove("vpn"); if (groupValid) outerMap.insert("vpn", dbusData, TRUE); else outerMap.remove("vpn");
dbusData = outerMap["wimax"]; dbusData = outerMap["wimax"];
{ if (wiMaxConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap(); TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{ {
if (connection->lockedHWAddress.isValid()) { if (connection->lockedHWAddress.isValid()) {
@ -2827,7 +3104,7 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
if (groupValid) outerMap.insert("wimax", dbusData, TRUE); else outerMap.remove("wimax"); if (groupValid) outerMap.insert("wimax", dbusData, TRUE); else outerMap.remove("wimax");
dbusData = outerMap["vlan"]; dbusData = outerMap["vlan"];
{ if (vlanConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap(); TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{ {
UPDATE_STRING_SETTING_IF_VALID(vlanConnection->kernelName, "interface-name", settingsMap) UPDATE_STRING_SETTING_IF_VALID(vlanConnection->kernelName, "interface-name", settingsMap)
@ -2856,6 +3133,139 @@ bool TDENetworkConnectionManager_BackendNM::saveConnection(TDENetworkConnection*
} }
if (groupValid) outerMap.insert("vlan", dbusData, TRUE); else outerMap.remove("vlan"); if (groupValid) outerMap.insert("vlan", dbusData, TRUE); else outerMap.remove("vlan");
dbusData = outerMap["serial"];
if (connection->serialConfig.valid) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{
settingsMap["baud"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->serialConfig.baudRate));
settingsMap["bits"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->serialConfig.byteWidth));
settingsMap["parity"] = convertDBUSDataToVariantData(TQT_DBusData::fromByte(tdeParityToNMParity(connection->serialConfig.parity)));
settingsMap["stopbits"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->serialConfig.stopBits));
settingsMap["send-delay"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt64(connection->serialConfig.txDelay));
}
dbusData = TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap<TQString>(settingsMap));
groupValid = (settingsMap.count() > 0);
}
if (groupValid) outerMap.insert("serial", dbusData, TRUE); else outerMap.remove("serial");
dbusData = outerMap["ppp"];
if (connection->pppConfig.valid) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{
settingsMap["noauth"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(!(connection->pppConfig.requireServerAuthentication)));
settingsMap["refuse-eap"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::DisableEAP));
settingsMap["refuse-pap"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::DisablePAP));
settingsMap["refuse-chap"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::DisableCHAP));
settingsMap["refuse-mschap"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::DisableMSCHAP));
settingsMap["refuse-mschapv2"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::DisableMSCHAPv2));
settingsMap["nobsdcomp"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(!(connection->pppConfig.flags & TDENetworkPPPFlags::AllowBSDCompression)));
settingsMap["nodeflate"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(!(connection->pppConfig.flags & TDENetworkPPPFlags::AllowDeflateCompression)));
settingsMap["no-vj-comp"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(!(connection->pppConfig.flags & TDENetworkPPPFlags::AllowVJCompression)));
settingsMap["require-mppe"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::RequireMPPE));
settingsMap["require-mppe-128"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::RequireMPPE128));
settingsMap["mppe-stateful"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::StatefulMPPE));
settingsMap["crtscts"] = convertDBUSDataToVariantData(TQT_DBusData::fromBool(connection->pppConfig.flags & TDENetworkPPPFlags::UseHardwareFlowControl));
settingsMap["baud"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->pppConfig.baudRate));
if (connection->pppConfig.mru > 0) {
settingsMap["mru"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->pppConfig.mru));
}
else {
settingsMap.remove("mru");
}
if (connection->pppConfig.mtu > 0) {
settingsMap["mtu"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->pppConfig.mtu));
}
else {
settingsMap.remove("mtu");
}
if (connection->pppConfig.mtu > 0) {
settingsMap["lcp-echo-interval"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->pppConfig.lcpEchoPingInterval));
}
else {
settingsMap.remove("lcp-echo-interval");
}
if (connection->pppConfig.mtu > 0) {
settingsMap["lcp-echo-failure"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(connection->pppConfig.lcpEchoFailureThreshold));
}
else {
settingsMap.remove("lcp-echo-failure");
}
}
dbusData = TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap<TQString>(settingsMap));
groupValid = (settingsMap.count() > 0);
}
if (groupValid) outerMap.insert("ppp", dbusData, TRUE); else outerMap.remove("ppp");
dbusData = outerMap["pppoe"];
if (connection->pppoeConfig.valid) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{
UPDATE_STRING_SETTING_IF_VALID(connection->pppoeConfig.networkServiceProvider, "service", settingsMap)
UPDATE_STRING_SETTING_IF_VALID(connection->pppoeConfig.username, "username", settingsMap)
if (connection->pppoeConfig.secretsValid) {
UPDATE_STRING_SETTING_IF_VALID(connection->pppoeConfig.password, "password", settingsMap)
}
settingsMap["password-flags"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(tdePasswordFlagsToNMPasswordFlags(connection->pppoeConfig.passwordFlags)));
}
dbusData = TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap<TQString>(settingsMap));
groupValid = (settingsMap.count() > 0);
}
if (groupValid) outerMap.insert("pppoe", dbusData, TRUE); else outerMap.remove("pppoe");
dbusData = outerMap["802-11-olpc-mesh"];
if (olpcMeshConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{
{
unsigned int i;
TQT_DBusDataValueList valueList;
for (i=0; i<olpcMeshConnection->SSID.count(); i++) {
TQT_DBusData innerDataValue = TQT_DBusData::fromByte(olpcMeshConnection->SSID[i]);
valueList.append(innerDataValue);
}
settingsMap["ssid"] = convertDBUSDataToVariantData(TQT_DBusData::fromTQValueList(valueList));
}
settingsMap["channel"] = convertDBUSDataToVariantData(TQT_DBusData::fromUInt32(olpcMeshConnection->channel));
{
unsigned int i;
TQT_DBusDataValueList valueList;
for (i=0; i<olpcMeshConnection->anycastDHCPHWAddress.count(); i++) {
TQT_DBusData innerDataValue = TQT_DBusData::fromByte(olpcMeshConnection->anycastDHCPHWAddress[i]);
valueList.append(innerDataValue);
}
settingsMap["dhcp-anycast-address"] = convertDBUSDataToVariantData(TQT_DBusData::fromTQValueList(valueList));
}
}
dbusData = TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap<TQString>(settingsMap));
groupValid = (settingsMap.count() > 0);
}
if (groupValid) outerMap.insert("802-11-olpc-mesh", dbusData, TRUE); else outerMap.remove("802-11-olpc-mesh");
dbusData = outerMap["bluetooth"];
if (olpcMeshConnection) {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();
{
if (connection->lockedHWAddress.isValid()) {
TDENetworkByteList address = connection->lockedHWAddress.address();
TQT_DBusDataValueList valueList;
TDENetworkByteList::iterator it;
for (it = address.begin(); it != address.end(); ++it) {
TQT_DBusData innerDataValue = TQT_DBusData::fromByte(*it);
valueList.append(innerDataValue);
}
TQT_DBusData nmHWAddress = TQT_DBusData::fromTQValueList(valueList);
settingsMap["bdaddr"] = convertDBUSDataToVariantData(nmHWAddress);
}
else {
settingsMap.remove("bdaddr");
}
UPDATE_STRING_SETTING_IF_VALID(tdeBluetoothModeToNMBluetoothMode(bluetoothConnection->type), "type", settingsMap)
}
dbusData = TQT_DBusData::fromStringKeyMap(TQT_DBusDataMap<TQString>(settingsMap));
groupValid = (settingsMap.count() > 0);
}
if (groupValid) outerMap.insert("bluetooth", dbusData, TRUE); else outerMap.remove("bluetooth");
dbusData = outerMap["ipv4"]; dbusData = outerMap["ipv4"];
{ {
TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap(); TQMap<TQString, TQT_DBusData> settingsMap = dbusData.toStringKeyMap().toTQMap();

@ -48,6 +48,9 @@
#include "ethernetproxy.h" #include "ethernetproxy.h"
#include "infinibandproxy.h" #include "infinibandproxy.h"
#include "wifiproxy.h" #include "wifiproxy.h"
#include "wimaxproxy.h"
#include "bluetoothproxy.h"
#include "olpcmeshproxy.h"
#include "activeconnectionproxy.h" #include "activeconnectionproxy.h"
#include "accesspointproxy.h" #include "accesspointproxy.h"

@ -302,6 +302,56 @@ TDENetworkIEEE8021xConfiguration::~TDENetworkIEEE8021xConfiguration() {
// //
} }
/*================================================================================================*/
/* TDENetworkPPPConfiguration */
/*================================================================================================*/
TDENetworkPPPConfiguration::TDENetworkPPPConfiguration() {
valid = false;
requireServerAuthentication = false;
flags = TDENetworkPPPFlags::None;
baudRate = 115200;
mru = 0;
mtu = 0;
lcpEchoPingInterval = 0;
lcpEchoFailureThreshold = 0;
}
TDENetworkPPPConfiguration::~TDENetworkPPPConfiguration() {
//
}
/*================================================================================================*/
/* TDENetworkPPPOEConfiguration */
/*================================================================================================*/
TDENetworkPPPOEConfiguration::TDENetworkPPPOEConfiguration() {
valid = false;
secretsValid = false;
passwordFlags = TDENetworkPasswordHandlingFlags::None;
}
TDENetworkPPPOEConfiguration::~TDENetworkPPPOEConfiguration() {
//
}
/*================================================================================================*/
/* TDENetworkSerialConfiguration */
/*================================================================================================*/
TDENetworkSerialConfiguration::TDENetworkSerialConfiguration() {
valid = false;
baudRate = 115200;
byteWidth = 8;
parity = TDENetworkParity::None;
stopBits = 1;
txDelay = 0;
}
TDENetworkSerialConfiguration::~TDENetworkSerialConfiguration() {
//
}
/*================================================================================================*/ /*================================================================================================*/
/* TDENetworkIPConfiguration */ /* TDENetworkIPConfiguration */
/*================================================================================================*/ /*================================================================================================*/
@ -470,6 +520,30 @@ TDEVLANConnection::~TDEVLANConnection() {
// //
} }
/*================================================================================================*/
/* TDEOLPCMeshConnection */
/*================================================================================================*/
TDEOLPCMeshConnection::TDEOLPCMeshConnection() : TDENetworkConnection() {
channel = 0;
}
TDEOLPCMeshConnection::~TDEOLPCMeshConnection() {
//
}
/*================================================================================================*/
/* TDEBluetoothConnection */
/*================================================================================================*/
TDEBluetoothConnection::TDEBluetoothConnection() : TDENetworkConnection() {
type = TDEBluetoothConnectionType::Other;
}
TDEBluetoothConnection::~TDEBluetoothConnection() {
//
}
/*================================================================================================*/ /*================================================================================================*/
/* TDEWiFiConnection */ /* TDEWiFiConnection */
/*================================================================================================*/ /*================================================================================================*/

@ -125,6 +125,25 @@ namespace TDEWiFiFrequencyBand {
}; };
}; };
namespace TDEBluetoothConnectionType {
enum TDEBluetoothConnectionType {
DUN,
PAN,
Other,
Last = Other
};
};
namespace TDENetworkParity {
enum TDENetworkParity {
None,
Even,
Odd,
Other,
Last = Other
};
};
namespace TDENetworkSlaveDeviceType { namespace TDENetworkSlaveDeviceType {
enum TDENetworkSlaveDeviceType { enum TDENetworkSlaveDeviceType {
None, None,
@ -160,6 +179,26 @@ namespace TDENetworkDeviceCapabilityFlags {
CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkDeviceCapabilityFlags) CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkDeviceCapabilityFlags)
}; };
namespace TDENetworkPPPFlags {
enum TDENetworkPPPFlags {
None = 0x00000000,
DisableEAP = 0x00000001,
DisablePAP = 0x00000002,
DisableCHAP = 0x00000004,
DisableMSCHAP = 0x00000008,
DisableMSCHAPv2 = 0x00000010,
AllowBSDCompression = 0x00000020,
AllowDeflateCompression = 0x00000040,
AllowVJCompression = 0x00000080,
RequireMPPE = 0x00000100,
RequireMPPE128 = 0x00000200,
StatefulMPPE = 0x00000400,
UseHardwareFlowControl = 0x00000800
};
CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkPPPFlags)
};
namespace TDENetworkWiFiAPFlags { namespace TDENetworkWiFiAPFlags {
enum TDENetworkWiFiAPFlags { enum TDENetworkWiFiAPFlags {
None = 0x00000000, None = 0x00000000,
@ -491,6 +530,53 @@ class TDENetworkIEEE8021xConfiguration
bool forceSystemCaCertificates; bool forceSystemCaCertificates;
}; };
class TDECORE_EXPORT TDENetworkPPPConfiguration
{
public:
TDENetworkPPPConfiguration();
virtual ~TDENetworkPPPConfiguration();
public:
bool valid;
bool requireServerAuthentication;
TDENetworkPPPFlags::TDENetworkPPPFlags flags;
TQ_UINT32 baudRate;
TQ_UINT32 mru;
TQ_UINT32 mtu;
TQ_UINT32 lcpEchoPingInterval;
TQ_UINT32 lcpEchoFailureThreshold;
};
class TDECORE_EXPORT TDENetworkPPPOEConfiguration
{
public:
TDENetworkPPPOEConfiguration();
virtual ~TDENetworkPPPOEConfiguration();
public:
bool valid;
bool secretsValid;
TQString networkServiceProvider;
TQString username;
TQString password;
TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags passwordFlags;
};
class TDECORE_EXPORT TDENetworkSerialConfiguration
{
public:
TDENetworkSerialConfiguration();
virtual ~TDENetworkSerialConfiguration();
public:
bool valid;
TQ_UINT32 baudRate;
TQ_UINT32 byteWidth;
TDENetworkParity::TDENetworkParity parity;
TQ_UINT32 stopBits;
TQ_UINT64 txDelay;
};
class TDENetworkWiFiSecurityConfiguration class TDENetworkWiFiSecurityConfiguration
{ {
public: public:
@ -623,6 +709,9 @@ class TDECORE_EXPORT TDENetworkConnection
bool requireIPV6; bool requireIPV6;
TQ_UINT32 mtu; TQ_UINT32 mtu;
TDENetworkIEEE8021xConfiguration eapConfig; TDENetworkIEEE8021xConfiguration eapConfig;
TDENetworkPPPConfiguration pppConfig;
TDENetworkPPPOEConfiguration pppoeConfig;
TDENetworkSerialConfiguration serialConfig;
TQStringList authorizedUsers; TQStringList authorizedUsers;
TQString masterConnectionUUID; TQString masterConnectionUUID;
TDENetworkSlaveDeviceType::TDENetworkSlaveDeviceType slaveType; TDENetworkSlaveDeviceType::TDENetworkSlaveDeviceType slaveType;
@ -643,7 +732,7 @@ class TDECORE_EXPORT TDEWiFiConnection : public TDENetworkConnection
virtual ~TDEWiFiConnection(); virtual ~TDEWiFiConnection();
public: public:
TQString SSID; TQByteArray SSID;
TDEWiFiMode::TDEWiFiMode operatingMode; TDEWiFiMode::TDEWiFiMode operatingMode;
TDEWiFiFrequencyBand::TDEWiFiFrequencyBand bandRestriction; TDEWiFiFrequencyBand::TDEWiFiFrequencyBand bandRestriction;
TQ_INT32 channelRestriction; TQ_INT32 channelRestriction;
@ -706,6 +795,28 @@ class TDECORE_EXPORT TDEVLANConnection : public TDENetworkConnection
TDENetworkPriorityMap egressPriorityMap; TDENetworkPriorityMap egressPriorityMap;
}; };
class TDECORE_EXPORT TDEOLPCMeshConnection : public TDENetworkConnection
{
public:
TDEOLPCMeshConnection();
virtual ~TDEOLPCMeshConnection();
public:
TQByteArray SSID;
TQ_INT32 channel;
TQByteArray anycastDHCPHWAddress;
};
class TDECORE_EXPORT TDEBluetoothConnection : public TDENetworkConnection
{
public:
TDEBluetoothConnection();
virtual ~TDEBluetoothConnection();
public:
TDEBluetoothConnectionType::TDEBluetoothConnectionType type;
};
typedef TQPtrList< TDENetworkConnection > TDENetworkConnectionList; typedef TQPtrList< TDENetworkConnection > TDENetworkConnectionList;
class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject

Loading…
Cancel
Save