void CConfigControl::GetDbServiceParamsL()
/**
 * Retrieves the required service parameters.
 *
 * @internalComponent
 *
 * @leave If any of the called methods leaves.
 */
	{
	TInt rc;
	TBuf<255> address;
	iService->RefreshL(*iSession);

	iDaemonConfiguration = iService->iIwfName;
	
	address = iService->iIpAddr;
	rc = iAddress.Input(address);
	if (rc != KErrNone)
		{
		__FLOG_STATIC(KConfigLoggingTag1(), KConfigLoggingTag2(), _L("CConfigControl::GetDbServiceParamsL - Invalid IP address format"));
		User::Leave(rc);
		}

	// So we know that we're not just picking up a static address.
	iAddress.SetAddress(iAddress.Address() + 1);

	address = iService->iIpNetMask;
	rc = iSubnetMask.Input(address);
	if (rc != KErrNone)
		{
		__FLOG_STATIC1(KConfigLoggingTag1(), KConfigLoggingTag2(), _L("CConfigControl::GetDbServiceParamsL - Invalid netmask format [%d]"), rc);
		User::Leave(rc);
		}

	address = iService->iIpGateway;
	rc = iDefGateway.Input(address);
	if (rc != KErrNone)
		{
		__FLOG_STATIC1(KConfigLoggingTag1(), KConfigLoggingTag2(), _L("CConfigControl::GetDbServiceParamsL - Invalid default gateway format [%d]"), rc);
		User::Leave(rc);
		}

	address = iService->iIpNameServer1;
	rc = iNameServer1.Input(address);	
	if (rc != KErrNone)
		{
		__FLOG_STATIC1(KConfigLoggingTag1(), KConfigLoggingTag2(), _L("CConfigControl::GetDbServiceParamsL - Invalid name server format [%d]"), rc);
		User::Leave(rc);
		}

	address = iService->iIpNameServer2;
	rc = iNameServer2.Input(address);	
	if (rc != KErrNone)
		{
		__FLOG_STATIC1(KConfigLoggingTag1(), KConfigLoggingTag2(), _L("CConfigControl::GetDbServiceParamsL - Invalid name server format [%d]"), rc);
		User::Leave(rc);
		}

	// set up the broadcast address		
	TInetAddr broadcast;
	broadcast.SubNetBroadcast(iAddress, iSubnetMask);
	iBroadcastAddress = broadcast.Address();		
	}