public void FinishedStartup()
{
IConfig hgConfig = config.Configs["HyperGrid"];
if (hgConfig == null || !hgConfig.GetBoolean ("Enabled", false))
return;
IConfig gridConfig = config.Configs["UserAgentService"];
if (gridConfig == null || !gridConfig.GetBoolean ("Enabled", false))
return;
bool proxy = gridConfig.GetBoolean ("HasProxy", false);
m_VerifyCallers = gridConfig.GetBoolean ("VerifyCallers", false);
string csv = gridConfig.GetString ("AuthorizedCallers", "127.0.0.1");
csv = csv.Replace (" ", "");
m_AuthorizedCallers = csv.Split (',');
IHttpServer server = MainServer.Instance;
server.AddXmlRPCHandler ("agent_is_coming_home", AgentIsComingHome, false);
server.AddXmlRPCHandler ("get_home_region", GetHomeRegion, false);
server.AddXmlRPCHandler ("verify_agent", VerifyAgent, false);
server.AddXmlRPCHandler ("verify_client", VerifyClient, false);
server.AddXmlRPCHandler ("logout_agent", LogoutAgent, false);
server.AddXmlRPCHandler ("status_notification", StatusNotification, false);
server.AddXmlRPCHandler ("get_online_friends", GetOnlineFriends, false);
server.AddXmlRPCHandler ("get_user_info", GetUserInfo, false);
server.AddXmlRPCHandler ("get_server_urls", GetServerURLs, false);
server.AddXmlRPCHandler ("locate_user", LocateUser, false);
server.AddXmlRPCHandler ("get_uui", GetUUI, false);
m_HomeUsersService = registry.RequestModuleInterface<IUserAgentService> ();
Uri m_Uri = new Uri (server.FullHostName);
IPAddress ip = NetworkUtils.GetHostFromDNS(m_Uri.Host);
string sip = ip.ToString ();
server.AddHTTPHandler ("/homeagent", new HomeAgentHandler (m_HomeUsersService, sip, proxy).Handler);
}