Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            var queue        = new ConcurrentQueue <PresenceContainer>();
            var dataEvent    = new AutoResetEvent(false);
            var config       = new XmlConfiguration();
            var configValues = config.Deserialize();

            var alarm  = AlarmFactory.CreateAlarm(configValues.Alarm);
            var filter = FilterFactory.CreateFilter(configValues.Filter);
            var log    = LogFactory.CreateLog(configValues.Log);

            var producer   = new Producer(queue);
            var consumer   = new Consumer(queue, dataEvent);
            var controller = new CtrlHospitalBed(dataEvent, consumer, alarm, filter, log);

            var consumerThread   = new Thread(consumer.Run);
            var producerThread   = new Thread(producer.Run);
            var controllerThread = new Thread(controller.RunSystem);
            var checkThread      = new Thread(controller.CheckKeyChar);

            consumerThread.Start();
            producerThread.Start();
            controllerThread.Start();
            checkThread.Start();
        }
Ejemplo n.º 2
0
    static void GetAlarmExamples()
    {
        HeartbeatAlarm alarm;

        alarm = AlarmFactory.GetHeartbeatAlarm();
        alarm = AlarmFactory.GetAlarm <HeartbeatAlarm>();
        alarm = (HeartbeatAlarm)AlarmFactory.GetAlarm(AlarmTypes.Heartbeat);
    }
Ejemplo n.º 3
0
        public Clock()
        {
            player = new SoundPlayer();

            alarms = new AlarmFactory();
            if (dateTime != null)
            {
                Logger.LogNormal("Clock started");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Executes the factory methods and thus creates the suitable alarm objects
        /// </summary>
        private static void AttachAlarmsToSensors(AlarmFactory alarmFactory, IEnumerable <ISensor> sensors)
        {
            Debug.Assert(sensors != null, "list of sensors should be initialized");

            foreach (ISensor sensor in sensors)
            {
                sensor.ClearAlarms();

                IAlarm visibleAlarm = alarmFactory.CreateVisibleAlarm();
                sensor.AttachAlarm(visibleAlarm);

                IAlarm audiobleAlarm = alarmFactory.CreateAudibleAlarm();
                sensor.AttachAlarm(audiobleAlarm);
            }
        }
 public void ChooseAlarm(AlarmType alarmType)
 {
     _alarm.DetachFrom(_filter);
     _alarm = AlarmFactory.CreateAlarm(alarmType);
     _alarm.AttachTo(_filter);
 }