public bool AddPick(ProfilePickInfo pick)
        {
            if (m_doRemoteOnly)
            {
                object remoteValue = DoRemote(pick);
                return(remoteValue != null && (bool)remoteValue);
            }

            if (GetUserProfile(pick.CreatorUUID) == null)
            {
                return(false);
            }

            //It might be updating, delete the old
            QueryFilter filter = new QueryFilter();

            filter.andFilters["PickUUID"] = pick.PickUUID;
            GD.Delete(m_userPicksTable, filter);
            List <object> values = new List <object>
            {
                pick.Name,
                pick.SimName,
                pick.CreatorUUID,
                pick.PickUUID,
                OSDParser.SerializeJsonString(pick.ToOSD())
            };

            return(GD.Insert(m_userPicksTable, values.ToArray()));
        }
        public ProfilePickInfo GetPick(UUID queryPickID)
        {
            object remoteValue = DoRemote(queryPickID);

            if (remoteValue != null || m_doRemoteOnly)
            {
                return((ProfilePickInfo)remoteValue);
            }

            QueryFilter filter = new QueryFilter();

            filter.andFilters["PickUUID"] = queryPickID;

            List <string> query = GD.Query(new string[1] {
                "*"
            }, "userpicks", filter, null, null, null);

            if (query.Count < 5)
            {
                return(null);
            }
            ProfilePickInfo pick = new ProfilePickInfo();

            pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query[4]));
            return(pick);
        }
Пример #3
0
 public ProfilePickInfo GetPick(UUID queryPickID)
 {
     try
     {
         List <string> serverURIs =
             m_registry.RequestModuleInterface <IConfigurationService>().FindValueOf("RemoteServerURI");
         foreach (string url in serverURIs)
         {
             OSDMap map = new OSDMap();
             map["Method"]   = "getpick";
             map["PickUUID"] = queryPickID;
             OSDMap response = WebUtils.PostToService(url + "osd", map, true, true);
             if (response["_Result"].Type == OSDType.Map)
             {
                 OSDMap          responsemap = (OSDMap)response["_Result"];
                 ProfilePickInfo info        = new ProfilePickInfo();
                 info.FromOSD(responsemap);
                 return(info);
             }
         }
     }
     catch (Exception e)
     {
         MainConsole.Instance.DebugFormat("[AuroraRemoteProfileConnector]: Exception when contacting server: {0}", e);
     }
     return(null);
 }
Пример #4
0
        public List <ProfilePickInfo> GetPicks(UUID ownerID)
        {
            object remoteValue = DoRemote(ownerID);

            if (remoteValue != null || m_doRemoteOnly)
            {
                return((List <ProfilePickInfo>)remoteValue);
            }

            QueryFilter filter = new QueryFilter();

            filter.andFilters["OwnerUUID"] = ownerID;

            List <string> query = GD.Query(new[] { "*" }, "userpicks", filter, null, null, null);

            List <ProfilePickInfo> picks = new List <ProfilePickInfo>();

            for (int i = 0; i < query.Count; i += 5)
            {
                ProfilePickInfo pick = new ProfilePickInfo();
                pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query[i + 4]));
                picks.Add(pick);
            }
            return(picks);
        }
Пример #5
0
        public ProfilePickInfo GetPick(UUID queryPickID)
        {
            if (m_doRemoteOnly)
            {
                object remoteValue = DoRemote(queryPickID);
                return(remoteValue != null ? (ProfilePickInfo)remoteValue : null);
            }

            QueryFilter filter = new QueryFilter();

            filter.andFilters ["PickUUID"] = queryPickID;

            List <string> query = genData.Query(new [] { "*" }, m_userPicksTable, filter, null, null, null);

            if (query.Count < 5)
            {
                return(null);
            }

            ProfilePickInfo pick = new ProfilePickInfo();

            pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query [4]));

            return(pick);
        }
Пример #6
0
        public ProfilePickInfo GetPick(UUID queryPickID)
        {
            ProfilePickInfo pick = m_localService.GetPick(queryPickID);

            if (pick == null)
            {
                pick = m_remoteService.GetPick(queryPickID);
            }
            return(pick);
        }
