1 // 2 // Copyright (c) 2010-2018 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 using System; 9 10 namespace Antmicro.Renode.Core.Structure 11 { 12 //TODO: constraint on T 13 public class NumberRegistrationPoint<T> : IRegistrationPoint 14 { 15 public T Address { get; private set ;} 16 NumberRegistrationPoint(T address)17 public NumberRegistrationPoint(T address) 18 { 19 Address = address; 20 } 21 22 public string PrettyString 23 { 24 get 25 { 26 return ToString(); 27 } 28 } 29 ToString()30 public override string ToString() 31 { 32 return string.Format("Address: {0}", Address); 33 } 34 Equals(object obj)35 public override bool Equals(object obj) 36 { 37 var other = obj as NumberRegistrationPoint<T>; 38 if(other == null) 39 { 40 return false; 41 } 42 if(ReferenceEquals(this, obj)) 43 { 44 return true; 45 } 46 return Address.Equals(other.Address); 47 } 48 49 GetHashCode()50 public override int GetHashCode() 51 { 52 unchecked 53 { 54 return (Address != null ? Address.GetHashCode() : 0); 55 } 56 } 57 58 } 59 } 60 61