Beispiel #1
0
 public HomeworkController(IFileProvider fileProvider, IStudentHomeworkProvider studentHWProvider, IModuleProvider moduleProvider, IHomeworkProvider homeworkProvider)
 {
     _moduleProvider = moduleProvider;
     _homeworkProvider = homeworkProvider;
     _studentHWProvider = studentHWProvider;
     _fileProvider = fileProvider;
 }
Beispiel #2
0
 public TestController(IStudentTestProvider studentTestProvider,IModuleProvider moduleProvider, IQuestionProvider questionProvider, ITestProvider testProvider)
 {
     _moduleProvider = moduleProvider;
     _questionProvider = questionProvider;
     _testProvider = testProvider;
     _studentTestProvider = studentTestProvider;
 }
        /// <summary>
        /// Действие по инициализации.
        /// </summary>
        /// <param name="moduleProvider">Провайдер модулей.</param>
        protected override async ValueTask <Nothing> OnInitialize(IModuleProvider moduleProvider)
        {
            await base.OnInitialize(moduleProvider);

            ObjectSerializationService = await moduleProvider.QueryModuleAsync <IObjectSerializationService, object>(null);

            return(Nothing.Value);
        }
        protected void CreateControl(IModuleProvider provider)
        {
            var control = new TB();

            if (!control.TryRegisterTo(provider))
            {
                control.Dispose();
            }
        }
        /// <summary>
        /// Действие по инициализации.
        /// </summary>
        /// <param name="moduleProvider">Провайдер модулей.</param>
        protected override async ValueTask <Nothing> OnInitialize(IModuleProvider moduleProvider)
        {
            await base.OnInitialize(moduleProvider);

            DatabasePath = (await GetDirectory(_clearDbOnStart)).Path;
            await CreateCachedInstance();

            return(Nothing.Value);
        }
Beispiel #6
0
        /// <summary>
        /// Инициализировать объект.
        /// </summary>
        /// <param name="modules">Модули.</param>
        public virtual async ValueTask <Nothing> Initialize(IModuleProvider modules)
        {
            ModuleProvider           = modules;
            LinkSerializationService = await modules.QueryModuleAsync <ILinkSerializationService>() ?? throw new ModuleNotFoundException(typeof(ILinkSerializationService));

            ObjectSerializationService = await modules.QueryModuleAsync <IObjectSerializationService>() ?? throw new ModuleNotFoundException(typeof(IObjectSerializationService));

            return(Nothing.Value);
        }
        public MessageRouter(IModuleProvider moduleProvider, ILoggerProvider loggerProvider, IWorld world)
        {
            _moduleProvider = moduleProvider;
            _logger         = loggerProvider.GetLogger("Server");
            _world          = world;

            _routes = new List <MessageRoute>();
            BuildRoutes();
        }
Beispiel #8
0
 /// <summary>
 /// Клонировать.
 /// </summary>
 /// <param name="modules">Модули.</param>
 /// <returns>Клон.</returns>
 public BoardIcon DeepClone(IModuleProvider modules)
 {
     return(new BoardIcon()
     {
         Id = Id,
         Name = Name,
         MediaLink = MediaLink.CloneLink(modules)
     });
 }
Beispiel #9
0
        public async Task Cleanup()
        {
            await _collection.Dispose();

            _collection = null;
            _provider   = null;
            _store      = null;
            _testData   = null;
        }