Пример #7
0
        public bool AddPick(ProfilePickInfo pick)
        {
            bool success = m_localService.AddPick(pick);

            if (!success)
            {
                success = m_remoteService.AddPick(pick);
            }
            return(success);
        }
        public void PickInfoUpdate(IClientAPI remoteClient, UUID pickID, UUID creatorID, bool topPick, string name,
                                   string desc, UUID snapshotID, int sortOrder, bool enabled, Vector3d globalPos)
        {
            IScenePresence p = remoteClient.Scene.GetScenePresence(remoteClient.AgentId);

            UUID   parceluuid    = p.CurrentParcelUUID;
            string user          = "******";
            string OrigionalName = "(unknown)";

            Vector3 pos_global = new Vector3(globalPos);

            IParcelManagementModule parcelManagement =
                remoteClient.Scene.RequestModuleInterface <IParcelManagementModule>();

            if (parcelManagement != null)
            {
                ILandObject targetlandObj = parcelManagement.GetLandObject(pos_global.X / Constants.RegionSize,
                                                                           pos_global.Y / Constants.RegionSize);

                if (targetlandObj != null)
                {
                    UserAccount parcelOwner =
                        remoteClient.Scene.UserAccountService.GetUserAccount(remoteClient.AllScopeIDs,
                                                                             targetlandObj.LandData
                                                                             .OwnerID);
                    if (parcelOwner != null)
                    {
                        user = parcelOwner.Name;
                    }

                    parceluuid = targetlandObj.LandData.InfoUUID;

                    OrigionalName = targetlandObj.LandData.Name;
                }
            }

            ProfilePickInfo pick = new ProfilePickInfo
            {
                PickUUID     = pickID,
                CreatorUUID  = creatorID,
                TopPick      = topPick ? 1 : 0,
                ParcelUUID   = parceluuid,
                Name         = name,
                Description  = desc,
                SnapshotUUID = snapshotID,
                User         = user,
                OriginalName = OrigionalName,
                SimName      = remoteClient.Scene.RegionInfo.RegionName,
                GlobalPos    = pos_global,
                SortOrder    = sortOrder,
                Enabled      = enabled ? 1 : 0
            };

            ProfileFrontend.AddPick(pick);
        }
        public byte[] GetPick(OSDMap request)
        {
            UUID principalID = request["PickUUID"].AsUUID();

            ProfilePickInfo Pick   = ProfileConnector.GetPick(principalID);
            OSDMap          result = Pick != null?Pick.ToOSD() : new OSDMap();

            string xmlString = OSDParser.SerializeJsonString(result);
            //MainConsole.Instance.DebugFormat("[AuroraDataServerPostHandler]: resp string: {0}", xmlString);
            UTF8Encoding encoding = new UTF8Encoding();

            return(encoding.GetBytes(xmlString));
        }
        public byte[] AddPick(OSDMap request)
        {
            ProfilePickInfo info = new ProfilePickInfo();

            info.FromOSD((OSDMap)request["Pick"]);

            ProfileConnector.AddPick(info);

            string xmlString = OSDParser.SerializeJsonString(new OSDMap());
            //MainConsole.Instance.DebugFormat("[AuroraDataServerPostHandler]: resp string: {0}", xmlString);
            UTF8Encoding encoding = new UTF8Encoding();

            return(encoding.GetBytes(xmlString));
        }
Пример #11
0
        public List <ProfilePickInfo> GetPicks(UUID ownerID)
        {
            List <ProfilePickInfo> picks = new List <ProfilePickInfo> ();
            List <string>          query = GD.Query(new string[1] {
                "OwnerUUID"
            }, new object[1] {
                ownerID
            }, "userpicks", "*");

            for (int i = 0; i < query.Count; i += 5)
            {
                ProfilePickInfo pick = new ProfilePickInfo();
                pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query[i + 4]));
                picks.Add(pick);
            }
            return(picks);
        }
Пример #12
0
        public void HandlePickInfoRequest(Object sender, string method, List <String> args)
        {
            if (!(sender is IClientAPI))
            {
                return;
            }

            IClientAPI remoteClient = (IClientAPI)sender;
            UUID       PickUUID     = UUID.Parse(args[1]);

            ProfilePickInfo pick = ProfileFrontend.GetPick(PickUUID);

            if (pick != null)
            {
                remoteClient.SendPickInfoReply(pick.PickUUID, pick.CreatorUUID, pick.TopPick == 1 ? true : false, pick.ParcelUUID, pick.Name, pick.Description, pick.SnapshotUUID, pick.User, pick.OriginalName, pick.SimName, pick.GlobalPos, pick.SortOrder, pick.Enabled == 1 ? true : false);
            }
        }
