// // Copyright (c) 2010-2018 Antmicro // Copyright (c) 2011-2015 Realtime Embedded // // This file is licensed under the MIT License. // Full license text is available in 'licenses/MIT.txt'. // using System.Collections.Generic; using System; using System.Linq; using Antmicro.Renode.Peripherals; namespace Antmicro.Renode.Config.Devices { public class DeviceInfo { //> private Dictionary irqs = new Dictionary(); public Dictionary Irqs{ get { return irqs; } } private Dictionary irqsFrom = new Dictionary(); public Dictionary IrqsFrom{ get { return irqsFrom; } } public Dictionary>> Connections{ get; private set; } public IEnumerable Address{ get; set; } public Type Type { get; set; } public string Name{ get; set; } public bool HasConnections{ get { return Connections.Any(); } } public IPeripheral Peripheral{ get; set; } public bool IsRegistered{ get; set; } public DeviceInfo() { Connections = new Dictionary>>(); } public void AddConnection(string container) { AddConnection(container, new Dictionary()); } public void AddConnection(string container, IDictionary connectionDef) { if(!Connections.ContainsKey(container)) { Connections.Add(container, new List>()); } // connectionDef.Add("name", Name); Connections[container].Add(connectionDef); } public void AddConnection(string container, IList list) { foreach(var item in list) { AddConnection(container, item); } } public void AddIrq(string section, dynamic value) { irqs[section] = value; } public void AddIrqFrom(string section, dynamic value) { irqsFrom[section] = value; } } }