Ejemplo n.º 1
0
        public void OnLoad(IBinder Binder)
        {
            // Use singleton to ensure the same instance is used every time.
            Binder.Bind <IMessageProvider, MessageProvider>();
            Binder.Bind <IRegionProvider, RegionSelectorProvider>();
            Binder.Bind <ISystemTray, SystemTray>();
            Binder.Bind <IPreviewWindow, PreviewWindowService>();
            Binder.Bind <IVideoSourcePicker, VideoSourcePicker>();
            Binder.Bind <IAudioPlayer, AudioPlayer>();
            Binder.Bind <IFFmpegViewsProvider, FFmpegViewsProvider>();

            Binder.Bind <IHotkeyListener, HotkeyListener>();
            Binder.Bind <IHotkeyActor, HotkeyViewActor>();

            Binder.BindSingleton <EditorWriter>();
            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <EditorWriter>);

            Binder.BindSingleton <AboutViewModel>();
            Binder.BindSingleton <RegionSelectorViewModel>();

            Binder.BindSingleton <WebcamPage>();

            // Bind as a Function to ensure the UI objects are referenced only after they have been created.
            Binder.Bind <Func <TaskbarIcon> >(() => () => MainWindow.Instance.SystemTray);
            Binder.Bind <IMainWindow>(() => new MainWindowProvider(() => MainWindow.Instance));
        }
Ejemplo n.º 2
0
        public void OnLoad(IBinder Binder)
        {
            Binder.Bind(() => WaveItem.Instance);

            FFmpegModule.Load(Binder);

            BindViewModels(Binder);
            BindSettings(Binder);
            BindImageWriters(Binder);
            BindVideoWriterProviders(Binder);
            BindVideoSourceProviders(Binder);
            BindAudioSource(Binder);
            BindUpdateChecker(Binder);

            // Recent
            Binder.Bind <IRecentList, RecentListRepository>();
            Binder.Bind <IRecentItemSerializer, FileRecentSerializer>();
            Binder.Bind <IRecentItemSerializer, UploadRecentSerializer>();

            Binder.Bind <IImageUploader, ImgurUploader>();
            Binder.Bind <IIconSet, MaterialDesignIcons>();
            Binder.Bind <IImgurApiKeys, ApiKeys>();
            Binder.Bind <IYouTubeApiKeys, ApiKeys>();

            Binder.BindSingleton <FullScreenItem>();
            Binder.BindSingleton <HotKeyManager>();
            Binder.Bind(() => LanguageManager.Instance);

            WindowsModule.Load(Binder);
        }
Ejemplo n.º 3
0
        public void OnLoad(IBinder Binder)
        {
            BindViewModels(Binder);
            BindSettings(Binder);
            BindImageWriters(Binder);
            BindVideoWriterProviders(Binder);
            BindVideoSourceProviders(Binder);
            BindAudioSource(Binder);
            BindUpdateChecker(Binder);

            // Recent
            Binder.Bind <IRecentList, RecentListRepository>();
            Binder.Bind <IRecentItemSerializer, FileRecentSerializer>();
            Binder.Bind <IRecentItemSerializer, UploadRecentSerializer>();

            Binder.Bind <IDialogService, DialogService>();
            Binder.Bind <IClipboardService, ClipboardService>();
            Binder.Bind <IImageUploader, ImgurUploader>();
            Binder.Bind <IIconSet, MaterialDesignIcons>();
            Binder.Bind <IImgurApiKeys, ApiKeys>();

            Binder.BindSingleton <FullScreenItem>();
            Binder.BindSingleton <FFmpegLog>();
            Binder.BindSingleton <HotKeyManager>();
            Binder.BindSingleton <HotkeyActionRegisterer>();
            Binder.Bind(() => LanguageManager.Instance);
        }
Ejemplo n.º 4
0
        public void OnLoad(IBinder binder)
        {
            BindViewModels(binder);
            BindSettings(binder);
            BindImageWriters(binder);
            BindVideoWriterProviders(binder);
            BindVideoSourceProviders(binder);
            BindAudioSource(binder);
            BindUpdateChecker(binder);

            // Recent
            binder.Bind <IRecentList, RecentListRepository>();
            binder.Bind <IRecentItemSerializer, FileRecentSerializer>();
            binder.Bind <IRecentItemSerializer, UploadRecentSerializer>();

            binder.Bind <IDialogService, DialogService>();
            binder.Bind <IClipboardService, ClipboardService>();
            binder.Bind <IImageUploader, ImgurUploader>();
            binder.Bind <IIconSet, MaterialDesignIcons>();
            binder.Bind <IImgurApiKeys, ApiKeys>();
            binder.Bind <IYouTubeApiKeys, ApiKeys>();
            binder.Bind <IPlatformServices, WindowsPlatformServices>();
            binder.Bind <IImagingSystem, DrawingImagingSystem>();

            binder.BindSingleton <FullScreenItem>();
            binder.BindSingleton <FFmpegLog>();
            binder.BindSingleton <HotKeyManager>();
            binder.Bind(() => LanguageManager.Instance);
        }