Пример #13
0
        public ProfilePickInfo GetPick(UUID queryPickID)
        {
            List <string> query = GD.Query(new string[1] {
                "PickUUID"
            }, new object[1] {
                queryPickID
            }, "userpicks", "*");

            if (query.Count < 5)
            {
                return(null);
            }
            ProfilePickInfo pick = new ProfilePickInfo();

            pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query[4]));
            return(pick);
        }
Пример #14
0
 public bool AddPick(ProfilePickInfo pick)
 {
     try
     {
         List <string> serverURIs = m_registry.RequestModuleInterface <IConfigurationService> ().FindValueOf(pick.CreatorUUID.ToString(), "RemoteServerURI");
         foreach (string url in serverURIs)
         {
             OSDMap map = new OSDMap();
             map["Method"] = "addpick";
             map["Pick"]   = pick.ToOSD();
             WebUtils.PostToService(url + "osd", map);
         }
     }
     catch (Exception e)
     {
         m_log.DebugFormat("[AuroraRemoteProfileConnector]: Exception when contacting server: {0}", e.ToString());
     }
     return(true);
 }
Пример #15
0
        public ProfilePickInfo GetPick(UUID queryPickID)
        {
            Dictionary <string, object> where = new Dictionary <string, object>(1);
            where["PickUUID"] = queryPickID;

            List <string> query = GD.Query(new string[1] {
                "*"
            }, "userpicks", new QueryFilter
            {
                andFilters = where
            }, null, null, null);

            if (query.Count < 5)
            {
                return(null);
            }
            ProfilePickInfo pick = new ProfilePickInfo();

            pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query[4]));
            return(pick);
        }
Пример #16
0
        public bool AddPick(ProfilePickInfo pick)
        {
            if (GetUserProfile(pick.CreatorUUID) == null)
            {
                return(false);
            }

            //It might be updating, delete the old
            GD.Delete("userpicks", new string[1] {
                "PickUUID"
            }, new object[1] {
                pick.PickUUID
            });
            List <object> values = new List <object> ();

            values.Add(pick.Name);
            values.Add(pick.SimName);
            values.Add(pick.CreatorUUID);
            values.Add(pick.PickUUID);
            values.Add(OSDParser.SerializeJsonString(pick.ToOSD()));
            return(GD.Insert("userpicks", values.ToArray()));
        }
Пример #17
0
        public List <ProfilePickInfo> GetPicks(UUID ownerID)
        {
            Dictionary <string, object> where = new Dictionary <string, object>(1);
            where["OwnerUUID"] = ownerID;

            List <string> query = GD.Query(new string[1] {
                "*"
            }, "userpicks", new QueryFilter
            {
                andFilters = where
            }, null, null, null);

            List <ProfilePickInfo> picks = new List <ProfilePickInfo>();

            for (int i = 0; i < query.Count; i += 5)
            {
                ProfilePickInfo pick = new ProfilePickInfo();
                pick.FromOSD((OSDMap)OSDParser.DeserializeJson(query[i + 4]));
                picks.Add(pick);
            }
            return(picks);
        }
Пример #18
0
 public List <ProfilePickInfo> GetPicks(UUID ownerID)
 {
     try
     {
         List <string> serverURIs =
             m_registry.RequestModuleInterface <IConfigurationService>().FindValueOf(ownerID.ToString(),
                                                                                     "RemoteServerURI");
         foreach (string url in serverURIs)
         {
             OSDMap map = new OSDMap();
             map["Method"]      = "getpicks";
             map["PrincipalID"] = ownerID;
             OSDMap response = WebUtils.PostToService(url + "osd", map, true, true);
             if (response["_Result"].Type == OSDType.Map)
             {
                 OSDMap responsemap = (OSDMap)response["_Result"];
                 if (responsemap.ContainsKey("Result"))
                 {
                     List <ProfilePickInfo> list = new List <ProfilePickInfo>();
                     OSDArray picks = (OSDArray)responsemap["Result"];
                     foreach (OSD o in picks)
                     {
                         ProfilePickInfo info = new ProfilePickInfo();
                         info.FromOSD((OSDMap)o);
                         list.Add(info);
                     }
                     return(list);
                 }
                 return(new List <ProfilePickInfo>());
             }
         }
     }
     catch (Exception e)
     {
         MainConsole.Instance.DebugFormat("[AuroraRemoteProfileConnector]: Exception when contacting server: {0}", e);
     }
     return(null);
 }
