public static void Initialize(Type serviceProviderType, IMvxIoCProvider iocProvider)
        {
            if (MvxServiceProvider.Instance != null)
                throw new MvxException("Service registry already initialized!");

#if NETFX_CORE
            var serviceProviderConstructor = serviceProviderType.GetTypeInfo().DeclaredConstructors.FirstOrDefault();
#else
            var serviceProviderConstructor = serviceProviderType.GetConstructors().FirstOrDefault();
#endif
            if (serviceProviderConstructor == null)
                throw new MvxException("No Service Factory Constructor included in Assembly!");
            var serviceProviderObject = serviceProviderConstructor.Invoke(new object[] {});
            if (serviceProviderObject == null)
                throw new MvxException("Construction of Service Factory failed!");
            var serviceProviderSetup = serviceProviderObject as IMvxServiceProviderSetup;
            if (serviceProviderSetup == null)
                throw new MvxException(
                    "Constructed Service Factory does not support IMvxServiceProviderSetup - type " +
                    serviceProviderObject.GetType().FullName);

            serviceProviderSetup.Initialize(iocProvider);

            if (MvxServiceProvider.Instance == null)
                throw new MvxException("Service registry not initialized!");
        }
 protected virtual void ClearAll()
 {
     // fake set up of the IoC
     MvxSingleton.ClearAllSingletons();
     _ioc = MvxSimpleIoCContainer.Initialise();
     _ioc.RegisterSingleton(_ioc);
     _ioc.RegisterSingleton<IMvxTrace>(new TestTrace());
     MvxTrace.Initialize();
     MvxBindingStatics.ClearCaches();
     AdditionalSetup();
 }
예제 #3
0
 public virtual void Setup()
 {
     // fake set up of the IoC
     MvxSingleton.ClearAllSingletons();
     _ioc = new MvxSimpleIoCServiceProvider();
     var serviceProvider = new MvxServiceProvider(_ioc);
     _ioc.RegisterServiceInstance<IMvxServiceProviderRegistry>(serviceProvider);
     _ioc.RegisterServiceInstance<IMvxServiceProvider>(serviceProvider);
     _ioc.RegisterServiceInstance<IMvxTrace>(new MvxDebugTrace());
     MvxTrace.Initialize();
 }
 protected virtual void ClearAll()
 {
     // fake set up of the IoC
     MvxSingleton.ClearAllSingletons();
     _ioc = MvxSimpleIoCContainer.Initialize(CreateIocOptions());
     _ioc.RegisterSingleton(_ioc);
     _ioc.RegisterSingleton<IMvxTrace>(new TestTrace());
     InitializeSingletonCache();
     InitializeMvxSettings();
     MvxTrace.Initialize();
     AdditionalSetup();
 }
예제 #5
0
 public override void SubInitialize()
 {
     // Fake set up of the IoC
     MvxSingleton.ClearAllSingletons();
     this.IoC = new MvxSimpleIoCServiceProvider();
     var serviceProvider = new MvxServiceProvider(this.IoC);
     this.IoC.RegisterServiceInstance<IMvxServiceProviderRegistry>(serviceProvider);
     this.IoC.RegisterServiceInstance<IMvxServiceProvider>(serviceProvider);
     this.IoC.RegisterServiceInstance<IMvxTrace>(new MvxDebugTrace());
     MvxTrace.Initialize();
     base.SubInitialize();
 }
