public static void Process(IEventLink eventLink, Object writeSyncObject, Task task, String workingDirectory, HashSet<TableMapper> mapping) { var processor = new TaskProcessor(eventLink, writeSyncObject, task, workingDirectory, mapping); processor.Process(); }
public SocketReporter(IEventLink eventLink, Mode mode) : base(eventLink, mode) { try { // пытаемся установить соединение с интерактивным приложением // для оповещения о ходе выгрузки данных _client = new TcpClient(_hostName, RemoteControl.Settings.Services.ExchangeService.Port + 1); // создаем поток для чтения/записи _stream = _client.GetStream(); _stream.WriteTimeout = _timeout; _stream.ReadTimeout = _timeout; // устанавливаем флаг, сигнализирующий об успешном подключении _connected = true; // сообщаем о начале выгрузки ProtocolOperation(_Proto_Start_Upload); } catch (SocketException) { // пишем в лог предупреждение EventLink.Post(ConstHelper.EventSource, EventType.Warning, _interactiveNotAccessible); } }
public ConsoleProgressReporter(IEventLink eventLink, Mode mode) : base(eventLink, mode) { Console.Clear(); Console.WriteLine(mode == Mode.Update ? "Начало обновления данных." : "Начало замены данных."); }
private Query(Mode mode, ICashDataWriter writer, IEventLink eventLink, QueryMapper mapper) { _mode = mode; _writer = writer; _eventLink = eventLink; _mapper = mapper; }
public void Add(IEventLink sel) { if (!m_conditions.Contains(sel)) { m_conditions.Add(sel); //Console.WriteLine("//// CONDITIONS COUNT: " + m_conditions.Count); } }
public IpFixServerChannelSink(IServerChannelSink nextSink, IEventLink eventLink) { if (nextSink == null) throw new ArgumentNullException("nextSink"); _nextSink = nextSink; _eventLink = eventLink; }
private ObjectDownloadStateManager(IEventLink eventLink, Mode mode, Object writeSync) { if (eventLink == null) throw new ArgumentNullException("eventLink"); _eventLink = eventLink; _mode = mode; _writeSync = writeSync; }
private TaskProcessor(IEventLink eventLink, Object writeSyncObject, Task task, String workingDirectory, HashSet<TableMapper> mapping) { _eventLink = eventLink; _writeSyncObject = writeSyncObject; _task = task; _workingDirectory = workingDirectory; _mapping = mapping; }
private void CreateEventLink(IEventLink eventLink) { var eventNode = this.ViewModel.GetOrCreateEventNode(this.FindViewModel(eventLink.EventReference.Value.AsElement().Id)); foreach (var component in this.ViewModel.GetAllComponentsNode(eventLink.Parent.Parent.AsElement().Id)) { this.ViewModel.GetOrCreateEventConnection(component, eventNode); } }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="target">Объект, к которому нужно обеспечить доступ</param> protected CustomHost(T target) { if (target == default(T)) { throw new ArgumentNullException("target"); } _target = target; _eventLink = null; }
public IpFixServerChannelSink(IServerChannelSink nextSink, IEventLink eventLink) { if (nextSink == null) { throw new ArgumentNullException("nextSink"); } _nextSink = nextSink; _eventLink = eventLink; }
private TableUpdater(Mode mode, ICashDataReader reader, IEventLink eventLink, TableMapper mapper, IProgressReporter reporter) { _mode = mode; _reader = reader; _eventLink = eventLink; _mapper = mapper; _reporter = reporter; _executor = new FbExecutor { Executor = Execute }; }
private Downloader(IEventLink eventLink, String workingDirectory, Mode mode) { if (eventLink == null) throw new ArgumentNullException("eventLink"); if (String.IsNullOrEmpty(workingDirectory)) throw new ArgumentNullException("workingDirectory"); _eventLink = eventLink; _workingDirectory = workingDirectory; _mode = mode; _mappers = GenericSerializer.Deserialize<HashSet<QueryMapper>>(MappingFile); }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="writeSync">Объект для синхронизации записи изменеий в базу</param> public PriceListHandler(IEventLink eventLink, Object writeSync) { if (eventLink == null) throw new ArgumentNullException("eventLink"); if (writeSync == null) throw new ArgumentNullException("writeSync"); _eventLink = eventLink; _writeSync = writeSync; _worker = new PeriodicWorker(WatchForPriceLists); _worker.Start(_workerPeriod); }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="eventLink">Интерфейс журнала событий</param> public TsManager(IEventLink eventLink) { if (eventLink == null) { throw new ArgumentNullException("eventLink"); } // загружаем реализации логики работы СКУД _eventLink = eventLink; _eventLink.Post(TsGlobalConst.EventSource, "Загрузка реализаций логики работы СКУД"); _logicLoader = new AMCSLogicLoader(TsGlobalConst.GetACMSLogicDirectory()); // загрузка конфигурации _eventLink.Post(TsGlobalConst.EventSource, "Загрузка конфигурации менеджера"); _settings = GenericSerializer.Deserialize <TsManagerSettings>(TsGlobalConst.GetSettingsFile(), false, _logicLoader.GetLogicSettingsTypes()); _workers = new List <TsWorker>(); // просматриваем конфигурацию и создаем по рабочему потоку для каждого турникета foreach (AMCSLogicSettings logicSettings in _settings.LogicSettings) { foreach (TsUnitSettings unitSettings in logicSettings.Units) { try { // создаем реализацию логики работы СКУД и инициализируем ее параметры IAMCSLogic logic = _logicLoader.CreateLogic(logicSettings.AcmsName); logic.Settings = logicSettings.LogicSettings; // создаем рабочий поток TsWorker worker = new TsWorker(logic, unitSettings, _eventLink); _eventLink.Post(TsGlobalConst.EventSource, string.Format( "Создан рабочий поток для турникета {0}, СКУД \"{1}\"", unitSettings, logicSettings.AcmsName)); // добавляем его в список _workers.Add(worker); } catch (Exception e) { string checkPoint = string.Format( "Создание рабочего потока для турникета {0}, СКУД \"{1}\"", unitSettings, logicSettings.AcmsName); _eventLink.Post(TsGlobalConst.EventSource, checkPoint, e); } } } }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="workingDirectory">Рабочий каталог</param> /// <param name="writeSyncObject">Объект для синхронизации записи данных в базу</param> public Queue(IEventLink eventLink, String workingDirectory, Object writeSyncObject) { if (eventLink == null) throw new ArgumentNullException("eventLink"); if (String.IsNullOrEmpty(workingDirectory)) throw new ArgumentNullException("workingDirectory"); if (writeSyncObject == null) throw new ArgumentNullException("writeSyncObject"); _eventLink = eventLink; _workingDirectory = workingDirectory; _writeSyncObject = writeSyncObject; _queueSyncObject = new Object(); _queue = new Queue<Task>(GenericSerializer.Deserialize<List<Task>>(SpoolFile)); _mapping = GenericSerializer.Deserialize<HashSet<TableMapper>>(MappingFile); _worker = new PeriodicWorker(WatchQueueCallback); _worker.Start(_period); }
/// <summary> /// Создает экземпляр очереди отложенных обновлений /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="immediateQueue">Очередь неотложных обновлений</param> /// <param name="writeSync">Объект для синхронизации записи в базу</param> public DelayedQueue(IEventLink eventLink, Queue immediateQueue, Object writeSync, String workingDirectory) { if (eventLink == null) throw new ArgumentNullException("eventLink"); if (immediateQueue == null) throw new ArgumentNullException("immediateQueue"); if (writeSync == null) throw new ArgumentNullException("writeSync"); if (String.IsNullOrEmpty(workingDirectory)) throw new ArgumentNullException("workingDirectory"); _eventLink = eventLink; _immediateQueue = immediateQueue; _writeSync = writeSync; _workingDirectory = workingDirectory; _worker = new PeriodicWorker(WatchForDelayedUpdates); _worker.Start(_workerPeriod); }
/// <summary> /// Регистрация трэкера в ремоутинг-инфраструктуре /// </summary> public static void RegisterTracker(IEventLink eventLink) { lock (_syncObject) { if (_instance == null) // создаем трэкер, если он еще не создан _instance = new IpFixTrackingHandler(eventLink); // проверяем, не зарегистрирован ли еще один такой же трэкер foreach (ITrackingHandler thrackingHandler in TrackingServices.RegisteredHandlers) { if (thrackingHandler is IpFixTrackingHandler) // второй такой же объект регистрировать не нужно return; } // регистрируем его TrackingServices.RegisterTrackingHandler(_instance); } }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="amcsLogic">Реализация логики работы СКУД</param> /// <param name="unitSettings">Парамтеры тукникета</param> /// <param name="eventLink">Интерфейс журнала событий</param> public TsWorker(IAMCSLogic amcsLogic, TsUnitSettings unitSettings, IEventLink eventLink) { if (amcsLogic == null) { throw new ArgumentNullException("amcsLogic"); } if (unitSettings == null) { throw new ArgumentNullException("unitSettings"); } if (eventLink == null) { throw new ArgumentNullException("eventLink"); } _amcsLogic = amcsLogic; _unitSettings = unitSettings; _eventLink = eventLink; _terminated = new ManualResetEvent(false); _workingThread = new Thread(WorkWithTurnstile); }
protected CustomProgressReporter(IEventLink eventLink, Mode mode) { _eventLink = eventLink; _mode = mode; _startTime = DateTime.Now; var message = String.Empty; switch (_mode) { case Mode.Replace: message = _startReplace; break; case Mode.Update: message = _startUpdate; break; default: message = _startDeletion; break; } _eventLink.Post(ConstHelper.EventSource, message); }
/// <summary> /// Конструктор /// </summary> /// <param name="eventLink">Журнал событий</param> public DeviceManager(IEventLink eventLink) { if (eventLink == null) { throw new ArgumentNullException("eventLink"); } // инициализация диспетчера _eventLink = eventLink; devicesTable = new Dictionary <string, DeviceHelper>(); dataLocker = new object(); sessionsTable = new Dictionary <string, SessionHelper>(); // создание пула портов CreateSerialPortsPool(); // загрузка драйверных сборок deviceTypes = LoadDeviceTypes(GetDeviceManagerDirectory()); // загрузка конфигурации устройств LoadDevices(GetDeviceManagerSettingsFile()); // атктивация устройств ActivateDevices(); }
/// <summary> /// Регистрация трэкера в ремоутинг-инфраструктуре /// </summary> public static void RegisterTracker(IEventLink eventLink) { lock (_syncObject) { if (_instance == null) { // создаем трэкер, если он еще не создан _instance = new IpFixTrackingHandler(eventLink); } // проверяем, не зарегистрирован ли еще один такой же трэкер foreach (ITrackingHandler thrackingHandler in TrackingServices.RegisteredHandlers) { if (thrackingHandler is IpFixTrackingHandler) { // второй такой же объект регистрировать не нужно return; } } // регистрируем его TrackingServices.RegisterTrackingHandler(_instance); } }
///<summary> ///Searches the parts that are used in the condition of Rule r. Events of a certain type emitted ///by thow parts are connected to the condition of Rule r so it can be evaluated if such an event ///occurs ///</summary> ///<param name="r">The rule with a condition and action</param> ///<param name="p">A part where p itself or one of it subparts will emit events that are of interest ///for the condition of Rule r</param> ///<param name="gel">Links the renderer with the condition so appropriate queries can be executed by the condition. ///It also allows the action to use the renderer afterwards to change properties in the user interface at runtime</param> protected void link(Rule r, Part p, IEventLink sel) { m_conditions.Add(sel); IEnumerator eventsEnum = r.Condition.GetEvents().GetEnumerator(); try { while (eventsEnum.MoveNext()) { if (eventsEnum.Current is Event) { LinkEvent(eventsEnum.Current, p); } else if (eventsEnum.Current is Op) { LinkOp(eventsEnum.Current, p); } else if (eventsEnum.Current is Equal) { LinkEqual(eventsEnum.Current, p); } } } catch (ArgumentException ae) { Console.WriteLine("Invalid argument: {0}", ae); #if !COMPACT Console.WriteLine("Caused by: {0}", ae.ParamName); #endif } catch (Exception be) { Console.WriteLine("Unexpected failure:"); Console.WriteLine(be); Console.WriteLine("Please contact the uiml.net maintainer with the above output."); } }
public static string GetMessageTypeFullName(this IEventLink eventlink) { return(eventlink.EventReference.Value.Parent.Namespace + "." + eventlink.EventReference.Value.CodeIdentifier); }
public static void Execute(Mode mode, ICashDataReader reader, IEventLink eventLink, TableMapper mapper, IProgressReporter reporter) { using (var updater = new TableUpdater(mode, reader, eventLink, mapper, reporter)) { updater.Execute(); } }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="eventLink">Логгер</param> /// <remarks>Потрбуется всего один трэкер данного типа, поэтому конструктор закрыт</remarks> private IpFixTrackingHandler(IEventLink eventLink) { _eventLink = eventLink; }
private static void Mark(IEventLink eventLink, Mode mode, Object writeSync, Action<FbExecutor, IDbCommand> setParamsAction) { var manager = new ObjectDownloadStateManager(eventLink, mode, writeSync); manager.Mark(setParamsAction); }
/// <summary> /// Загрузить итоговые данные за диапазон дат /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="workingDirectory">Рабочий каталог</param> /// <param name="mode">Режим загрузки</param> /// <param name="date1">Начало диапазона</param> /// <param name="date2">Конец диапазона</param> /// <returns>Имя файла, куда был сохранен результат выполнения запросов</returns> public static String Download(IEventLink eventLink, String workingDirectory, Mode mode, DateTime date1, DateTime date2) { if (mode != Mode.DatesRange && mode != Mode.OperationsLog) ThrowInvalidMode(mode); return Download(eventLink, workingDirectory, mode, (reader) => { reader.NewParameter("@date1", date1.StartOfTheDay()); reader.NewParameter("@date2", date2.EndOfTheDay()); }); }
public static void Execute(Mode mode, ICashDataWriter writer, IEventLink eventLink, QueryMapper mapper, Action<FbReader> setParamsAction) { var query = new Query(mode, writer, eventLink, mapper); query.Execute(setParamsAction); }
internal DeviceManagerTrackingHandler(IEventLink eventLink, bool debugInfo) { _eventLink = eventLink; _debugInfo = debugInfo; TrackingServices.RegisterTrackingHandler(this); }
/// <summary> /// Загрузить итоговые данные /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="workingDirectory">Рабочий каталог</param> /// <param name="mode">Режим загрузки</param> /// <returns>Имя файла, куда был сохранен результат выполнения запросов</returns> public static String Download(IEventLink eventLink, String workingDirectory, Mode mode) { if (mode == Mode.DatesRange || mode == Mode.OperationsLog || mode == Mode.ShiftsRange) ThrowInvalidMode(mode); return Download(eventLink, workingDirectory, mode, null); }
/// <summary> /// Установка признака успешной загрузки для объектов /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="mode">Режим загрузки</param> /// <param name="writeSync">Объект для синхронизации записи в базу данных</param> public static void Mark(IEventLink eventLink, Mode mode, Object writeSync) { Mark(eventLink, mode, writeSync, null); }
/// <summary> /// Загрузить итоговые данные за диапазон смен /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="workingDirectory">Рабочий каталог</param> /// <param name="mode">Режим загрузки</param> /// <param name="shift1">Начало диапазона</param> /// <param name="shift2">Конец диапазона</param> /// <returns>Имя файла, куда был сохранен результат выполнения запросов</returns> public static String Download(IEventLink eventLink, String workingDirectory, Mode mode, Int32 shift1, Int32 shift2) { if (mode != Mode.ShiftsRange) ThrowInvalidMode(mode); return Download(eventLink, workingDirectory, mode, (reader) => { reader.NewParameter("@number1", shift1); reader.NewParameter("@number2", shift2); }); }
/// <summary> /// Установка признака успешной загрузки для объектов за диапазон дат /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="mode">Режим загрузки</param> /// <param name="writeSync">Объект для синхронизации записи в базу данных</param> /// <param name="date1">Начало диапазона</param> /// <param name="date2">Конец диапазона</param> public static void Mark(IEventLink eventLink, Mode mode, Object writeSync, DateTime date1, DateTime date2) { Mark(eventLink, mode, writeSync, (executor, command) => { executor.NewParameter(command, "@date1", date1); executor.NewParameter(command, "@date2", date2); }); }
private static String Download(IEventLink eventLink, String workingDirectory, Mode mode, Action<FbReader> setParamsAction) { var downloader = new Downloader(eventLink, workingDirectory, mode); return downloader.Download(setParamsAction); }
/// <summary> /// Установка признака успешной загрузки для объектов за диапазон смен /// </summary> /// <param name="eventLink">Логгер</param> /// <param name="mode">Режим загрузки</param> /// <param name="writeSync">Объект для синхронизации записи в базу данных</param> /// <param name="shift1">Начало диапазона</param> /// <param name="shift2">Конец диапазона</param> public static void Mark(IEventLink eventLink, Mode mode, Object writeSync, Int32 shift1, Int32 shift2) { Mark(eventLink, mode, writeSync, (executor, command) => { executor.NewParameter(command, "@number1", shift1); executor.NewParameter(command, "@number2", shift2); }); }
private void CreateEventLink(IEventLink eventLink) { var eventNode = this.ViewModel.GetOrCreateEventNode(this.FindViewModel(eventLink.EventReference.Value.AsElement().Id)); foreach (var component in this.ViewModel.GetAllComponentsNode(eventLink.Parent.Parent.AsElement().Id)) { this.ViewModel.GetOrCreateEventConnection(component, eventNode); } }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="eventLink">Логгер</param> /// <remarks>Потрбуется всего один трэкер данного типа, поэтому конструктор закрыт</remarks> private IpFixTrackingHandler(IEventLink eventLink) { _eventLink = eventLink; }