/** * Initialize each Login/Char/Map server object and contain them in their * own collective Athena object. * * This is also part of the Flux initialization phase. * * @access public */ public static function initializeServerObjects() { foreach (self::$serversConfig->getChildrenConfigs() as $key => $config) { $connection = new Flux_Connection($config->getDbConfig(), $config->getLogsDbConfig()); $loginServer = new Flux_LoginServer($config->getLoginServer()); // LoginAthenaGroup maintains the grouping of a central login // server and its underlying Athena objects. self::$servers[$key] = new Flux_LoginAthenaGroup($config->getServerName(), $connection, $loginServer); // Add into registry. self::registerServerGroup($config->getServerName(), self::$servers[$key]); foreach ($config->getCharMapServers()->getChildrenConfigs() as $charMapServer) { $charServer = new Flux_CharServer($charMapServer->getCharServer()); $mapServer = new Flux_MapServer($charMapServer->getMapServer()); // Create the collective server object, Flux_Athena. $athena = new Flux_Athena($charMapServer, $loginServer, $charServer, $mapServer); self::$servers[$key]->addAthenaServer($athena); // Add into registry. self::registerAthenaServer($config->getServerName(), $charMapServer->getServerName(), $athena); } } }