Exemple #1
0
 private void ConsoleForm_Load(object sender, EventArgs e)
 {
     Server = new SmartHomeServer(IPAddress.Any, 3000);
     Server.Start((command) =>
     {
         Invoke(new Action(() => {
             tbConsole.AppendText(command);
         }));
     });
 }
Exemple #2
0
        static void Main(string[] args)
        {
            SmartHomeServer server = new SmartHomeServer(IPAddress.Any, 3000);

            server.Start((command) =>
            {
                Console.WriteLine(command);
                Console.WriteLine();
            });
        }
Exemple #3
0
        public MainForm()
        {
            InitializeComponent();

            Server = new SmartHomeServer(IPAddress.Any, 3000);
            Server.Start((command) =>
            {
                MessageBox.Show(command);
            });
        }
Exemple #4
0
        public MainForm()
        {
            InitializeComponent();

            Server = new SmartHomeServer(IPAddress.Any, 3000);
            Server.Start((connected, disconnected) =>
            {
                using (SQLiteConnection conn = new SQLiteConnection("data source=SmartHomeDB.db3"))
                {
                    conn.Open();

                    foreach (Host host in connected)
                    {
                        SQLiteCommand cmd = new SQLiteCommand(conn);
                        cmd.CommandText   = "SELECT Modules.Path as Path, Modules.Args as Args FROM Devices INNER JOIN Actions ON Devices.DeviceName = Actions.DeviceName INNER JOIN Modules ON Actions.Command = Modules.Command WHERE Devices.MacAddress = @mac AND Action = @action";
                        cmd.Parameters.AddWithValue("@mac", host.MAC);
                        cmd.Parameters.AddWithValue("@action", "Enter");

                        var reader = cmd.ExecuteReader();
                        if (reader.HasRows)
                        {
                            reader.Read();
                            process(reader.GetString(reader.GetOrdinal("Path")), reader.GetString(reader.GetOrdinal("Args")));
                        }
                    }

                    foreach (Host host in disconnected)
                    {
                        SQLiteCommand cmd = new SQLiteCommand(conn);
                        cmd.CommandText   = "SELECT Modules.Path as Path, Modules.Args as Args FROM Devices INNER JOIN Actions ON Devices.DeviceName = Actions.DeviceName INNER JOIN Modules ON Actions.Command = Modules.Command WHERE Devices.MacAddress = @mac AND Action = @action";
                        cmd.Parameters.AddWithValue("@mac", host.MAC);
                        cmd.Parameters.AddWithValue("@action", "Exit");
                        var reader = cmd.ExecuteReader();

                        if (reader.HasRows)
                        {
                            reader.Read();
                            process(reader.GetString(reader.GetOrdinal("Path")), reader.GetString(reader.GetOrdinal("Args")));
                        }
                    }
                }
            });
        }