WireEnd functionality split into ReadEnd and ReadWriteEnd
[Mograsim.git] / era.mi / src / era / mi / logic / components / ManualSwitch.java
index c56d802..caaf49b 100644 (file)
@@ -2,9 +2,9 @@ package era.mi.logic.components;
 
 import java.util.List;
 
-import era.mi.logic.Bit;
-import era.mi.logic.wires.WireArray;
-import era.mi.logic.wires.WireArray.WireArrayEnd;
+import era.mi.logic.types.Bit;
+import era.mi.logic.wires.Wire.ReadEnd;
+import era.mi.logic.wires.Wire.ReadWriteEnd;
 
 /**
  * This class models a simple on/off (ONE/ZERO) switch for user interaction.
@@ -14,16 +14,14 @@ import era.mi.logic.wires.WireArray.WireArrayEnd;
  */
 public class ManualSwitch implements Component
 {
-       private WireArray output;
-       private WireArrayEnd outputI;
+       private ReadWriteEnd output;
        private boolean isOn;
 
-       public ManualSwitch(WireArray output)
+       public ManualSwitch(ReadWriteEnd output)
        {
-               if (output.length != 1)
+               if (output.length() != 1)
                        throw new IllegalArgumentException("Switch output can be only a single wire");
                this.output = output;
-               this.outputI = output.createInput();
        }
 
        public void switchOn()
@@ -46,7 +44,7 @@ public class ManualSwitch implements Component
                if (this.isOn == isOn)
                        return;
                this.isOn = isOn;
-               outputI.feedSignals(getValue());
+               output.feedSignals(getValue());
        }
 
        public boolean isOn()
@@ -60,13 +58,13 @@ public class ManualSwitch implements Component
        }
 
        @Override
-       public List<WireArray> getAllInputs()
+       public List<ReadEnd> getAllInputs()
        {
                return List.of();
        }
 
        @Override
-       public List<WireArray> getAllOutputs()
+       public List<ReadWriteEnd> getAllOutputs()
        {
                return List.of(output);
        }