Ejemplo n.º 1
0
    private void HandleClientConnectedEvent(ClientConnectionEvent connectionEvent)
    {
        // Find existing or create new MicProfile for the newly connected device
        MicProfile micProfile = settings.MicProfiles.FirstOrDefault(it => it.ConnectedClientId == connectionEvent.ConnectedClientHandler.ClientId);

        if (micProfile == null)
        {
            micProfile = new MicProfile(connectionEvent.ConnectedClientHandler.ClientName, connectionEvent.ConnectedClientHandler.ClientId);
            settings.MicProfiles.Add(micProfile);
        }

        SongSelectMicListEntry matchingListEntry = listEntries.FirstOrDefault(listEntry =>
                                                                              listEntry.MicProfile != null &&
                                                                              listEntry.MicProfile.ConnectedClientId == connectionEvent.ConnectedClientHandler.ClientId &&
                                                                              listEntry.MicProfile.IsEnabled);

        if (connectionEvent.IsConnected && matchingListEntry == null && micProfile.IsEnabled)
        {
            // Add to UI
            CreateListEntry(micProfile);
        }
        else if (!connectionEvent.IsConnected && matchingListEntry != null)
        {
            // Remove from UI
            RemoveListEntry(matchingListEntry);
        }
    }
Ejemplo n.º 2
0
 internal void CallConnectionEventHandler(ClientConnection connection, ClientConnectionEvent e)
 {
     if (connectionEventHandler != null)
     {
         connectionEventHandler(connectionEventHandlerParameter, connection, e);
     }
 }
    public static Entity CreateConnectionEvent(EntityManager entityManager, ClientConnectionEvent connectionEvent)
    {
        var e = entityManager.CreateEntity(typeof(ClientConnectionEvent));

        entityManager.SetComponentData(e, connectionEvent);
        return(e);
    }
Ejemplo n.º 4
0
 private void UpdateMicProfileNames(ClientConnectionEvent clientConnectionEvent)
 {
     if (clientConnectionEvent.IsConnected)
     {
         Items.ForEach(micProfile => UpdateMicProfileName(clientConnectionEvent, micProfile));
     }
     uiItemText.text = GetDisplayString(SelectedItem);
 }
Ejemplo n.º 5
0
    private void UpdateMicProfileName(ClientConnectionEvent clientConnectionEvent, MicProfile micProfile)
    {
        if (micProfile.IsInputFromConnectedClient &&
            micProfile.ConnectedClientId == clientConnectionEvent.ConnectedClientHandler.ClientId)
        {
            micProfile.Name = clientConnectionEvent.ConnectedClientHandler.ClientName;

            if (SelectedItem == micProfile)
            {
                uiItemText.text = micProfile.Name;
            }
        }
    }
Ejemplo n.º 6
0
        // This is a handler for IEC104 connection events
        private static void ConnectionEventHandler(
            object parameter,
            ClientConnection connection,
            ClientConnectionEvent conEvent
            )
        {
            var srv        = IEC10Xconns[(int)parameter];
            var conNameStr = srv.name + " - ";

            if (conEvent == ClientConnectionEvent.OPENED)
            {
                srv.clientConnections.Add(connection);
            }
            else if (conEvent == ClientConnectionEvent.CLOSED)
            {
                srv.clientConnections.Remove(connection);
            }
            Log(conNameStr + "Connection event " +
                connection.RemoteEndpoint.Address.ToString() + ":" +
                connection.RemoteEndpoint.Port + " - " +
                conEvent.ToString());

            var Client     = ConnectMongoClient(JSConfig);
            var DB         = Client.GetDatabase(JSConfig.mongoDatabaseName);
            var collection = DB.GetCollection <IEC10X_connection>(ProtocolConnectionsCollectionName);
            // update stats
            var filter =
                new BsonDocument(new BsonDocument("protocolConnectionNumber",
                                                  srv.protocolConnectionNumber));
            var update =
                new BsonDocument("$set",
                                 new BsonDocument {
                { "stats", new BsonDocument {
                      { "nodeName", JSConfig.nodeName },
                      { "timeTag", BsonDateTime.Create(DateTime.Now) },
                      { "openConnections", BsonValue.Create(srv.server.OpenConnections) },
                      { "clientConnections", BsonValue.Create(srv.clientConnections.Count) },
                      { "endpoint." +
                                connection.RemoteEndpoint.Address.ToString(),
                                new BsonDocument {
                                    { "timeTag", BsonDateTime.Create(DateTime.Now) },
                                    { "connectionState", BsonValue.Create(conEvent.ToString()) },
                                } },
                  } },
            });
            var res = collection.UpdateOneAsync(filter, update);

            Log("Mongo protocolConnections Matched " + res.Result.MatchedCount + " Updated " + res.Result.ModifiedCount);
        }
