public IUserProfileInfo GetUserProfile(UUID PrincipalID) { NameValueCollection requestArgs = new NameValueCollection { { "RequestMethod", "GetUser" }, { "UserID", PrincipalID.ToString() } }; OSDMap result = PostUserData(PrincipalID, requestArgs); if (result == null) return null; if (result.ContainsKey("Profile")) { OSDMap profilemap = (OSDMap)OSDParser.DeserializeJson(result["Profile"].AsString()); IUserProfileInfo profile = new IUserProfileInfo(); profile.FromOSD(profilemap); return profile; } return null; }
public override IDataTransferable Duplicate() { IUserProfileInfo m = new IUserProfileInfo(); m.FromOSD(ToOSD()); return(m); }
/// <summary> /// Get a user's profile /// </summary> /// <param name="agentID"></param> /// <returns></returns> public IUserProfileInfo GetUserProfile(UUID agentID) { IUserProfileInfo UserProfile = new IUserProfileInfo(); //Try from the user profile first before getting from the DB if (UserProfilesCache.TryGetValue(agentID, out UserProfile)) return UserProfile; else { UserProfile = new IUserProfileInfo(); List<string> query = null; //Grab it from the almost generic interface query = GD.Query(new string[]{"ID", "`Key`"}, new object[]{agentID, "LLProfile"}, "userdata", "Value"); if (query == null || query.Count == 0) return null; //Pull out the OSDmap OSDMap profile = (OSDMap)OSDParser.DeserializeLLSDXml(query[0]); UserProfile.FromOSD(profile); //Add to the cache UserProfilesCache[agentID] = UserProfile; return UserProfile; } }
public IUserProfileInfo GetUserProfile(UUID PrincipalID) { try { List<string> serverURIs = m_registry.RequestModuleInterface<IConfigurationService>().FindValueOf(PrincipalID.ToString(), "RemoteServerURI"); foreach (string url in serverURIs) { OSDMap map = new OSDMap(); map["Method"] = "getprofile"; map["PrincipalID"] = PrincipalID; OSDMap response = WebUtils.PostToService(url + "osd", map, true, true); if (response["_Result"].Type == OSDType.Map) { OSDMap responsemap = (OSDMap) response["_Result"]; if (responsemap.Count == 0) continue; IUserProfileInfo info = new IUserProfileInfo(); info.FromOSD(responsemap); return info; } } } catch (Exception e) { MainConsole.Instance.DebugFormat("[AuroraRemoteProfileConnector]: Exception when contacting server: {0}", e); } return null; }
public byte[] UpdateProfile(OSDMap request) { IUserProfileInfo UserProfile = new IUserProfileInfo(); UserProfile.FromOSD((OSDMap)request["Profile"]); ProfileConnector.UpdateUserProfile(UserProfile); OSDMap result = new OSDMap (); result["result"] = "Successful"; string xmlString = OSDParser.SerializeJsonString (result); //m_log.DebugFormat("[AuroraDataServerPostHandler]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return encoding.GetBytes(xmlString); }
public IUserProfileInfo GetUserProfile(UUID agentID) { object remoteValue = DoRemote(agentID); if (remoteValue != null || m_doRemoteOnly) return (IUserProfileInfo)remoteValue; IUserProfileInfo UserProfile = new IUserProfileInfo(); //Try from the user profile first before getting from the DB if (UserProfilesCache.TryGetValue(agentID, out UserProfile)) return UserProfile; QueryFilter filter = new QueryFilter(); filter.andFilters["ID"] = agentID; filter.andFilters["`Key`"] = "LLProfile"; List<string> query = null; //Grab it from the almost generic interface query = GD.Query(new[] { "Value" }, "userdata", filter, null, null, null); if (query == null || query.Count == 0) return null; //Pull out the OSDmap OSDMap profile = (OSDMap) OSDParser.DeserializeLLSDXml(query[0]); UserProfile = new IUserProfileInfo(); UserProfile.FromOSD(profile); //Add to the cache UserProfilesCache[agentID] = UserProfile; return UserProfile; }
public override IDataTransferable Duplicate() { IUserProfileInfo m = new IUserProfileInfo(); m.FromOSD(ToOSD()); return m; }
/// <summary> /// Get a user's profile /// </summary> /// <param name = "agentID"></param> /// <returns></returns> public IUserProfileInfo GetUserProfile(UUID agentID) { IUserProfileInfo UserProfile = new IUserProfileInfo(); //Try from the user profile first before getting from the DB if (UserProfilesCache.TryGetValue(agentID, out UserProfile)) return UserProfile; else { Dictionary<string, object> where = new Dictionary<string, object>(); where["ID"] = agentID; where["`Key`"] = "LLProfile"; List<string> query = null; //Grab it from the almost generic interface query = GD.Query(new string[] { "Value" }, "userdata", new QueryFilter { andFilters = where }, null, null, null); if (query == null || query.Count == 0) return null; //Pull out the OSDmap OSDMap profile = (OSDMap) OSDParser.DeserializeLLSDXml(query[0]); UserProfile = new IUserProfileInfo(); UserProfile.FromOSD(profile); //Add to the cache UserProfilesCache[agentID] = UserProfile; return UserProfile; } }