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.Collections.Generic; 9 using Antmicro.Renode.Peripherals; 10 11 namespace Antmicro.Renode.Core.Structure 12 { 13 /// <summary> 14 /// Interface for objects that allow registering peripherals and addressing/querying for them. 15 /// </summary> 16 public interface IPeripheralContainer<TPeripheral, TRegistrationPoint> : 17 IPeripheralRegister<TPeripheral, TRegistrationPoint> 18 where TPeripheral : IPeripheral where TRegistrationPoint : IRegistrationPoint 19 { GetRegistrationPoints(TPeripheral peripheral)20 IEnumerable<TRegistrationPoint> GetRegistrationPoints(TPeripheral peripheral); 21 IEnumerable<IRegistered<TPeripheral, TRegistrationPoint>> Children { get; } 22 } 23 } 24