Aurora.Addon.HyperGrid.UserAgentServerConnector.StatusNotification C# (CSharp) Метод

StatusNotification() публичный Метод

public StatusNotification ( Nwc.XmlRpc.XmlRpcRequest request, IPEndPoint remoteClient ) : Nwc.XmlRpc.XmlRpcResponse
request Nwc.XmlRpc.XmlRpcRequest
remoteClient System.Net.IPEndPoint
Результат Nwc.XmlRpc.XmlRpcResponse
        public XmlRpcResponse StatusNotification(XmlRpcRequest request, IPEndPoint remoteClient)
        {
            Hashtable hash = new Hashtable ();
            hash["result"] = "false";

            Hashtable requestData = (Hashtable)request.Params[0];
            //string host = (string)requestData["host"];
            //string portstr = (string)requestData["port"];
            if (requestData.ContainsKey ("userID") && requestData.ContainsKey ("online"))
            {
                string userID_str = (string)requestData["userID"];
                UUID userID = UUID.Zero;
                UUID.TryParse (userID_str, out userID);
                List<string> ids = new List<string> ();
                foreach (object key in requestData.Keys)
                {
                    if (key is string && ((string)key).StartsWith ("friend_") && requestData[key] != null)
                        ids.Add (requestData[key].ToString ());
                }
                bool online = false;
                bool.TryParse (requestData["online"].ToString (), out online);

                // let's spawn a thread for this, because it may take a long time...
                List<UUID> friendsOnline = m_HomeUsersService.StatusNotification (ids, userID, online);
                if (friendsOnline.Count > 0)
                {
                    int i = 0;
                    foreach (UUID id in friendsOnline)
                    {
                        hash["friend_" + i.ToString ()] = id.ToString ();
                        i++;
                    }
                }
                else
                    hash["result"] = "No Friends Online";

            }

            XmlRpcResponse response = new XmlRpcResponse ();
            response.Value = hash;
            return response;
        }