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 using Antmicro.Renode.Debugging;
10 using Antmicro.Renode.Time;
11 
12 namespace Antmicro.Renode.EventRecording
13 {
14     // this is struct to prevent open stream serializer from caching all classes
15     internal struct RecordEntryBase
16     {
RecordEntryBaseAntmicro.Renode.EventRecording.RecordEntryBase17         public RecordEntryBase(string name, Delegate handler, TimeInterval timestamp) : this()
18         {
19             DebugHelper.Assert(handler.Target == null, "The handler is supposed to have null target");
20 
21             this.Name = name;
22             this.Timestamp = timestamp;
23             this.Handler = handler;
24         }
25 
ToStringAntmicro.Renode.EventRecording.RecordEntryBase26         public override string ToString()
27         {
28             return string.Format("[RecordEntry: Handler={0}, Name={1}, Timestamp={2}]", Handler.Method.Name, Name, Timestamp);
29         }
30 
31         public string Name { get; private set; }
32         public TimeInterval Timestamp { get; private set; }
33 
34         public readonly Delegate Handler;
35     }
36 }
37 
38