Ejemplo n.º 5
0
 static void BindViewModels(IBinder Binder)
 {
     Binder.BindSingleton <TimerModel>();
     Binder.BindSingleton <ScreenShotModel>();
     Binder.BindSingleton <RecordingModel>();
     Binder.BindSingleton <WebcamModel>();
     Binder.BindSingleton <KeymapViewModel>();
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Register module into DI container
        /// </summary>
        /// <param name="binder"></param>
        public void OnLoad(IBinder binder)
        {
            binder.Bind <IIconSet, FdoiIconSet>();

            binder.BindSingleton <MainViewModel>();

            binder.BindSingleton <SignViewModel>();

            binder.BindSingleton <SignInMailViewModel>();

            binder.BindSingleton <SignInPassViewModel>();
        }
Ejemplo n.º 7
0
        public static void Load(IBinder Binder)
        {
            Binder.BindSingleton <FFmpegSettings>();
            Binder.BindSingleton <FFmpegLog>();
            Binder.BindAsInterfaceAndClass <IVideoWriterProvider, FFmpegWriterProvider>();
            Binder.BindAsInterfaceAndClass <IVideoWriterProvider, StreamingWriterProvider>();

            foreach (var audioItem in FFmpegAudioItem.Items)
            {
                Binder.Bind <IAudioWriterItem>(() => audioItem);
            }
        }
Ejemplo n.º 8
0
        public void OnLoad(IBinder Binder)
        {
            Binder.BindSingleton <CrashLogsViewModel>();
            Binder.BindSingleton <FileNameFormatViewModel>();
            Binder.BindSingleton <LicensesViewModel>();
            Binder.BindSingleton <ProxySettingsViewModel>();
            Binder.BindSingleton <SoundsViewModel>();
            Binder.BindSingleton <RecentViewModel>();
            Binder.BindSingleton <UpdateCheckerViewModel>();

            Binder.BindSingleton <CustomOverlaysViewModel>();
            Binder.BindSingleton <CustomImageOverlaysViewModel>();
            Binder.BindSingleton <CensorOverlaysViewModel>();
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Binds both as Inteface as Class
        /// </summary>
        static void BindAsInterfaceAndClass <TInterface, TClass>(IBinder Binder) where  TClass : TInterface
        {
            Binder.BindSingleton <TClass>();

            // ReSharper disable once ConvertClosureToMethodGroup
            Binder.Bind <TInterface>(() => ServiceProvider.Get <TClass>());
        }
Ejemplo n.º 10
0
 static void BindSettings(IBinder Binder)
 {
     Binder.BindSingleton <Settings>();
     Binder.Bind(() => ServiceProvider.Get <Settings>().Audio);
     Binder.Bind(() => ServiceProvider.Get <Settings>().Proxy);
     Binder.Bind(() => ServiceProvider.Get <Settings>().Sounds);
     Binder.Bind(() => ServiceProvider.Get <Settings>().Imgur);
 }
Ejemplo n.º 11
0
        public void OnLoad(IBinder Binder)
        {
            // Use singleton to ensure the same instance is used every time.
            Binder.Bind <IRegionProvider, RegionSelectorProvider>();
            Binder.Bind <ISystemTray, SystemTray>();
            Binder.Bind <IAudioPlayer, AudioPlayer>();

            Binder.Bind <IHotkeyListener, HotkeyListener>();
            Binder.Bind <IHotkeyActor, HotkeyViewActor>();

            Binder.BindSingleton <AboutViewModel>();
            Binder.BindSingleton <RegionSelectorViewModel>();

            // Bind as a Function to ensure the UI objects are referenced only after they have been created.
            Binder.Bind <Func <TaskbarIcon> >(() => () => MainWindow.Instance.SystemTray);
            Binder.Bind <IMainWindow>(() => new MainWindowProvider(() => MainWindow.Instance));
        }
Ejemplo n.º 12
0
 static void BindSettings(IBinder Binder)
 {
     Binder.BindSingleton <Settings>();
     Binder.Bind(() => Binder.Get <Settings>().Audio);
     Binder.Bind(() => Binder.Get <Settings>().Sounds);
     Binder.Bind(() => Binder.Get <Settings>().Video);
     Binder.Bind(() => Binder.Get <Settings>().UI);
 }
Ejemplo n.º 13
0
 static void BindSettings(IBinder Binder)
 {
     Binder.BindSingleton <Settings>();
     Binder.Bind(() => Binder.Get <Settings>().ImageEditor);
     Binder.Bind(() => Binder.Get <Settings>().Audio);
     Binder.Bind(() => Binder.Get <Settings>().Proxy);
     Binder.Bind(() => Binder.Get <Settings>().Sounds);
     Binder.Bind(() => Binder.Get <Settings>().Imgur);
 }
Ejemplo n.º 14
0
 static void BindViewModels(IBinder Binder)
 {
     Binder.BindSingleton <TimerModel>();
     Binder.BindSingleton <MainModel>();
     Binder.BindSingleton <ScreenShotModel>();
     Binder.BindSingleton <RecordingModel>();
     Binder.BindSingleton <WebcamModel>();
     Binder.BindSingleton <VideoSourcesViewModel>();
     Binder.BindSingleton <VideoWritersViewModel>();
     Binder.BindSingleton <KeymapViewModel>();
 }
Ejemplo n.º 15
0
 static void BindViewModels(IBinder binder)
 {
     binder.BindSingleton <TimerModel>();
     binder.BindSingleton <MainModel>();
     binder.BindSingleton <ScreenShotModel>();
     binder.BindSingleton <RecordingModel>();
     binder.BindSingleton <VideoSourcesViewModel>();
     binder.BindSingleton <VideoWritersViewModel>();
     binder.BindSingleton <FFmpegCodecsViewModel>();
     binder.BindSingleton <KeymapViewModel>();
 }
Ejemplo n.º 16
0
 static void BindSettings(IBinder binder)
 {
     binder.BindSingleton <Settings.Settings>();
     binder.Bind(() => ServiceProvider.Get <Settings.Settings>().Audio);
     binder.Bind(() => ServiceProvider.Get <Settings.Settings>().FFmpeg);
     binder.Bind(() => ServiceProvider.Get <Settings.Settings>().Gif);
     binder.Bind(() => ServiceProvider.Get <Settings.Settings>().Proxy);
     binder.Bind(() => ServiceProvider.Get <Settings.Settings>().Sounds);
     binder.Bind(() => ServiceProvider.Get <Settings.Settings>().Imgur);
 }
Ejemplo n.º 17
0
 static void BindViewModels(IBinder Binder)
 {
     Binder.BindSingleton <MainViewModel>();
     Binder.BindSingleton <VideoSourcesViewModel>();
     Binder.BindSingleton <VideoWritersViewModel>();
     Binder.BindSingleton <FFmpegCodecsViewModel>();
     Binder.BindSingleton <ScreenShotViewModel>();
     Binder.BindSingleton <RecordingViewModel>();
     Binder.BindSingleton <KeymapViewModel>();
 }
Ejemplo n.º 18
0
 static void BindSettings(IBinder Binder)
 {
     Binder.BindSingleton <Settings>();
     Binder.Bind(() => Binder.Get <Settings>().Audio);
     Binder.Bind(() => Binder.Get <Settings>().Proxy);
     Binder.Bind(() => Binder.Get <Settings>().Sounds);
     Binder.Bind(() => Binder.Get <Settings>().Imgur);
     Binder.Bind(() => Binder.Get <Settings>().Steps);
     Binder.Bind(() => Binder.Get <Settings>().Video);
     Binder.Bind(() => Binder.Get <Settings>().UI);
     Binder.Bind(() => Binder.Get <Settings>().WebcamOverlay);
 }
Ejemplo n.º 19
0
        public void OnLoad(IBinder Binder)
        {
            Binder.BindSingleton <SoundsViewModel>();
            Binder.BindSingleton <RecentViewModel>();
            Binder.BindSingleton <RecordingViewModel>();
            Binder.BindSingleton <MainViewModel>();
            Binder.BindSingleton <HotkeysViewModel>();

            Binder.BindSingleton <VideoSourcesViewModel>();
            Binder.BindSingleton <VideoWritersViewModel>();

            Binder.BindSingleton <AudioSourceViewModel>();

            Binder.Bind <IHotkeyActor, HotkeyActor>();
        }
Ejemplo n.º 20
0
        public static void Load(IBinder Binder)
        {
            Binder.BindSingleton <FFmpegSettings>();
            Binder.BindAsInterfaceAndClass <IVideoWriterProvider, FFmpegWriterProvider>();
            Binder.BindAsInterfaceAndClass <IVideoWriterProvider, StreamingWriterProvider>();

            foreach (var audioItem in FFmpegAudioItem.Items)
            {
                Binder.Bind <IAudioWriterItem>(() => audioItem);
            }

            Binder.Bind <IVideoConverter>(() => new FFmpegGifConverter());
            Binder.Bind <IVideoConverter>(() => new FFmpegVideoConverter(new Vp8VideoCodec()));
            Binder.Bind <IVideoConverter>(() => new FFmpegVideoConverter(new Vp9VideoCodec()));
        }
Ejemplo n.º 21
0
        public void OnLoad(IBinder Binder)
        {
            // Use singleton to ensure the same instance is used every time.
            Binder.Bind <IMessageProvider, MessageProvider>();
            Binder.Bind <IRegionProvider, RegionSelector>();
            Binder.Bind <ISystemTray, SystemTray>();
            Binder.Bind <IPreviewWindow, PreviewWindowService>();
            Binder.Bind <IVideoSourcePicker, VideoSourcePicker>();

            Binder.Bind <IImageWriterItem, EditorWriter>();

            Binder.Bind <IWebCamProvider, WebCamProvider>();

            Binder.BindSingleton <AboutViewModel>();

            // Bind as a Function to ensure the UI objects are referenced only after they have been created.
            Binder.Bind <Func <TaskbarIcon> >(() => () => MainWindow.Instance.SystemTray);
            Binder.Bind <IMainWindow>(() => new MainWindowProvider(() => MainWindow.Instance));
        }
Ejemplo n.º 22
0
        public static void Load(IBinder Binder)
        {
            if (Windows8OrAbove)
            {
                MfManager.Startup();
                Binder.BindAsInterfaceAndClass <IVideoWriterProvider, MfWriterProvider>();
            }

            Binder.BindSingleton <WindowsSettings>();
            Binder.Bind <IPlatformServices, WindowsPlatformServices>();
            Binder.Bind <IDialogService, DialogService>();
            Binder.Bind <IClipboardService, ClipboardService>();
            Binder.Bind <IImagingSystem, DrawingImagingSystem>();

            foreach (var audioItem in MfAudioItem.Items)
            {
                Binder.Bind <IAudioWriterItem>(() => audioItem);
            }
        }
Ejemplo n.º 23
0
        public void OnLoad(IBinder Binder)
        {
            Binder.Bind <IAudioWriterItem, WaveItem>();

            WindowsModule.Load(Binder);

            BindViewModels(Binder);
            BindSettings(Binder);
            BindVideoWriterProviders(Binder);
            BindVideoSourceProviders(Binder);
            BindAudioSource(Binder);

            // Recent
            Binder.Bind <IRecentList, RecentListRepository>();
            Binder.Bind <IRecentItemSerializer, FileRecentSerializer>();

            Binder.Bind <IIconSet, MaterialDesignIcons>();

            Binder.BindSingleton <HotKeyManager>();

            Binder.Bind <IFpsManager, FpsManager>();
        }
Ejemplo n.º 24
0
        public void OnLoad(IBinder Binder)
        {
            Binder.Bind <IAudioWriterItem, WaveItem>();

            if (WindowsModule.Windows8OrAbove)
            {
                MfManager.Startup();
                Binder.BindAsInterfaceAndClass <IVideoWriterProvider, MfWriterProvider>();
            }

            FFmpegModule.Load(Binder);

            BindViewModels(Binder);
            BindSettings(Binder);
            BindImageWriters(Binder);
            BindVideoWriterProviders(Binder);
            BindVideoSourceProviders(Binder);
            BindAudioSource(Binder);
            BindUpdateChecker(Binder);

            // Recent
            Binder.Bind <IRecentList, RecentListRepository>();
            Binder.Bind <IRecentItemSerializer, FileRecentSerializer>();
            Binder.Bind <IRecentItemSerializer, UploadRecentSerializer>();

            Binder.Bind <IImageUploader, ImgurUploader>();
            Binder.Bind <IIconSet, MaterialDesignIcons>();
            Binder.Bind <IImgurApiKeys, ApiKeys>();
            Binder.Bind <IYouTubeApiKeys, ApiKeys>();

            Binder.BindSingleton <HotKeyManager>();

            Binder.Bind <ILocalizationProvider>(() => LanguageManager.Instance);

            WindowsModule.Load(Binder);
        }
Ejemplo n.º 25
0
        public void OnLoad(IBinder Binder)
        {
            // Singleton View Models
            Binder.BindSingleton <MainViewModel>();
            Binder.BindSingleton <VideoViewModel>();
            Binder.BindSingleton <ProxySettingsViewModel>();
            Binder.BindSingleton <LicensesViewModel>();
            Binder.BindSingleton <CrashLogsViewModel>();
            Binder.BindSingleton <FFmpegCodecsViewModel>();

            Binder.BindSingleton <CustomOverlaysViewModel>();
            Binder.BindSingleton <CustomImageOverlaysViewModel>();
            Binder.BindSingleton <CensorOverlaysViewModel>();

            // Settings
            Binder.BindSingleton <Settings>();
            Binder.Bind(() => ServiceProvider.Get <Settings>().Audio);
            Binder.Bind(() => ServiceProvider.Get <Settings>().FFmpeg);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Gif);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Proxy);

            // Localization
            Binder.Bind(() => LanguageManager.Instance);

            // Hotkeys
            Binder.BindSingleton <HotKeyManager>();

            // Image Writers
            Binder.BindSingleton <DiskWriter>();
            Binder.BindSingleton <ClipboardWriter>();
            Binder.BindSingleton <ImgurWriter>();

            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <DiskWriter>);
            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <ClipboardWriter>);
            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <ImgurWriter>);

            // Video Writer Providers
            Binder.Bind <IVideoWriterProvider, FFmpegWriterProvider>();
            Binder.Bind <IVideoWriterProvider, GifWriterProvider>();
            Binder.Bind <IVideoWriterProvider, StreamingWriterProvider>();

