private IHolonomicCalculator ConstructAndConfigureHolonomicCalculator(IRyuContainer ryu)
        {
            var calculator = new HolonomicCalculatorImpl();

            HolonomicDriveTrainStatics.Calculator = calculator;
            return(calculator);
        }
 public IDeviceRegistry ConstructAndPopulateDeviceRegistry(IRyuContainer ryu)
 {
     var deviceRegistry = new DefaultDeviceRegistry();
      var deviceConfigurationLoader = ryu.GetOrThrow<DeviceConfigurationLoaderImpl>();
      deviceConfigurationLoader.LoadDeviceConfiguration(deviceRegistry);
      return deviceRegistry;
 }
Exemplo n.º 3
0
 public object ActivateRyuType(IRyuContainer ryu, RyuType type)
 {
     if (type.Activator != null) {
     return type.Activator(ryu);
      } else {
     return ActivateActivatorlessType(ryu, type.Type);
      }
 }
        public IDeviceRegistry ConstructAndPopulateDeviceRegistry(IRyuContainer ryu)
        {
            var deviceRegistry            = new DefaultDeviceRegistry();
            var deviceConfigurationLoader = ryu.GetOrThrow <DeviceConfigurationLoaderImpl>();

            deviceConfigurationLoader.LoadDeviceConfiguration(deviceRegistry);
            return(deviceRegistry);
        }
Exemplo n.º 5
0
 public object ActivateActivatorlessType(IRyuContainer ryu, Type type)
 {
     try {
     var ctor = type.GetRyuConstructorOrThrow();
     var parameters = ctor.GetParameters();
     var arguments = parameters.Map(p => ryu.GetOrActivate(p.ParameterType));
     var instance = ctor.Invoke(arguments);
     if (type.HasAttribute<InjectRequiredFields>()) {
        var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public;
        var fieldsToInitialize = type.GetFields(bindingFlags)
                                     .Where(f => f.IsInitOnly && !f.FieldType.IsValueType)
                                     .Where(f => f.GetValue(instance) == null);
        foreach (var field in fieldsToInitialize) {
           field.SetValue(instance, ryu.GetOrActivate(field.FieldType));
        }
     }
     return instance;
      } catch (Exception e) {
     throw new RyuActivateException(type, e);
      }
 }
 public CourierContainerFactory(IRyuContainer root)
 {
     this.root = root;
 }
 public static CourierBuilder Create(IRyuContainer container) => new CourierBuilder(container);
 private CourierBuilder(IRyuContainer parentContainer)
 {
     this.parentContainer = parentContainer;
 }
 private IHolonomicCalculator ConstructAndConfigureHolonomicCalculator(IRyuContainer ryu)
 {
     var calculator = new HolonomicCalculatorImpl();
      HolonomicDriveTrainStatics.Calculator = calculator;
      return calculator;
 }
 public CourierContainerFactory(IRyuContainer root) {
    this.root = root;
 }
 public static CourierBuilder Create(IRyuContainer container) => new CourierBuilder(container);
Exemplo n.º 12
0
 public PeerTable(IRyuContainer container, Func <PeerTable, Guid, PeerContext> peerContextFactory)
 {
     this.container          = container;
     this.peerContextFactory = peerContextFactory;
 }
Exemplo n.º 13
0
 public RyuFacade(IRyuContainer container, IActivator activator) {
    this.container = container;
    this.activator = activator;
 }
Exemplo n.º 14
0
 public CourierFacade(IConcurrentSet <ITransport> transports, IRyuContainer container)
 {
     this.transports = transports;
     this.container  = container;
 }
Exemplo n.º 15
0
 public PeerTable(IRyuContainer container, Func<PeerTable, Guid, PeerContext> peerContextFactory) {
    this.container = container;
    this.peerContextFactory = peerContextFactory;
 }
Exemplo n.º 16
0
 public CourierFacade(IConcurrentSet<ITransport> transports, IRyuContainer container) {
    this.transports = transports;
    this.container = container;
 }
 private CourierBuilder(IRyuContainer parentContainer) {
    this.parentContainer = parentContainer;
 }