public override uint EncodeContent(Stream strm, EncodingRules encRule) { //encoded in NumberingPlan !! return 0; }
public static uint DecodeContent_and_only_content(this Asn1SequenceOrSetObject obj, Stream strm, EncodingRules encRule) { uint total = 0; for (int i = 0; i < obj.m_children.Length; i++) { obj.m_children[i] = obj.ClassDef[i].createObj(); obj.m_children[i].Parent = obj; total = obj.m_children[i].DecodeContent(strm, encRule, 0xFFFFFFFF, false); } return total; }
public override uint Encode(Stream strm, EncodingRules encRule) { uint ret = 0; foreach (DataInterChange ch in m_children) ret += ch.Encode(strm, encRule); return ret; }
public override uint DecodeContent(Stream strm, EncodingRules encRule, uint dataLen, bool indefiniteForm) { return 0; }
public override uint EncodeContent(Stream strm, EncodingRules encRule) { int len = int.Parse(CustomAttrs["Size"]); List<byte> tmp = new List<byte>(BitConverter.GetBytes(Value)); tmp = tmp.GetRange(0, len); tmp.Reverse(); foreach(var b in tmp) strm.WriteByte(b); return (uint)tmp.Count; }
public override uint Decode(Stream strm, EncodingRules encRule) { uint decodedData = 0; while (strm.Position < strm.Length) { DataInterChange ch = AppendNewChild(); decodedData += ch.Decode(strm, encRule); } return decodedData; }
public override uint EncodeContent(Stream strm, EncodingRules encRule) { int len = int.Parse(CustomAttrs["Size"]); if (Value.Count < len) Value.AddRange(Enumerable.Repeat<byte>(0xFF, len - Value.Count)); else if (Value.Count > len) Value.RemoveRange(len, Value.Count - len); return base.EncodeContent(strm, encRule); }
public override uint DecodeContent(Stream strm, EncodingRules encRule, uint dataLen, bool indefiniteForm) { uint len = uint.Parse(CustomAttrs["Size"]); return base.DecodeContent(strm, encRule, len, false); }
public override uint EncodeContent(Stream strm, EncodingRules encRule) { return ((Asn1SequenceOrSetObject)m_Alternative).EncodeContent_and_only_content(strm, encRule); }
public override uint EncodeContent(Stream strm, EncodingRules encRule) { int len = int.Parse(CustomAttrs["Size"]); if (Value.Length > len) Value = Value.Substring(0, len); if (Value.Length < len) Value += new string(' ', len - Value.Length); return base.EncodeContent(strm, encRule); }
public override uint DecodeContent(Stream strm, EncodingRules encRule, uint dataLen, bool indefiniteForm) { NamedChild childClass = _creators[dataLen]; m_children[childClass.m_index] = childClass.createObj(); m_children[childClass.m_index].Parent = this; return ((Asn1SequenceOrSetObject)m_children[childClass.m_index]).DecodeContent_and_only_content(strm, encRule); }
public override uint EncodeContent(Stream strm, EncodingRules encRule) { City city = Parent as City; byte TypeofNumberAndNumberingPlanIndicator = 0; TypeofNumberAndNumberingPlanIndicator = (byte)(city.typeofNumber.Value[0] << 4); TypeofNumberAndNumberingPlanIndicator |= (byte)(Value[0] & 0xF); strm.WriteByte(TypeofNumberAndNumberingPlanIndicator); return 1; }
public override uint DecodeContent(Stream strm, EncodingRules encRule, uint dataLen, bool indefiniteForm) { City city = Parent as City; byte TypeofNumberAndNumberingPlanIndicator = (byte)strm.ReadByte(); Value.Clear(); Value.Add((byte)(TypeofNumberAndNumberingPlanIndicator & 0xF)); city.typeofNumber.Value.Clear(); city.typeofNumber.Value.Add((byte)(TypeofNumberAndNumberingPlanIndicator >> 4)); return 1; }
public override uint Encode(Stream strm, EncodingRules encRule, bool primitive, uint tag) { Value = cll.CreateOSRawData(); long sPos = strm.Position; BER.EncodeTagAsInt(strm, tag, primitive); BER.EncodeLengthDF(strm, (uint)Value.Count); EncodeContent(strm, encRule); return (uint)(strm.Position - sPos); }
public static uint EncodeContent_and_only_content(this Asn1SequenceOrSetObject obj, Stream strm, EncodingRules encRule) { uint total = 0; for (int i = 0; i < obj.m_children.Length; i++) { if (obj.m_children[i] == null) { obj.m_children[i] = obj.ClassDef[i].createObj(); ((IOperSpecField)(obj.m_children[i])).SetValueToDefault(); } total += obj.m_children[i].EncodeContent(strm, encRule); } return total; }