Beispiel #10
0
 public KestrelHttpMessageListener(ILogger <KestrelHttpMessageListener> logger,
                                   ISerializer <string> serializer, IServiceEngineLifetime lifetime, IModuleProvider moduleProvider, CPlatformContainer container) : base(logger, serializer)
 {
     _logger         = logger;
     _serializer     = serializer;
     _lifetime       = lifetime;
     _moduleProvider = moduleProvider;
     _container      = container;
 }
        public override void Init(IModuleProvider provider)
        {
            CreateControl(provider);

            if (_viewPrefab != null)
            {
                CreateView(provider);
            }
        }
        internal void AfterDeserialize(IModuleProvider moduleProvider)
        {
            var linkSerialization = moduleProvider.QueryModule <ILinkSerializationService>() ?? throw new ModuleNotFoundException(typeof(ILinkSerializationService));

            if (Contracts == null)
            {
                throw new SerializationException("MakabaEntityInfoModel: Неправильное содержимое сериализованных данных.");
            }

            BoardInfo = moduleProvider.ValidateAfterDeserialize <PostDocument, IPostDocument, PostDocumentExternalContract>(Contracts.BoardInfo);
            if (Contracts.HasBannerSize)
            {
                BannerSize = new SizeOfInt32()
                {
                    Width = Contracts.BannerWidth, Height = Contracts.BannerHeight
                };
            }
            else
            {
                BannerSize = null;
            }
            BannerImageLink = linkSerialization.Deserialize(Contracts.BannerImageLink);
            BannerBoardLink = linkSerialization.Deserialize(Contracts.BannerBoardLink);
            Icons           = Contracts.Icons?.Select(i => i != null ? new BoardIcon()
            {
                Id        = i.Id,
                Name      = i.Name,
                MediaLink = linkSerialization.Deserialize(i.MediaLink)
            } : null).OfType <IBoardIcon>().ToList();
            Pages     = Contracts.Pages;
            NewsItems = Contracts.NewsItems?.Select(i => i != null ? new MakabaBoardPostCollectionInfoNewsItem()
            {
                Date     = i.Date,
                Title    = i.Title,
                NewsLink = linkSerialization.Deserialize(i.NewsLink)
            } : null).OfType <IBoardPostCollectionInfoNewsItem>().ToList();
            AdvertisementItems = Contracts.AdvertisementItems?.Select(i => i != null ? new MakabaBoardPostCollectionInfoBoardsAdvertisementItem()
            {
                BoardLink = linkSerialization.Deserialize(i.BoardLink),
                Name      = i.Name,
                Info      = i.Info
            } : null).OfType <IBoardPostCollectionInfoBoardsAdvertisementItem>().ToList();
            AdvertisementBannerLink = linkSerialization.Deserialize(Contracts.AdvertisementBannerLink);
            AdvertisementClickLink  = linkSerialization.Deserialize(Contracts.AdvertisementClickLink);
            Flags = Contracts.Flags;

            Contracts = null;
            if (_infoSet == null)
            {
                var r = new List <IBoardPostCollectionInfo>()
                {
                    this
                };
                _infoSet = r.AsReadOnly();
            }
        }
Beispiel #13
0
        /// <summary>
        /// Sets the module for a provider of the specified type.
        /// Use this if module is Object, with type being the interface/implementation type.
        /// </summary>
        /// <param name="module">The module to set.</param>
        /// <param name="type">The type of the module.</param>
        public void SetModule(Object module, Type type)
        {
            if (!typeToPair.ContainsKey(type))
            {
                throw new InvalidOperationException("ModuleProvider not found.");
            }
            IModuleProvider provider = providers.FirstOrDefault(prov => prov.Key.Type.IsAssignableFrom(type)).Value;

            provider.SetModule(module);
        }
        /// <summary>
        /// Действие по инициализации.
        /// </summary>
        /// <param name="moduleProvider">Провайдер модулей.</param>
        protected override async ValueTask <Nothing> OnInitialize(IModuleProvider moduleProvider)
        {
            await base.OnInitialize(moduleProvider);

            if (_customization != null)
            {
                await _customization.Initialize(moduleProvider);
            }
            return(Nothing.Value);
        }
Beispiel #15
0
        public void RegisterTo(IModuleProvider provider)
        {
            if (provider.ResolveViewType <TC>() is TV vd)
            {
                ViewData = vd;
            }

            ViewData.OnDispose += Dispose;
            StartView();
        }
        private bool AssertIsImported(IModuleProvider member)
        {
            if (member.Module != Module)
            {
                DiagnosticBag.RegisterException(new MemberNotImportedException((IMetadataMember)member));
                return(false);
            }

            return(true);
        }
Beispiel #17
0
 public FakeExternalPostMedia FillValuesAfterDeserialize(IModuleProvider modules)
 {
     Size = new SizeOfInt32()
     {
         Height = Height,
         Width  = Width
     };
     MediaLink     = modules.DeserializeLink(MediaLinkJson);
     MediaLinkJson = null;
     return(this);
 }
Beispiel #18
0
 public SoftwareController(ISoftwareDetector softwareDetector, IModulesDetector modulesDetector,
                           IModuleProvider moduleProvider, IProductProvider productProvider, IResourceProvider resourceProvider,
                           MainViewModel mainViewModel, IStepProvider stepProvider, string stepName, ILoggerFactory loggerFactory)
     : base(mainViewModel, stepProvider, stepName, loggerFactory)
 {
     SoftwareDetector = softwareDetector;
     ModulesDetector  = modulesDetector;
     ModuleProvider   = moduleProvider;
     ProductProvider  = productProvider;
     ResourceProvider = resourceProvider;
 }
        protected void CreateView(IModuleProvider provider)
        {
            var view = Instantiate(_viewPrefab).GetComponentInChildren <IBindableView>();

            if (view == null)
            {
                throw new ArgumentNullException(nameof(IBindableView));
            }

            view.RegisterTo(provider);
        }