#if DEBUG
            Binder.Bind <IVideoWriterProvider, DiscardWriterProvider>();
#endif

            // Check if SharpAvi is available
            if (ServiceProvider.FileExists("SharpAvi.dll"))
            {
                Binder.Bind <IVideoWriterProvider, SharpAviWriterProvider>();
            }

            Binder.BindSingleton <WindowPickerItem>();
            Binder.BindSingleton <ScreenPickerItem>();
            Binder.BindSingleton <FullScreenItem>();

            // Video Source Providers
            Binder.Bind <IVideoSourceProvider, ScreenSourceProvider>();
            Binder.Bind <IVideoSourceProvider, RegionSourceProvider>();
            Binder.Bind <IVideoSourceProvider, WindowSourceProvider>();
            Binder.Bind <IVideoSourceProvider, DeskDuplSourceProvider>();
            Binder.Bind <IVideoSourceProvider, NoVideoSourceProvider>();

            // Folder Browser Dialog
            Binder.Bind <IDialogService, DialogService>();

            // Clipboard
            Binder.Bind <IClipboardService, ClipboardService>();

            // FFmpeg Log
            Binder.BindSingleton <FFmpegLog>();

            // Check if Bass is available
            if (BassAudioSource.Available)
            {
                Binder.Bind <AudioSource, BassAudioSource>();
            }
            else
            {
                Binder.Bind <AudioSource, NoAudioSource>();
            }
        }
