Exemple #1
0
        public void Initialize(IConfigSource config, IRegistryCore registry)
        {
            IConfig handlerConfig = config.Configs["Handlers"];

            if (handlerConfig.GetString("GridHandler", "") != Name)
            {
                return;
            }

            string localHandler          = handlerConfig.GetString("LocalGridHandler", "GridService");
            List <IGridService> services = AuroraModuleLoader.PickupModules <IGridService>();

#if (!ISWIN)
            foreach (IGridService s in services)
            {
                if (s.GetType().Name == localHandler)
                {
                    m_localService = s;
                }
            }
#else
            foreach (IGridService s in services.Where(s => s.GetType().Name == localHandler))
            {
                m_localService = s;
            }
#endif

            m_registry = registry;
            if (m_localService == null)
            {
                m_localService = new GridService();
            }
            m_localService.Configure(config, registry);
            m_remoteService = new GridServicesConnector();
            m_remoteService.Initialize(config, registry);
            registry.RegisterModuleInterface <IGridService>(this);
        }