Ejemplo n.º 1
0
 private void NewConnectIn()
 {
     while (!this.closing)
     {
         ConnectionAdded?.BeginInvoke(this, this.listener.AcceptTcpClient(), null, null);
     }
 }
Ejemplo n.º 2
0
        public void Add(ConnectionInfo connection)
        {
            string key = GetKey(connection);

            connections.Add(key, connection);
            var provider = new SwisMetaDataProvider(connection);

            metadataProviders[connection] = provider;
            var e = new ConnectionsEventArgs(connection);

            ConnectionAdded?.Invoke(this, e);
        }
 public IStudioConnection CreateConnection(StudioComponentOutput output, StudioComponentInput input)
 {
     if (IsInputInComponents(input) &&
         !_connections.Exists(c => c.Input == input) &&
         IsOutputInComponents(output))
     {
         var connection = connectionFactory.CreateStudioConnection(output, input);
         if (connection != null)
         {
             _connections.Add(connection);
             ConnectionAdded?.Invoke(this, connection);
             connection.SetTargetState(Shared.ConnectionState.Connected);
             return(connection);
         }
     }
     throw new InvalidOperationException();
 }
Ejemplo n.º 4
0
        private bool AddSubdividedConnection(NodeConnection connection)
        {
            var node1 = GetExistingNodeOrCreateNew(connection.Start);
            var node2 = GetExistingNodeOrCreateNew(connection.End);

            var alreadyHasConnection = node1.Connections.Contains(node2) || node2.Connections.Contains(node1);

            if (alreadyHasConnection)
            {
                return(false);
            }

            node1.Connections.Add(node2);
            node2.Connections.Add(node1);

            ConnectionAdded.CallEvent(connection);
            return(true);
        }
Ejemplo n.º 5
0
        public void HandleBpmnElementEvent(BpmnElementEvent e)
        {
            TranslateProcessId(e);
            switch (e.Type)
            {
            case BpmnConstants.BPMN_EVENT_CLICK:
                ElementClick?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_ELEMENT_CHANGED:
                ElementChanged?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_SHAPE_ADDED:
                ShapeAdded?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_SHAPE_REMOVED:
                ShapeRemoved?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_UPDATE_ID:
                ElementIdUpdated?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_CONNECTION_REMOVED:
                ConnectionRemoved?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_CONNECTION_ADDED:
                ConnectionAdded?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_ROOT_ADDED:
                RootAdded?.Invoke(this, e);
                break;

            case BpmnConstants.BPMN_EVENT_ROOT_REMOVED:
                RootRemoved?.Invoke(this, e);
                break;
            }
        }
Ejemplo n.º 6
0
        public void HandleBpmnElementEvent(BpmnElementEvent e)
        {
            switch (e.Type)
            {
            case "element.click":
                ElementClick?.Invoke(this, e);
                break;

            case "element.changed":
                ElementChanged?.Invoke(this, e);
                break;

            case "shape.added":
                ShapeAdded?.Invoke(this, e);
                break;

            case "shape.removed":
                ShapeRemoved?.Invoke(this, e);
                break;

            case "element.updateId":
                ElementIdUpdated?.Invoke(this, e);
                break;

            case "connection.removed":
                ConnectionRemoved?.Invoke(this, e);
                break;

            case "connection.added":
                ConnectionAdded?.Invoke(this, e);
                break;

            case "root.added":
                RootAdded?.Invoke(this, e);
                break;

            case "root.removed":
                RootRemoved?.Invoke(this, e);
                break;
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Adds a remote port to the connection list.
        /// Port must be an input.
        /// </summary>
        /// <param name="port"></param>
        /// <exception cref="ArgumentNullException"></exception>
        /// <exception cref="TypeAccessException"></exception>
        public virtual void AddConnection(InputPort port)
        {
            if (port == null)
            {
                throw new ArgumentNullException();
            }

            if (!port.DataType.Equals(DataType))
            {
                throw new PortTypeMismatchException(DataType, port.DataType);
            }

            if (!_connections.Contains(port))
            {
                _connections.Add(port);
                port.Connection = this;
                ConnectionAdded?.Invoke(this, new ConnectionModifiedEventArgs(ConnectionModifiedEventArgs.Modifier.Added, port));
            }
            else
            {
                throw new ArgumentException("element already exists", nameof(port));
            }
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Invokes ConnectionAdded event.
 /// </summary>
 /// <param name="netConnection">The new connection</param>
 protected virtual void OnConnectionAdded(NetConnection netConnection)
 {
     ConnectionAdded?.Invoke(this, new ConnectionAddedEventArgs(netConnection));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Invokes ConnectionAdded event.
 /// </summary>
 protected virtual void OnConnectionAdded(ConnectionAddedEventArgs e)
 {
     ConnectionAdded?.Invoke(this, e);
 }
Ejemplo n.º 10
0
 public void RegisterConnection(string name, IConnection connection)
 {
     Connections.Add(name, connection);
     connection.ConnectionStatusHandler += OnConnectionStatusChanged;
     ConnectionAdded?.Invoke(this, new ConnectionArgs(connection));
 }