Ejemplo n.º 26
0
        public void OnLoad(IBinder Binder)
        {
            Binder.BindSingleton <HotkeyActionRegisterer>();
            Binder.Bind <IIconSet, MaterialDesignIcons>();
            Binder.Bind <IImagurApiKeys, ApiKeys>();

            // Singleton View Models
            Binder.BindSingleton <MainViewModel>();
            Binder.BindSingleton <VideoSourcesViewModel>();
            Binder.BindSingleton <VideoWritersViewModel>();
            Binder.BindSingleton <FFmpegCodecsViewModel>();
            Binder.BindSingleton <ScreenShotViewModel>();
            Binder.BindSingleton <RecordingViewModel>();

            Binder.Bind <IRecentList, RecentListRepository>();

            // Settings
            Binder.BindSingleton <Settings>();
            Binder.Bind(() => ServiceProvider.Get <Settings>().Audio);
            Binder.Bind(() => ServiceProvider.Get <Settings>().FFmpeg);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Gif);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Proxy);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Sounds);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Imgur);

            // Keymap
            Binder.BindSingleton <KeymapViewModel>();

            // Localization
            Binder.Bind(() => LanguageManager.Instance);

            // Hotkeys
            Binder.BindSingleton <HotKeyManager>();

            // Image Writers
            BindAsInterfaceAndClass <IImageWriterItem, DiskWriter>(Binder);
            BindAsInterfaceAndClass <IImageWriterItem, ClipboardWriter>(Binder);
            BindAsInterfaceAndClass <IImageWriterItem, ImageUploadWriter>(Binder);

            Binder.Bind <IImageUploader, ImgurUploader>();

            // Video Writer Providers
            BindAsInterfaceAndClass <IVideoWriterProvider, FFmpegWriterProvider>(Binder);
            BindAsInterfaceAndClass <IVideoWriterProvider, GifWriterProvider>(Binder);
            BindAsInterfaceAndClass <IVideoWriterProvider, SharpAviWriterProvider>(Binder);
            BindAsInterfaceAndClass <IVideoWriterProvider, StreamingWriterProvider>(Binder);
            BindAsInterfaceAndClass <IVideoWriterProvider, DiscardWriterProvider>(Binder);

            Binder.BindSingleton <FullScreenItem>();

            // Video Source Providers
            BindAsInterfaceAndClass <IVideoSourceProvider, NoVideoSourceProvider>(Binder);
            BindAsInterfaceAndClass <IVideoSourceProvider, FullScreenSourceProvider>(Binder);
            BindAsInterfaceAndClass <IVideoSourceProvider, ScreenSourceProvider>(Binder);
            BindAsInterfaceAndClass <IVideoSourceProvider, WindowSourceProvider>(Binder);
            BindAsInterfaceAndClass <IVideoSourceProvider, RegionSourceProvider>(Binder);

            if (Windows8OrAbove)
            {
                BindAsInterfaceAndClass <IVideoSourceProvider, DeskDuplSourceProvider>(Binder);
            }


            // Folder Browser Dialog
            Binder.Bind <IDialogService, DialogService>();

            // Clipboard
            Binder.Bind <IClipboardService, ClipboardService>();

            // FFmpeg Log
            Binder.BindSingleton <FFmpegLog>();

            // Recent Serializers
            Binder.Bind <IRecentItemSerializer, FileRecentSerializer>();
            Binder.Bind <IRecentItemSerializer, UploadRecentSerializer>();

            // Check if Bass is available
            if (BassAudioSource.Available)
            {
                Binder.Bind <AudioSource, BassAudioSource>();
            }
            else
            {
                Binder.Bind <AudioSource, NAudioSource>();
            }

            // Update Checker
            var version = Assembly.GetEntryAssembly()?.GetName().Version;

            if (version?.Major == 0)
            {
                Binder.Bind <IUpdateChecker, DevUpdateChecker>();
            }
            else
            {
                Binder.Bind <IUpdateChecker, UpdateChecker>();
            }
        }
