// Returns value of given attribute. int CGXDLMSTcpUdpSetup::GetValue(int index, int selector, CGXDLMSVariant& parameters, CGXDLMSVariant& value) { if (index == 1) { GXHelpers::AddRange(value.byteArr, m_LN, 6); value.vt = DLMS_DATA_TYPE_OCTET_STRING; return ERROR_CODES_OK; } if (index == 2) { value = GetPort(); return ERROR_CODES_OK; } if (index == 3) { value = GetIPReference(); return ERROR_CODES_OK; } if (index == 4) { value = GetMaximumSegmentSize(); return ERROR_CODES_OK; } if (index == 5) { value = GetMaximumSimultaneousConnections(); return ERROR_CODES_OK; } if (index == 6) { value = GetInactivityTimeout(); return ERROR_CODES_OK; } return ERROR_CODES_INVALID_PARAMETER; }
// Returns value of given attribute. int CGXDLMSTcpUdpSetup::GetValue(CGXDLMSSettings& settings, CGXDLMSValueEventArg& e) { if (e.GetIndex() == 1) { int ret; CGXDLMSVariant tmp; if ((ret = GetLogicalName(this, tmp)) != 0) { return ret; } e.SetValue(tmp); return DLMS_ERROR_CODE_OK; } if (e.GetIndex() == 2) { CGXDLMSVariant tmp = GetPort(); e.SetValue(tmp); return DLMS_ERROR_CODE_OK; } if (e.GetIndex() == 3) { CGXDLMSVariant tmp; GXHelpers::SetLogicalName(m_IPReference.c_str(), tmp); e.SetValue(tmp); return DLMS_ERROR_CODE_OK; } if (e.GetIndex() == 4) { CGXDLMSVariant tmp = GetMaximumSegmentSize(); e.SetValue(tmp); return DLMS_ERROR_CODE_OK; } if (e.GetIndex() == 5) { CGXDLMSVariant tmp = GetMaximumSimultaneousConnections(); e.SetValue(tmp); return DLMS_ERROR_CODE_OK; } if (e.GetIndex() == 6) { CGXDLMSVariant tmp = GetInactivityTimeout(); e.SetValue(tmp); return DLMS_ERROR_CODE_OK; } return DLMS_ERROR_CODE_INVALID_PARAMETER; }