1 //
2 // Copyright (c) 2010-2024 Antmicro
3 //
4 // This file is licensed under the MIT License.
5 // Full license text is available in 'licenses/MIT.txt'.
6 //
7 using System.Collections.Generic;
8 using Antmicro.Renode.Peripherals.Bus;
9 using Antmicro.Renode.Core.Structure.Registers;
10 using Antmicro.Renode.Core;
11 using Antmicro.Renode.Time;
12 using Antmicro.Renode.Logging;
13 
14 namespace Antmicro.Renode.Peripherals.Mocks
15 {
16     public class PeripheralWithAliases : IPeripheral
17     {
PeripheralWithAliases( int normalParameter, PeripheralModes mode, [NameAlias(R)] int aliasedParameter, [NameAlias(R, warnOnUsage: false)] int aliasedParameterDefault = 0 )18         public PeripheralWithAliases(
19             int normalParameter,
20             PeripheralModes mode,
21             [NameAlias("ctorAlias")] int aliasedParameter,
22             [NameAlias("ctorAliasDefault", warnOnUsage: false)] int aliasedParameterDefault = 0
23         )
24         {
25             this.InfoLog("{0} = {1}", nameof(normalParameter), normalParameter);
26             this.InfoLog("{0} = {1}", nameof(mode), mode);
27             this.InfoLog("{0} = {1}", nameof(aliasedParameter), aliasedParameter);
28             this.InfoLog("{0} = {1}", nameof(aliasedParameterDefault), aliasedParameterDefault);
29         }
30 
Reset()31         public void Reset()
32         {
33         }
34 
35         [NameAlias("Modes")]
36         public enum PeripheralModes
37         {
38             Mode1,
39             Mode2,
40         }
41     }
42 }
43