Ejemplo n.º 27
0
 /// <summary>
 /// 返回一个指定 type 属性的新 Binding 实例,BindingType 为 SINGLETON,值约束为 SINGLE
 /// </summary>
 virtual public IBinding BindSingleton <T>()
 {
     return(_binder.BindSingleton <T>());
 }
Ejemplo n.º 28
0
        public void Register(IBinder x, IScanner scanner) 
        {
            x.Bind<HttpContext>(_ => HttpContext.Current);
            x.Bind<HttpContextBase>(_ => new HttpContextWrapper(HttpContext.Current));

            x.Bind(c => c.Resolve<HttpContext>().Request);
            x.Bind(c => c.Resolve<HttpContext>().Response);
            x.Bind(c => c.Resolve<HttpContext>().Server);
            x.Bind(c => c.Resolve<HttpContext>().Session);

            x.BindSingleton<ICache>(_ => new BrigitaCache(MemoryCache.Default));
            x.Bind<ICacheManager, MemoryCacheManager>();

            //x.Register<IRoutePublisher, RoutePublisher>();

            x.Bind<IEventPublisher, EventPublisher>();
            x.Bind<ISubscriptionService, SubscriptionService>();

            x.Bind<IGenericAttributeService, GenericAttributeService>();

            x.Bind<IPluginFinder, BrigitaPluginFinder>();

            x.Bind<ILogger, NullLogger>();


            x.BindGeneric(typeof(IRepo<>), typeof(Repo<>));
                        
            x.Bind<ILinkProvider, LinkProvider>();

            x.Bind<IMediator, Mediator>();

            x.Bind<IPicSource, PicSource>();
            x.Bind<IPictureService, PictureService>();

            x.Bind<ILocaleContext, LocaleContext>();
            x.Bind<ILocaleCodeProvider, LocaleCodeProvider>();
            
            x.BindGeneric(typeof(ILocalizer<>), typeof(Localizer<>));
            x.BindGeneric(typeof(IStringLocalizer<>), typeof(StringLocalizer<>));
            x.BindGeneric(typeof(ICurrencyLocalizer<>), typeof(CurrencyLocalizer<>));


            x.Bind<IWorkContext, BrigitaWorkContext>();




            x.Bind<IPageHelper, PageHelper>();
            x.Bind<ILinkHelper, LinkHelper>();

            //!!!!!!!! JUST FOR TESTING... !!!!!!!!!
            x.Bind(new StoreInformationSettings());
            x.Bind(new TaxSettings());
            x.Bind(new CurrencySettings());
            x.Bind(new LocalizationSettings());
            x.Bind(new CustomerSettings());
            x.Bind(new CommonSettings());
            x.Bind(new CatalogSettings());
            x.Bind(new SeoSettings());
            x.Bind(new MediaSettings());
            x.Bind<ISettingService, SettingService>();

            x.Bind<IUserAgentHelper, UserAgentHelper>();
            x.Bind<IWebHelper, WebHelper>();

            /*x.Bind<IWorkContext, WebWorkContext>();*/
            x.Bind<IStoreContext, WebStoreContext>();

            x.Bind<ICategories, BrigitaCategories>();
            x.Bind<IScopedCategories, ScopedCategories>();

            x.Bind<IProducts, BrigitaProducts>();


            x.Bind<ICustomerService, CustomerService>();
            x.Bind<IVendorService, VendorService>();
            x.Bind<IStoreService, BrigitaStores>();
            x.Bind<IAuthenticationService, FormsAuthenticationService>();
            x.Bind<ILanguageService, LanguageService>();
            x.Bind<ICurrencyService, CurrencyService>();
            x.Bind<IStoreMappingService, StoreMappingService>();

            x.Bind<IPageHeadBuilder, PageHeadBuilder>();


            //data layer
            var dataSettingsManager = new DataSettingsManager();
            var dataProviderSettings = dataSettingsManager.LoadSettings();
            x.Bind<DataSettings>(c => dataSettingsManager.LoadSettings());

            x.BindTransient<BaseDataProviderManager, EfDataProviderManager>();
            x.BindTransient<IDataProvider>(c => c.Resolve<BaseDataProviderManager>().LoadDataProvider());

            if(dataProviderSettings != null && dataProviderSettings.IsValid()) {
                var efDataProviderManager = new EfDataProviderManager(dataSettingsManager.LoadSettings());
                var dataProvider = efDataProviderManager.LoadDataProvider();
                dataProvider.InitConnectionFactory();

                x.Bind<IDbContext>(c => new NopObjectContext(dataProviderSettings.DataConnectionString, false, false));
            }
            else {
                x.Bind<IDbContext>(c => new NopObjectContext(dataSettingsManager.LoadSettings().DataConnectionString, false, false));
            }

            x.BindGeneric(typeof(IRepository<>), typeof(EfRepository<>));



            //all entities taken from the db should be auto cached, 


            var controllerTypes = scanner.ScanTypes(typeof(Registrar).Assembly)
                                            .Where(t => !t.IsAbstract
                                                        && typeof(IController).IsAssignableFrom(t));

            foreach(var type in controllerTypes) {
                x.Bind(type, type);
            }

        }