Beispiel #20
0
        public async Task Initialize()
        {
            _collection = new ModuleCollection();
            _collection.RegisterModule <MakabaNetworkConfig, IMakabaNetworkConfig>();
            _collection.RegisterModule <CommonUriGetter, INetworkUriGetter>();
            _collection.RegisterModule <MakabaUriGetter, INetworkUriGetter>();

            await _collection.Seal();

            _provider = _collection.GetModuleProvider();
        }
 public DependencySnapshotInstaller(
     IModuleProvider moduleProvider,
     IDependencyManagerStorage storage,
     IDependencySnapshotComparer snapshotComparer,
     IDependencySnapshotContentLogger snapshotContentLogger)
 {
     _moduleProvider        = moduleProvider ?? throw new ArgumentNullException(nameof(moduleProvider));
     _storage               = storage ?? throw new ArgumentNullException(nameof(storage));
     _snapshotComparer      = snapshotComparer ?? throw new ArgumentNullException(nameof(snapshotComparer));
     _snapshotContentLogger = snapshotContentLogger ?? throw new ArgumentNullException(nameof(snapshotContentLogger));
 }
        /// <summary>
        /// Найти парсер сетевого Dto.
        /// </summary>
        /// <typeparam name="TIn">Тип входных данных.</typeparam>
        /// <typeparam name="TOut">Тип результата.</typeparam>
        /// <param name="provider">Провайдер модулей.</param>
        /// <returns>Парсер.</returns>
        public static INetworkDtoParser <TIn, TOut> FindNetworkDtoParser <TIn, TOut>(this IModuleProvider provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            var parserType = typeof(INetworkDtoParser <TIn, TOut>);
            var parsers    = provider.QueryModule <INetworkDtoParsers, Type>(parserType);

            return(parsers as INetworkDtoParser <TIn, TOut> ?? parsers?.QueryView <INetworkDtoParser <TIn, TOut> >());
        }
Beispiel #23
0
 /// <summary>
 /// Клонировать.
 /// </summary>
 /// <param name="modules">Модули.</param>
 /// <returns>Клон.</returns>
 public BoardShortInfo DeepClone(IModuleProvider modules)
 {
     return(new BoardShortInfo()
     {
         Category = Category,
         IsAdult = IsAdult,
         ShortName = ShortName,
         DisplayName = DisplayName,
         BoardLink = BoardLink
     });
 }
Beispiel #24
0
        /// <summary>
        /// Gets a module.
        /// </summary>
        /// <typeparam name="T">The ABSTRACT/INTERFACE type to get.</typeparam>
        /// <returns>The module of the requested type, if the provider exists.</returns>
        public T GetModule <T>() where T : class
        {
            Type type = typeof(T);

            if (!typeToPair.ContainsKey(type))
            {
                throw new InvalidOperationException("ModuleProvider not found.");
            }
            IModuleProvider provider = providers[typeToPair[typeof(T)]];

            return((T)provider.GetModule());
        }
Beispiel #25
0
        public async Task Cleanup()
        {
            var config = _provider.QueryModule <IMakabaNetworkConfig>();

            config.BaseUri = null;
            await config.Save();

            await _collection.Dispose();

            _collection = null;
            _provider   = null;
        }
Beispiel #26
0
        /// <summary>
        /// Действие по инициализации.
        /// </summary>
        /// <param name="moduleProvider">Провайдер модулей.</param>
        protected override async ValueTask <Nothing> OnInitialize(IModuleProvider moduleProvider)
        {
            await base.OnInitialize(moduleProvider);

            var lt = _module.QueryView <IModuleLifetime>();

            if (lt != null)
            {
                await lt.InitializeModule(moduleProvider);
            }
            return(Nothing.Value);
        }
 /// <summary>
 /// Зарегистрировать провайдер модулей.
 /// </summary>
 /// <param name="moduleType">Тип модуля. Может быть NULL.</param>
 /// <param name="provider">Провайдер.</param>
 public void RegisterProvider(Type moduleType, IModuleProvider provider)
 {
     if (provider == null)
     {
         throw new ArgumentNullException(nameof(provider));
     }
     if (!CanRegisterProviders)
     {
         throw new InvalidOperationException("Нельзя регистрировать провайдер модуля после завершения этапа регистрации");
     }
     _internalProvider.Add(moduleType, provider);
 }
