/// <summary> /// Parses value member of the realtimeobject /// </summary> /// <param name="in_element"></param> /// <param name="in_xml_stream"></param> /// <param name="in_parent"></param> internal void ParseValueMember(XPathNavigator in_element, TextReader in_xml_stream, object in_parent) { // get name m_name = XMLAttributeParser.ConvertAttributeToString(in_element, "Name", XMLAttributeParser.atObligatory); // get type m_member_type = TypeStringToMemberType(in_element.Name); // check type if (m_member_type == RealtimeObjectMember.MemberType.Unknown) { throw XMLParserBase.CreateXMLParseException(string.Format(ParserRealtimeObjectStringConstants.ErrorInvalidElementType, in_element.Name), in_element); } // get multiplier for fixed types if (RealtimeObjectMember.IsFixedMember(m_member_type)) { m_fixed_multiplier = XMLAttributeParser.ConvertAttributeToInt(in_element, "Multiplier", XMLAttributeParser.atObligatory); } // store attributes for further processing XPathNavigator element = in_element.Clone(); if (element.MoveToFirstAttribute()) { m_attributes.Add(element.Name, element.Value); } while (element.MoveToNextAttribute()) { m_attributes.Add(element.Name, element.Value); } }
/// <summary> /// Sets multiplier for fixed integer types /// </summary> /// <param name="in_multiplier"></param> public void SetFixedMultiplier(int in_multiplier) { if (!RealtimeObjectMember.IsFixedMember(m_member_type)) { throw new ArgumentException("Fixed member type expected"); } m_multiplier = in_multiplier; }