Ejemplo n.º 29
0
        public void OnLoad(IBinder Binder)
        {
            Binder.BindSingleton <CrashLogsViewModel>();
            Binder.BindSingleton <FileNameFormatViewModel>();
            Binder.BindSingleton <LicensesViewModel>();
            Binder.BindSingleton <ProxySettingsViewModel>();
            Binder.BindSingleton <SoundsViewModel>();
            Binder.BindSingleton <RecentViewModel>();
            Binder.BindSingleton <UpdateCheckerViewModel>();
            Binder.BindSingleton <ScreenShotViewModel>();
            Binder.BindSingleton <RecordingViewModel>();
            Binder.BindSingleton <MainViewModel>();
            Binder.BindSingleton <HotkeysViewModel>();
            Binder.BindSingleton <FFmpegLogViewModel>();
            Binder.BindSingleton <FFmpegCodecsViewModel>();
            Binder.BindSingleton <ViewConditionsModel>();

            Binder.BindSingleton <VideoSourcesViewModel>();
            Binder.BindSingleton <VideoWritersViewModel>();
            Binder.Bind <IRefreshable>(Binder.Get <VideoWritersViewModel>);

            Binder.BindSingleton <CustomOverlaysViewModel>();
            Binder.BindSingleton <CustomImageOverlaysViewModel>();
            Binder.BindSingleton <CensorOverlaysViewModel>();

            Binder.BindSingleton <FFmpegLog>();
            Binder.Bind <IFFmpegLogRepository>(ServiceProvider.Get <FFmpegLog>);
        }
