public override void Initialize() { base.Initialize(); CreatableTypes() .EndingWith("Service") .AsInterfaces() .RegisterAsLazySingleton(); SetupLogging(); SetupMapper(); //NPI WHY I NEED TO MANUALLY REGISTER THIS ONE Mvx.IoCProvider.RegisterSingleton <IMvxMessenger>(new MvxMessengerHub()); string baseAppFolder = AppFileUtils.GetBaseAppFolder(); var fileService = new FileService(baseAppFolder); Mvx.IoCProvider.RegisterSingleton(typeof(IFileService), () => fileService); Mvx.IoCProvider.RegisterSingleton(typeof(ICommonFileService), () => fileService); Mvx.IoCProvider.ConstructAndRegisterSingleton <ITelemetryService, TelemetryService>(); Mvx.IoCProvider.ConstructAndRegisterSingleton <IAppSettingsService, AppSettingsService>(); Mvx.IoCProvider.ConstructAndRegisterSingleton <IAppDataService, AppDataService>(); Mvx.IoCProvider.ConstructAndRegisterSingleton <IYoutubeUrlDecoder, YoutubeUrlDecoder>(); Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IPlayer>(() => { var logger = Mvx.IoCProvider.Resolve <ILogger <Player> >(); return(new Player(logger, logToConsole: false)); }); Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IFFmpegService, FFmpegService>(); Mvx.IoCProvider.LazyConstructAndRegisterSingleton <ICastService, CastService>(); Mvx.IoCProvider.LazyConstructAndRegisterSingleton <IFileWatcherService, FileWatcherService>(); Mvx.IoCProvider.ConstructAndRegisterSingleton <IAppWebServer, AppWebServer>(); Mvx.IoCProvider.RegisterSingleton(typeof(IBaseWebServer), () => Mvx.IoCProvider.Resolve <IAppWebServer>()); var messenger = Mvx.IoCProvider.Resolve <IMvxMessenger>(); var textProvider = new ResxTextProvider(Resource.ResourceManager, messenger); Mvx.IoCProvider.RegisterSingleton <ITextProvider>(textProvider); //since im using automapper to resolve this one, i need to explicit register it Mvx.IoCProvider.RegisterType <PlayListItemViewModel>(); Mvx.IoCProvider.RegisterType <FileItemViewModel>(); Mvx.IoCProvider.RegisterType <DeviceItemViewModel>(); Mvx.IoCProvider.ConstructAndRegisterSingleton(typeof(SettingsViewModel)); RegisterAppStart <SplashViewModel>(); }
public override void Initialize() { CreatableTypes() .EndingWith("Service") .AsInterfaces() .RegisterAsLazySingleton(); var textProvider = new ResxTextProvider(Text.ResourceManager); Mvx.RegisterSingleton <IMvxTextProvider>(textProvider); Mvx.RegisterSingleton <ICultureProvider>(textProvider); var dbSettings = new DatabaseSettings("FoodByMe.db3"); Mvx.RegisterSingleton(dbSettings); Mvx.RegisterType <UpdateContext, UpdateContext>(); RegisterAppStart <MainViewModel>(); }