Ejemplo n.º 7
0
    private void HandleClientConnectedEvent(ClientConnectionEvent connectionEvent)
    {
        if (micProfile == null ||
            connectionEvent.ConnectedClientHandler.ClientId != micProfile.ConnectedClientId)
        {
            return;
        }

        if (connectionEvent.IsConnected)
        {
            HideMicDisconnectedInfo();
        }
        else
        {
            ShowMicDisconnectedInfo();
        }
    }
Ejemplo n.º 8
0
    private void HandleClientConnectedEvent(ClientConnectionEvent connectionEvent)
    {
        if (micProfile == null ||
            connectionEvent.ConnectedClientHandler.ClientId != micProfile.ConnectedClientId)
        {
            return;
        }

        if (connectionEvent.IsConnected)
        {
            playerMessageDisplayer.ShowMessage("Mic reconnected", Colors.green, 3);
        }
        else
        {
            playerMessageDisplayer.ShowMessage("Mic disconnected", Colors.red, 3);
        }
    }
    private void HandleClientConnectedEvent(ClientConnectionEvent connectionEvent)
    {
        // Find existing or create new MicProfile for the newly connected device
        MicProfile micProfile = settings.MicProfiles.FirstOrDefault(it => it.ConnectedClientId == connectionEvent.ConnectedClientHandler.ClientId);

        if (micProfile == null)
        {
            micProfile = new MicProfile(connectionEvent.ConnectedClientHandler.ClientName, connectionEvent.ConnectedClientHandler.ClientId);
            settings.MicProfiles.Add(micProfile);
        }

        if (connectionEvent.IsConnected)
        {
            // Assign to player if needed
            UseMicProfileWhereNeeded(micProfile);
        }
        else if (!connectionEvent.IsConnected)
        {
            // Remove from players where already assigned
            RemoveMicProfileFromListEntries(micProfile);
        }
    }
Ejemplo n.º 10
0
        // This is a handler for IEC104 connection events
        private static void ConnectionEventHandler(
            object parameter,
            ClientConnection connection,
            ClientConnectionEvent conEvent
            )
        {
            var srv        = IEC10Xconns[(int)parameter];
            var conNameStr = srv.name + " - ";

            if (conEvent == ClientConnectionEvent.OPENED)
            {
                srv.clientConnections.Add(connection);
            }
            else if (conEvent == ClientConnectionEvent.CLOSED)
            {
                srv.clientConnections.Remove(connection);
            }
            Log(conNameStr + "Connection event " +
                connection.RemoteEndpoint.Address.ToString() + ":" +
                connection.RemoteEndpoint.Port + " - " +
                conEvent.ToString());
        }
 public static void InvokeClientConnectionEvent(ClientConnectionEventArgs args)
 {
     ClientConnectionEvent?.Invoke(args);
 }
Ejemplo n.º 12
0
 private static void connectionEventHandler(object parameter, ClientConnection connection, ClientConnectionEvent conEvent)
 {
     Console.WriteLine("Connection {0}:{1} - {2}", connection.RemoteEndpoint.Address.ToString(),
                       connection.RemoteEndpoint.Port, conEvent.ToString());
 }
 private static void OnConnectionEvent(object parameter, ClientConnection connection, ClientConnectionEvent eventType)
 {
     SmprMonitoringService.Log("connection event " + eventType.ToString() + " " + connection.RemoteEndpoint);
 }