Ejemplo n.º 30
0
        public void OnLoad(IBinder Binder)
        {
            // Singleton View Models
            Binder.BindSingleton <MainViewModel>();
            Binder.BindSingleton <VideoViewModel>();
            Binder.BindSingleton <ProxySettingsViewModel>();
            Binder.BindSingleton <LicensesViewModel>();
            Binder.BindSingleton <CrashLogsViewModel>();
            Binder.BindSingleton <FFmpegCodecsViewModel>();
            Binder.BindSingleton <ScreenShotViewModel>();
            Binder.BindSingleton <RecentViewModel>();
            Binder.BindSingleton <RecordingViewModel>();
            Binder.BindSingleton <FileNameFormatViewModel>();

            Binder.BindSingleton <CustomOverlaysViewModel>();
            Binder.BindSingleton <CustomImageOverlaysViewModel>();
            Binder.BindSingleton <CensorOverlaysViewModel>();

            // Settings
            Binder.BindSingleton <Settings>();
            Binder.Bind(() => ServiceProvider.Get <Settings>().Audio);
            Binder.Bind(() => ServiceProvider.Get <Settings>().FFmpeg);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Gif);
            Binder.Bind(() => ServiceProvider.Get <Settings>().Proxy);

            // Keymap
            Binder.BindSingleton <KeymapViewModel>();

            // Localization
            Binder.Bind(() => LanguageManager.Instance);

            // Hotkeys
            Binder.BindSingleton <HotKeyManager>();

            // Image Writers
            Binder.BindSingleton <DiskWriter>();
            Binder.BindSingleton <ClipboardWriter>();
            Binder.BindSingleton <ImgurWriter>();

            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <DiskWriter>);
            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <ClipboardWriter>);
            Binder.Bind <IImageWriterItem>(ServiceProvider.Get <ImgurWriter>);

            // Video Writer Providers
            Binder.BindSingleton <FFmpegWriterProvider>();
            Binder.BindSingleton <GifWriterProvider>();
            Binder.BindSingleton <StreamingWriterProvider>();
            Binder.BindSingleton <DiscardWriterProvider>();
            Binder.BindSingleton <SharpAviWriterProvider>();

            Binder.BindSingleton <FullScreenItem>();

            // Video Source Providers
            Binder.BindSingleton <ScreenSourceProvider>();
            Binder.BindSingleton <FullScreenSourceProvider>();
            Binder.BindSingleton <RegionSourceProvider>();
            Binder.BindSingleton <WindowSourceProvider>();
            Binder.BindSingleton <DeskDuplSourceProvider>();
            Binder.BindSingleton <NoVideoSourceProvider>();

            // Folder Browser Dialog
            Binder.Bind <IDialogService, DialogService>();

            // Clipboard
            Binder.Bind <IClipboardService, ClipboardService>();

            // FFmpeg Log
            Binder.BindSingleton <FFmpegLog>();

            // Check if Bass is available
            if (BassAudioSource.Available)
            {
                Binder.Bind <AudioSource, BassAudioSource>();
            }
            else
            {
                Binder.Bind <AudioSource, NoAudioSource>();
            }
        }
Ejemplo n.º 31
0
        public void OnLoad(IBinder Binder)
        {
            Binder.BindSingleton <CrashLogsViewModel>();
            Binder.BindSingleton <FileNameFormatViewModel>();
            Binder.BindSingleton <LicensesViewModel>();
            Binder.BindSingleton <ProxySettingsViewModel>();
            Binder.BindSingleton <SoundsViewModel>();
            Binder.BindSingleton <RecentViewModel>();
            Binder.BindSingleton <UpdateCheckerViewModel>();
            Binder.BindSingleton <ScreenShotViewModel>();
            Binder.BindSingleton <RecordingViewModel>();
            Binder.BindSingleton <MainViewModel>();
            Binder.BindSingleton <ViewConditionsModel>();

            Binder.BindSingleton <CustomOverlaysViewModel>();
            Binder.BindSingleton <CustomImageOverlaysViewModel>();
            Binder.BindSingleton <CensorOverlaysViewModel>();
            Binder.BindSingleton <HotkeyActionRegisterer>();
        }