Hi All,

Here's the code attached

Qt Code:
  1. QDBusInterface busInterface(
  2. DBUS_NETWORK_MANAGER_SYSYEM_SERVICE_NAME,
  3. m_strDhcp4Config.toAscii().data(),
  4. DBUS_NETWORK_MANAGER_SYSTEM_PROPERTIES_INTERFACE,
  5. QDBusConnection::systemBus());
  6.  
  7. QDBusReply< QVariantMap > result = busInterface.call(GETALL,
  8. DBUS_NETWORK_MANAGER_SYSTEM_ACTIVE_DHCP4CONFIG_INTERFACE);
  9.  
  10. if(result.isValid())
  11. {
  12. qDebug() << "Success";
  13. QVariantMap propertiesMap = result.value();
  14. QDBusArgument optionsArgument = qvariant_cast<QDBusArgument>(propertiesMap.value("Options"));
  15.  
  16. propertiesMap.clear();
  17. optionsArgument.beginArray();
  18.  
  19. while ( !optionsArgument.atEnd() ) {
  20. QVariant key;
  21. QVariant value;
  22. optionsArgument.beginMapEntry();
  23. optionsArgument >> key >> value;
  24. optionsArgument.endMapEntry();
  25. propertiesMap.insert( key, value);
  26. }
  27.  
  28. optionsArgument.endArray();
  29. }
To copy to clipboard, switch view to plain text mode 

I get this error "QDBusArgument: write from a read-only object" on the lines "optionsArgument.beginMapEntry();" and "optionsArgument.endMapEntry();"

The response I'm looking to parse is
"{u'broadcast_address': u'10.244.10.255',
u'dhcp_lease_time': u'691200',
u'dhcp_message_type': u'5',
u'dhcp_rebinding_time': u'604800',
u'dhcp_renewal_time': u'345600',
u'dhcp_server_identifier': u'10.244.0.99',
u'domain_name': u'persistent.co.in',
u'domain_name_servers': u'10.244.0.100 10.244.0.99',
u'expiry': u'1363079647',
u'filename': u'smsboot\\x86\\wdsnbp.com',
u'ip_address': u'10.244.10.232',
u'netbios_name_servers': u'10.244.0.100',
u'network_number': u'10.244.10.0',
u'routers': u'10.244.10.1',
u'subnet_mask': u'255.255.255.0'}"

Kindly suggest how can I parse this value appropriately..
Thanks,
Volcano