public AccessModule(ISubsystem accessSubsystem) { if (accessSubsystem.Type() != SubsystemType.Access) throw new ModuleLoadException("Неправильный тип подсистемы"); _accessSubsystem = (AccessSubsystem)accessSubsystem; var result = Kernel.GetKernel. SendMessage(new ServiceMessage(KernelTypes.ServiceKernel, SubsystemType.Access, SubsystemType.DataBase, DbSubsystemMessages.GetContext, new object[] {})); _context = (DBModelUnitOfWork)result.Message[0]; }
public ProjectModule(ISubsystem prodjectSubsystem) { if (prodjectSubsystem.Type() != SubsystemType.Project) throw new ModuleLoadException("Неправильный тип подсистемы"); _prodjectSubsystem = (Projectubsystem)prodjectSubsystem; context = (DBModelUnitOfWork)Kernel.GetKernel. SendMessage(new ServiceMessage(KernelTypes.ServiceKernel, SubsystemType.Project, SubsystemType.DataBase, DbSubsystemMessages.GetContext, new object[] { })).Message[0]; }
public ReportModule(ISubsystem reportSubsystem) { if (reportSubsystem.Type() != SubsystemType.Report) throw new ModuleLoadException("Неправильный тип подсистемы"); _reportSubsystem = reportSubsystem; }
public ChatModule(ISubsystem chatSubsystem) { if (chatSubsystem.Type() != SubsystemType.Chat) throw new ModuleLoadException("Неправильный тип подсистемы"); _chatSubsystem = chatSubsystem; }
public TextModule(ISubsystem wordProcessorSubsystem) { if (wordProcessorSubsystem.Type() != SubsystemType.WordProcessor) throw new ModuleLoadException("Неправилььный тип подсистемы"); _textSubsystem = wordProcessorSubsystem; }
public NetworkModule(ISubsystem networkSubsystem) { if (networkSubsystem.Type() != SubsystemType.Network) throw new ModuleLoadException("Неправильный тип подсистемыы"); _networkSubsystem = networkSubsystem; }
public VcsModule(ISubsystem vcsSubsystem) { if (vcsSubsystem.Type() != SubsystemType.Vcs) throw new ModuleLoadException("Неправильный тип подсистемы"); _vcsSubsystem = vcsSubsystem; }
/// <summary> /// Регистрация подсистемы в ядре /// </summary> /// <param name="subsystem">Регистрируемая подсистема</param> public void RegisterSubsystem(ISubsystem subsystem) { if (Subsystems.Any(tmpsubsystem => tmpsubsystem.Type() == subsystem.Type())) { throw new SubsystemRegistredException("Такая подсистема уже зарегистрирована"); } try { Subsystems.Add(subsystem); Logger.Log.Write(LogLevels.Debug, "Регитсрация подсистемы типа " + subsystem.Type().ToString()); StartSubsystem(subsystem); } catch (SubsystemException ex) { Logger.Log.Write(LogLevels.Error, "Ошибка регистрации подсистемы" + subsystem.Type() + ":\n\n" + ex); } }
/// <summary> /// Отключение подсистемы из ядра /// </summary> /// <param name="subsystem">Отключаемая подсистема</param> public void UnRegisterSubsystem(ISubsystem subsystem) { Subsystems.Remove(subsystem); subsystem.Stop(); Logger.Log.Write(LogLevels.Debug, "Отключение подсистемы типа " + subsystem.Type().ToString()); }