示例#1
0
        /// <summary>
        /// Инициализация провайдера
        /// </summary>
        /// <param name="configuration"></param>
        public void Initialize(Dictionary <string, object> configuration)
        {
            _state = DataProviderState.Initializing;
            try
            {
                // читаем конфиг
                var config = (XmlConfigSource)configuration["ConfigSource"];
                _network = new BacNet(config.Configs["BacNet"].Get("Ip"));

                // выгребаем бакнет-адреса
                var addresses = ((List <string>)configuration["Addresses"]).Where(a => _backnetAddressRegex.IsMatch(a)).ToList();

                // подписываемся
                addresses.ForEach(Subscribe);

                // считаем, что работатем
                _state = DataProviderState.Working;

                // уведомляем внимательных слушателей о инициализации данного провайдера
                if (DataProviderInitializedEvent != null)
                {
                    DataProviderInitializedEvent(this);
                }
            }
            catch (Exception)
            {
                // бида-пичаль
                _state = DataProviderState.Fault;
                _subscribedAddresses.Clear();
            }
        }
示例#2
0
        protected DataProviderState dataProviderState;  // current state of our DataProvider ('READY' means the DataProvider is ready to use).

        protected DataProviderBase()
        {
            prop = new KeyValueCollection(PropertyNames);

            tradeCycle         = null;
            previousTradeCycle = null;
            sessionDetail      = null;

            // Assume we are in the READY state. Any data provider that is not in the READY state
            // when it starts up should change the dataProviderState value in its constructor.
            dataProviderState = DataProviderState.READY;
        }
示例#3
0
 public void Initialize(Dictionary<string, object> configuration)
 {
     State = DataProviderState.Initializing;
     try
     {
         var addresses = (List<string>)configuration["Addresses"];
         _fakeObjects.Clear();
         addresses.ForEach(Subscribe);
         State = DataProviderState.Working;
         if (DataProviderInitializedEvent != null)
             DataProviderInitializedEvent(this);
     }
     catch (Exception)
     {
         State = DataProviderState.Fault;
     }
 }
示例#4
0
 public void Initialize(Dictionary <string, object> configuration)
 {
     State = DataProviderState.Initializing;
     try
     {
         var addresses = (List <string>)configuration["Addresses"];
         _fakeObjects.Clear();
         addresses.ForEach(Subscribe);
         State = DataProviderState.Working;
         if (DataProviderInitializedEvent != null)
         {
             DataProviderInitializedEvent(this);
         }
     }
     catch (Exception)
     {
         State = DataProviderState.Fault;
     }
 }
示例#5
0
 public FakeDataProvider()
 {
     State = DataProviderState.Uninitialized;
 }
示例#6
0
 public BacnetDataProvider()
 {
     _state = DataProviderState.Uninitialized;
     _subscribedAddresses = new List<string>();
 }
示例#7
0
        /// <summary>
        /// Инициализация провайдера
        /// </summary>
        /// <param name="configuration"></param>
        public void Initialize(Dictionary<string, object> configuration)
        {
            _state = DataProviderState.Initializing;
            try
            {
                // читаем конфиг
                var config = (XmlConfigSource)configuration["ConfigSource"];
                _network = new BacNet(config.Configs["BacNet"].Get("Ip"));

                // выгребаем бакнет-адреса
                var addresses = ((List<string>)configuration["Addresses"]).Where(a => _backnetAddressRegex.IsMatch(a)).ToList();

                // подписываемся
                addresses.ForEach(Subscribe);

                // считаем, что работатем
                _state = DataProviderState.Working;

                // уведомляем внимательных слушателей о инициализации данного провайдера
                if (DataProviderInitializedEvent != null)
                    DataProviderInitializedEvent(this);
            }
            catch (Exception)
            {
                // бида-пичаль
                _state = DataProviderState.Fault;
                _subscribedAddresses.Clear();
            }
        }
示例#8
0
 public BacnetDataProvider()
 {
     _state = DataProviderState.Uninitialized;
     _subscribedAddresses = new List <string>();
 }