Exemplo n.º 1
0
 /**
  * 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);
         }
     }
 }