예제 #6
0
        public override void Initialize()
        {
            container = MvxSimpleIoCContainer.Initialize();

            CreatableTypes()
                .EndingWith("Service")
                .AsInterfaces()
                .RegisterAsLazySingleton();

            //container.RegisterType<IWeatherService, WeatherService>();
            container.RegisterSingleton<IWeatherService>(new WeatherService());
            RegisterAppStart<ViewModels.FirstViewModel>();
        }
        protected virtual void ClearAll()
        {
            // fake set up of the IoC

            MvxSingleton.ClearAllSingletons();

            _ioc = MvxSimpleIoCContainer.Initialize();
            _ioc.RegisterSingleton(_ioc);
            _ioc.RegisterSingleton<IMvxPluginManager>(new MvxFilePluginManager(".WindowsStore"));
            _ioc.RegisterSingleton<IMvxTrace>(new TestTrace());
            InitializeSingletonCache();
            InitializeMvxSettings();
            MvxTrace.Initialize();
            AdditionalSetup();
        }
 public static void Initialize(IMvxIoCProvider iocProvider)
 {
     var serviceProviderType = FindServiceProviderTypeInCurrentAssembly();
     Initialize(serviceProviderType, iocProvider);
 }
예제 #9
0
 public ConstructingOpenGenericResolver(Type genericTypeDefinition, IMvxIoCProvider parent)
 {
     _genericTypeDefinition = genericTypeDefinition;
     _parent = parent;
 }
예제 #10
0
 protected virtual void RegisterMvxBindingFactories(IMvxIoCProvider iocProvider)
 {
     RegisterSourceStepFactory(iocProvider);
     RegisterSourceFactory(iocProvider);
     RegisterTargetFactory(iocProvider);
 }
 public override void Initialize(IMvxIoCProvider iocProvider)
 {
     base.Initialize(iocProvider);
     SetupPlatfromIndependentServices();
 }
예제 #12
0
 public override void Initialize(IMvxIoCProvider iocProvider)
 {
     base.Initialize(iocProvider);
     RegisterPlatformTypes();
 }
예제 #13
0
        public static void Initialize(IMvxIoCProvider iocProvider)
        {
            var serviceProviderType = FindServiceProviderTypeInCurrentAssembly();

            Initialize(serviceProviderType, iocProvider);
        }
예제 #14
0
 protected override void InitializeLastChance(IMvxIoCProvider iocProvider)
 {
     InitializeBindingBuilder(iocProvider);
     base.InitializeLastChance(iocProvider);
 }
예제 #15
0
 public void Include(IMvxIoCProvider provider)
 {
     provider.Resolve <IAppSettingsService>();
 }
예제 #16
0
 protected override void InitializeFirstChance(IMvxIoCProvider iocProvider)
 {
     iocProvider.RegisterSingleton <INotificationService>(new AndroidNotificationService());
     base.InitializeFirstChance(iocProvider);
 }
 private static void InitialiseIoc(IMvxIoCProvider ioc)
 {
     ioc.RegisterType(() => Substitute.For <ILoginService>());
     ioc.RegisterType(() => Substitute.For <ILoginCommand>());
 }
예제 #18
0
        public static void RegisterType <TInterface, TParameter1, TParameter2, TParameter3, TParameter4, TParameter5>(this IMvxIoCProvider ioc, Func <TParameter1, TParameter2, TParameter3, TParameter4, TParameter5, TInterface> constructor)
            where TInterface : class
            where TParameter1 : class
            where TParameter2 : class
            where TParameter3 : class
            where TParameter4 : class
            where TParameter5 : class
        {
            var resolver = ioc.CreateResolver(constructor);

            ioc.RegisterType(resolver);
        }
예제 #19
0
        public static void LazyConstructAndRegisterSingleton <TInterface, TParameter1, TParameter2, TParameter3, TParameter4>(this IMvxIoCProvider ioc, Func <TParameter1, TParameter2, TParameter3, TParameter4, TInterface> constructor)
            where TInterface : class
            where TParameter1 : class
            where TParameter2 : class
            where TParameter3 : class
            where TParameter4 : class
        {
            var resolver = ioc.CreateResolver(constructor);

            ioc.RegisterSingleton(resolver);
        }
예제 #20
0
파일: SetupIoC.cs 프로젝트: bangela/SILab3
 public static IMvxIoCProvider RegisterDependencies(IMvxIoCProvider provider)
 {
     provider.LazyConstructAndRegisterSingleton <IDSAService, DSAService>();
     provider.RegisterSingleton <IUserDialogs>(() => UserDialogs.Instance);
     return(provider);
 }