Beispiel #28
0
 internal CommandProcessor(IModuleProvider moduleProvider)
 {
     _moduleProvider = moduleProvider;
     _runspace       = RunspaceFactory.CreateRunspace(new PSAttackHost());
     _runspace.Open();
     // _decryptedStore = new Dictionary<string, string>();
     _display     = new Display(this);
     _tabExpander = new TabExpander(this, _display);
     CurrentPath  = _runspace.SessionStateProxy.Path.CurrentLocation;
     Initialize();
     return;
 }
        /// <summary>
        /// Действие по инициализации.
        /// </summary>
        /// <param name="moduleProvider">Провайдер модулей.</param>
        protected override async ValueTask <Nothing> OnInitialize(IModuleProvider moduleProvider)
        {
            await base.OnInitialize(moduleProvider);

            _htmlDocumentFactory = await moduleProvider.QueryModuleAsync <IHtmlDocumentFactory>() ?? throw new ModuleNotFoundException(typeof(IHtmlDocumentFactory));

            _youtubeIdService = await moduleProvider.QueryModuleAsync <IYoutubeIdService>() ?? throw new ModuleNotFoundException(typeof(IYoutubeIdService));

            _linkParser = await moduleProvider.QueryEngineCapabilityAsync <IEngineLinkParser>(MakabaConstants.MakabaEngineId) ?? throw new ModuleNotFoundException(typeof(IEngineLinkParser));

            return(Nothing.Value);
        }
Beispiel #30
0
        /// <summary>
        /// Конвертировать HTML в текст.
        /// </summary>
        /// <param name="provider">Провайдер модулей.</param>
        /// <param name="html">Текст html.</param>
        /// <returns></returns>
        public static string ConvertHtmlToText(IModuleProvider provider, string html)
        {
            var d = provider.QueryModule <IHtmlDocumentFactory, object>(null) ?? throw new ModuleNotFoundException(typeof(IHtmlDocumentFactory));

            IHtmlDocument doc = d.Load(html);

            StringWriter sw = new StringWriter();

            ConvertHtmlToText(doc.DocumentNode, sw, d);
            sw.Flush();
            return(sw.ToString());
        }
Beispiel #31
0
 /// <summary>
 /// Десериализовать ссылку.
 /// </summary>
 /// <param name="modules">Модули.</param>
 /// <param name="linkStr">Строка ссылки.</param>
 /// <returns>Ссылка.</returns>
 public static ILink DeserializeLink(this IModuleProvider modules, string linkStr)
 {
     if (modules == null)
     {
         throw new ArgumentNullException(nameof(modules));
     }
     if (linkStr == null)
     {
         return(null);
     }
     return((modules.QueryModule <ILinkSerializationService>() ?? throw new ModuleNotFoundException(typeof(ILinkSerializationService)))
            .Deserialize(linkStr));
 }
        private void Awake()
        {
            _provider = new ModuleProvider();

            _modules = _hubs.SelectMany(t => t.Modules).ToArray();

            foreach (var module in _modules)
            {
                module?.Init(_provider);
            }

            _provider.BindAllControls();
        }
Beispiel #33
0
        public void Load(ISceneProvider draw, IEventProvider events, INetworkProvider network, ISoundProvider sound, IModuleProvider modules, IMovementProvider movement, ICollisionProvider collision, IVoiceChatProvider voicechat, IWorldManager world, ITextureManager texture, ISoundManager soundmanager)
        {
            this.drawprovider = draw;
            this.eventprovider = events;
            this.networkprovider = network;
            this.soundprovider = sound;
            this.moduleprovider = modules;
            this.movementprovider = movement;
            this.collisionprovider = collision;
            this.voicechatprovider = voicechat;
            this.texturemanager = texture;
            this.worldmanager = world;
            this.soundmanager = soundmanager;

            this.LoadContexts (drawprovider, eventprovider, networkprovider, soundprovider, moduleprovider, movementprovider,
                          collisionprovider, voicechatprovider, texturemanager, worldmanager, soundmanager);
        }
Beispiel #34
0
 public ModuleController(IModuleProvider moduleProvider, ICourseProvider courseProvider, IFileProvider fileProvider)
 {
     _moduleProvider = moduleProvider;
     _courseProvider = courseProvider;
     _fileProvider = fileProvider;
 }
Beispiel #35
0
 public QuestionController(IModuleProvider moduleProvider, IQuestionProvider questionProvider)
 {
     _moduleProvider = moduleProvider;
     _questionProvider = questionProvider;
 }