Esempio n. 1
0
        // Triggers the monitor
        public void Trigger()
        {
            if (!isTriggered)
            {
                isTriggered = true;
                // Call event handler is fired if it exists
                if (this.TriggerChanged != null)
                    this.TriggerChanged(this, new EventArgs());

                if (MessageQueue.Exists(GlobalVariables.queueName)){
                    MessageQueue queue = new MessageQueue(GlobalVariables.queueName);

                    // log the trigger event
                    Mes.MesMessage message = new Mes.MesMessage();
                    message.type = "LOG";
                    message.message = string.Format("{0} Monitor {1} was triggered.", this.Type, this.Id);
                    queue.Send(message);
                }
                else
                {
                    Console.WriteLine("Trigger - no Security message queue available");
                }
            }
        }
Esempio n. 2
0
        // Disables the monitor
        public void Disable()
        {
            if (isEnabled)
            {
                isEnabled = false;
                if (this.EnableChanged != null)
                    this.EnableChanged(this, new EventArgs());

                if (MessageQueue.Exists(GlobalVariables.queueName))
                {
                    MessageQueue queue = new MessageQueue(GlobalVariables.queueName);

                    // log the enable event
                    Mes.MesMessage message = new Mes.MesMessage();
                    message.type = "LOG";
                    message.message = string.Format("{0} Monitor {1} was disabled.", this.Type, this.Id);
                    queue.Send(message);
                }
                else
                {
                    Console.WriteLine("Trigger - no Security message queue available");
                }
            }
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Sensor Simulation for Mesmerize One Prime X2");

            // instantiate objects
            ArrayList realSensors = new ArrayList();
            List<Mes.Monitor> realMonitors = new List<Mes.Monitor>();
            List<Mes.Alarm> realAlarms = new List<Mes.Alarm>();
            Mes.MesMessage sensorMessage = new Mes.MesMessage();
            Hashtable threads = new Hashtable();
            int sensorCount = 0;
            int alarmCount = 0;
            int monitorCount = 0;
            while (true)
            {
                Console.WriteLine("Enter a command:");
                String command = Console.ReadLine();
                string inText;

                switch (command.ToUpper())
                {
                    case "ADD":
                        Console.WriteLine("Add sensor, monitor or alarm? [s|m|a]:");
                        inText = Console.ReadLine().ToUpper();
                        if (inText.Equals("S"))
                        {
                            Mes.MesMessage msg = new Mes.MesMessage();

                            MessageQueue queue = new MessageQueue(queueName);
                            queue.Send(msg);
                        }
                        else if (inText.Equals("M"))
                        {
                        }
                        else if (inText.Equals("A"))
                        {
                        }
                        else
                        {
                            Console.WriteLine("Invalid type of node");
                        }
                        break;
                    case "EDIT":
                        Console.WriteLine("Edit Sensor:");
                        break;
                    case "TRIGGER":
                        Console.WriteLine("Trigger sensor #: ");
                        inText = Console.ReadLine();
                        // set message data
                        //sensorMessage.sensorId = Convert.ToInt32(inText);
                        //sensorMessage.messageType = (int)Actions.Trig;

                        // construct message
                        Message message = new Message();
                        message.Body = sensorMessage;

                        // send the message to the security system
                        if (MessageQueue.Exists(queueName))
                        {
                            MessageQueue queue = new MessageQueue(queueName);
                            queue.Send(message);
                        }
                        else
                        {
                            Console.WriteLine("Terminal - Queue .\\security not Found");
                        }
                        break;
                    case "REMOVE":
                        Console.WriteLine("Remove Sensor:");
                        break;
                    case "EXIT":
                        return;
                    case "HELP":
                        Console.WriteLine("Available commands:");
                        Console.WriteLine("add\nedit\ntrigger\nremove\nexit\nhelp");
                        break;
                    default:
                        Console.WriteLine("Error: Invalid command " + command + " was entered!");
                        break;
                }
            }
        }