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