예제 #1
0
        internal void ConnectPipeModel(IDataPipe pipe, IOutputDataPort srcPort, IInputDataPort destPort)
        {
            IDataPlumber plumber = null;
            using (PlumberFactory pf = new PlumberFactory())
            {
                plumber = pf.CreateDataPlumber();
            }

            plumber.DataPipe = pipe;
            plumber.SetInitialPort(srcPort);
            plumber.SetFinalPort(destPort);
            bool result = plumber.Connect();

            // TODO log connection results.
            if (!result)
            {
                throw new InvalidOperationException("The pipe could not be connected");
            }
        }
예제 #2
0
 public void Reset()
 {
     _outputPort = null;
     _inputPort = null;
     _pipe = null;
 }
예제 #3
0
파일: DataPlumber.cs 프로젝트: BgRva/Blob1
 public void SetInitialPort(IOutputDataPort port)
 {
     SourceDataPort = port;
     InitialPort = SourceDataPort;
     if (IsInitialPortSet)
         OnInitialPortSet(new PortSetEventArgs(SourceDataPort, true));
 }
예제 #4
0
파일: DataPlumber.cs 프로젝트: BgRva/Blob1
 public void SetFinalPort(IOutputDataPort port)
 {
     if (!IsInitialPortSet)
     {
         ThrowExceptionIfInitPortNotSet();
     }
     else
     {
         SourceDataPort = port;
         FinalPort = SourceDataPort;
         if (IsFinalPortSet)
             OnFinalPortSet(new PortSetEventArgs(SourceDataPort, false));
     }
 }
예제 #5
0
 public void ConnectionChanging_DummyHandler(IOutputDataPort sender, ConnectionChangingEventArgs ea)
 {
     ConnectionChanging_TimesCalled++;
     RecievedEventArgs = ea;
     RecievedSender = sender;
 }
 public Edge(IOutputDataPort output, IInputDataPort input)
 {
     Output = output.GetPort();
     Input  = input.GetPort();
 }