diff options
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/RegionInfo.cs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index a0e5ba5..84751bd 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs | |||
@@ -31,6 +31,7 @@ using System.Net.Sockets; | |||
31 | using System.Xml; | 31 | using System.Xml; |
32 | using Nini.Config; | 32 | using Nini.Config; |
33 | using OpenMetaverse; | 33 | using OpenMetaverse; |
34 | using OpenMetaverse.StructuredData; | ||
34 | 35 | ||
35 | namespace OpenSim.Framework | 36 | namespace OpenSim.Framework |
36 | { | 37 | { |
@@ -605,5 +606,73 @@ namespace OpenSim.Framework | |||
605 | configMember.forceSetConfigurationOption("lastmap_uuid", mapUUID.ToString()); | 606 | configMember.forceSetConfigurationOption("lastmap_uuid", mapUUID.ToString()); |
606 | configMember.forceSetConfigurationOption("lastmap_refresh", lastMapRefresh); | 607 | configMember.forceSetConfigurationOption("lastmap_refresh", lastMapRefresh); |
607 | } | 608 | } |
609 | |||
610 | public OSDMap PackRegionInfoData() | ||
611 | { | ||
612 | OSDMap args = new OSDMap(); | ||
613 | args["region_id"] = OSD.FromUUID(RegionID); | ||
614 | if ((RegionName != null) && !RegionName.Equals("")) | ||
615 | args["region_name"] = OSD.FromString(RegionName); | ||
616 | args["external_host_name"] = OSD.FromString(ExternalHostName); | ||
617 | args["http_port"] = OSD.FromString(HttpPort.ToString()); | ||
618 | args["server_uri"] = OSD.FromString(ServerURI); | ||
619 | args["region_xloc"] = OSD.FromString(RegionLocX.ToString()); | ||
620 | args["region_yloc"] = OSD.FromString(RegionLocY.ToString()); | ||
621 | args["internal_ep_address"] = OSD.FromString(InternalEndPoint.Address.ToString()); | ||
622 | args["internal_ep_port"] = OSD.FromString(InternalEndPoint.Port.ToString()); | ||
623 | if ((RemotingAddress != null) && !RemotingAddress.Equals("")) | ||
624 | args["remoting_address"] = OSD.FromString(RemotingAddress); | ||
625 | args["remoting_port"] = OSD.FromString(RemotingPort.ToString()); | ||
626 | args["allow_alt_ports"] = OSD.FromBoolean(m_allow_alternate_ports); | ||
627 | if ((proxyUrl != null) && !proxyUrl.Equals("")) | ||
628 | args["proxy_url"] = OSD.FromString(proxyUrl); | ||
629 | |||
630 | return args; | ||
631 | } | ||
632 | |||
633 | public void UnpackRegionInfoData(OSDMap args) | ||
634 | { | ||
635 | if (args["region_id"] != null) | ||
636 | RegionID = args["region_id"].AsUUID(); | ||
637 | if (args["region_name"] != null) | ||
638 | RegionName = args["region_name"].AsString(); | ||
639 | if (args["external_host_name"] != null) | ||
640 | ExternalHostName = args["external_host_name"].AsString(); | ||
641 | if (args["http_port"] != null) | ||
642 | UInt32.TryParse(args["http_port"].AsString(), out m_httpPort); | ||
643 | if (args["server_uri"] != null) | ||
644 | ServerURI = args["server_uri"].AsString(); | ||
645 | if (args["region_xloc"] != null) | ||
646 | { | ||
647 | uint locx; | ||
648 | UInt32.TryParse(args["region_xloc"].AsString(), out locx); | ||
649 | RegionLocX = locx; | ||
650 | } | ||
651 | if (args["region_yloc"] != null) | ||
652 | { | ||
653 | uint locy; | ||
654 | UInt32.TryParse(args["region_yloc"].AsString(), out locy); | ||
655 | RegionLocY = locy; | ||
656 | } | ||
657 | IPAddress ip_addr = null; | ||
658 | if (args["internal_ep_address"] != null) | ||
659 | { | ||
660 | IPAddress.TryParse(args["internal_ep_address"].AsString(), out ip_addr); | ||
661 | } | ||
662 | int port = 0; | ||
663 | if (args["internal_ep_port"] != null) | ||
664 | { | ||
665 | Int32.TryParse(args["internal_ep_port"].AsString(), out port); | ||
666 | } | ||
667 | InternalEndPoint = new IPEndPoint(ip_addr, port); | ||
668 | if (args["remoting_address"] != null) | ||
669 | RemotingAddress = args["remoting_address"].AsString(); | ||
670 | if (args["remoting_port"] != null) | ||
671 | UInt32.TryParse(args["remoting_port"].AsString(), out m_remotingPort); | ||
672 | if (args["allow_alt_ports"] != null) | ||
673 | m_allow_alternate_ports = args["allow_alt_ports"].AsBoolean(); | ||
674 | if (args["proxy_url"] != null) | ||
675 | proxyUrl = args["proxy_url"].AsString(); | ||
676 | } | ||
608 | } | 677 | } |
609 | } | 678 | } |