예제 #21
0
        public MapperService(IMvxIoCProvider ioCProvider)
        {
            this.ioCProvider = ioCProvider;

            RegisterMappers();
        }
예제 #22
0
 public override void DoRegistration(IMvxIoCProvider iocProvider)
 {
     base.DoRegistration(iocProvider);
     RegisterBindingFactories(iocProvider);
 }
예제 #23
0
 protected override void InitializeFirstChance(IMvxIoCProvider iocProvider)
 {
     RegisterPresenter(iocProvider);
     base.InitializeFirstChance(iocProvider);
 }
예제 #24
0
 protected override void InitializeFirstChance(IMvxIoCProvider iocProvider)
 {
     InitializeSuspensionManager(iocProvider);
     RegisterPresenter(iocProvider);
     base.InitializeFirstChance(iocProvider);
 }
예제 #25
0
 public override void DoRegistration(IMvxIoCProvider iocProvider)
 {
     base.DoRegistration(iocProvider);
     InitializeBindingCreator();
 }
예제 #26
0
 public override void PrepareBasic()
 {
     this.provider = MvxIoCProvider.Initialize();
     RegisterBasic();
 }
 public override void Initialize(IMvxIoCProvider iocProvider)
 {
     base.Initialize(iocProvider);
     SetupPlatfromIndependentServices();
 }
 public static void RegisterType <TType>(this IMvxIoCProvider ioc)
     where TType : class
 {
     ioc.RegisterType <TType, TType>();
 }
예제 #29
0
 protected override void InitializeLastChance(IMvxIoCProvider iocProvider)
 {
     InitializeMessagePump(iocProvider);
 }
 public static void LazyConstructAndRegisterSingleton <TInterface, TType>(this IMvxIoCProvider ioc)
     where TInterface : class
     where TType : class, TInterface
 {
     ioc.RegisterSingleton <TInterface>(() => ioc.IoCConstruct <TType>());
 }
 public static void LazyConstructAndRegisterSingleton(this IMvxIoCProvider ioc, Type type, Func <object> constructor)
 {
     ioc.RegisterSingleton(type, constructor);
 }
예제 #32
0
 protected virtual void RegisterBindingFactories(IMvxIoCProvider iocProvider)
 {
     RegisterMvxBindingFactories(iocProvider);
 }
 public static void RegisterType(this IMvxIoCProvider ioc, Type tType)
 {
     ioc.RegisterType(tType, tType);
 }
예제 #34
0
 public void Dispose()
 {
     _childProvider = null;
 }
 public static void LazyConstructAndRegisterSingleton <TInterface>(this IMvxIoCProvider ioc, Func <TInterface> constructor)
     where TInterface : class
 {
     ioc.RegisterSingleton <TInterface>(constructor);
 }
예제 #36
0
 public MvvmCrossChildContainerAdapter(IMvxIoCProvider provider)
 {
     _childProvider = provider;
 }
예제 #37
0
 public ConstructingResolver(Type type, IMvxIoCProvider parent)
 {
     _type   = type;
     _parent = parent;
 }
 public override void Initialize(IMvxIoCProvider iocProvider)
 {
     base.Initialize(iocProvider);
     SetupPlatformTypes();
 }
예제 #39
0
파일: Setup.cs 프로젝트: tuke307/LapTimer
 protected override void InitializeLastChance(IMvxIoCProvider iocProvider)
 {
     base.InitializeLastChance(iocProvider);
     Mvx.IoCProvider.RegisterSingleton <IThemeService>(() => new ThemeService());
     Mvx.IoCProvider.RegisterSingleton <ICloseApplicationService>(() => new CloseApplicationService());
 }
예제 #40
0
 protected override IMvxApplication CreateApp(IMvxIoCProvider iocProvider)
 {
     throw new System.NotImplementedException();
 }