Пример #19
0
 public bool AddPick(ProfilePickInfo pick)
 {
     return(false);
 }
Пример #20
0
        public void PickInfoUpdate(IClientAPI remoteClient, UUID pickID, UUID creatorID, bool topPick, string name,
            string desc, UUID snapshotID, int sortOrder, bool enabled, Vector3d globalPos)
        {
            IScenePresence p = remoteClient.Scene.GetScenePresence(remoteClient.AgentId);

            UUID parceluuid = p.CurrentParcelUUID;
            string user = "******";
            string OrigionalName = "(unknown)";

            Vector3 pos_global = new Vector3(globalPos);

            IParcelManagementModule parcelManagement =
                remoteClient.Scene.RequestModuleInterface<IParcelManagementModule>();
            if (parcelManagement != null)
            {
                ILandObject targetlandObj = parcelManagement.GetLandObject(pos_global.X/Constants.RegionSize,
                                                                           pos_global.Y/Constants.RegionSize);

                if (targetlandObj != null)
                {
                    UserAccount parcelOwner =
                        remoteClient.Scene.UserAccountService.GetUserAccount(remoteClient.AllScopeIDs,
                                                                             targetlandObj.LandData
                                                                                          .OwnerID);
                    if (parcelOwner != null)
                        user = parcelOwner.Name;

                    parceluuid = targetlandObj.LandData.GlobalID;

                    OrigionalName = targetlandObj.LandData.Name;
                }
            }

            ProfilePickInfo pick = new ProfilePickInfo
                                       {
                                           PickUUID = pickID,
                                           CreatorUUID = creatorID,
                                           TopPick = topPick ? 1 : 0,
                                           ParcelUUID = parceluuid,
                                           Name = name,
                                           Description = desc,
                                           SnapshotUUID = snapshotID,
                                           User = user,
                                           OriginalName = OrigionalName,
                                           SimName = remoteClient.Scene.RegionInfo.RegionName,
                                           GlobalPos = pos_global,
                                           SortOrder = sortOrder,
                                           Enabled = enabled ? 1 : 0
                                       };

            ProfileFrontend.AddPick(pick);
        }
Пример #21
0
        public List<ProfilePickInfo> GetPicks(UUID ownerID)
        {
            object remoteValue = DoRemote(ownerID);
            if (remoteValue != null || m_doRemoteOnly)
                return (List<ProfilePickInfo>) remoteValue;

            QueryFilter filter = new QueryFilter();
            filter.andFilters["OwnerUUID"] = ownerID;

            List<string> query = GD.Query(new[] {"*"}, "userpicks", filter, null, null, null);

            List<ProfilePickInfo> picks = new List<ProfilePickInfo>();
            for (int i = 0; i < query.Count; i += 5)
            {
                ProfilePickInfo pick = new ProfilePickInfo();
                pick.FromOSD((OSDMap) OSDParser.DeserializeJson(query[i + 4]));
                picks.Add(pick);
            }
            return picks;
        }
Пример #22
0
        public ProfilePickInfo GetPick(UUID queryPickID)
        {
            object remoteValue = DoRemote(queryPickID);
            if (remoteValue != null || m_doRemoteOnly)
                return (ProfilePickInfo) remoteValue;

            QueryFilter filter = new QueryFilter();
            filter.andFilters["PickUUID"] = queryPickID;

            List<string> query = GD.Query(new[] {"*"}, "userpicks", filter, null, null, null);

            if (query.Count < 5)
                return null;
            ProfilePickInfo pick = new ProfilePickInfo();
            pick.FromOSD((OSDMap) OSDParser.DeserializeJson(query[4]));
            return pick;
        }
Пример #23
0
        public bool AddPick(ProfilePickInfo pick)
        {
            object remoteValue = DoRemote(pick);
            if (remoteValue != null || m_doRemoteOnly)
                return remoteValue != null && (bool) remoteValue;

            if (GetUserProfile(pick.CreatorUUID) == null)
                return false;

            //It might be updating, delete the old
            QueryFilter filter = new QueryFilter();
            filter.andFilters["PickUUID"] = pick.PickUUID;
            GD.Delete("userpicks", filter);
            List<object> values = new List<object>
                                      {
                                          pick.Name,
                                          pick.SimName,
                                          pick.CreatorUUID,
                                          pick.PickUUID,
                                          OSDParser.SerializeJsonString(pick.ToOSD())
                                      };
            return GD.Insert("userpicks", values.ToArray());
        }