diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index f9db91c..a157df5 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -54,7 +54,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
54 | /// Handles new client connections | 54 | /// Handles new client connections |
55 | /// Constructor takes a single Packet and authenticates everything | 55 | /// Constructor takes a single Packet and authenticates everything |
56 | /// </summary> | 56 | /// </summary> |
57 | public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat, IStatsCollector | 57 | public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat, IClientIPEndpoint, IStatsCollector |
58 | { | 58 | { |
59 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 59 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
60 | 60 | ||
@@ -10478,6 +10478,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10478 | { | 10478 | { |
10479 | RegisterInterface<IClientIM>(this); | 10479 | RegisterInterface<IClientIM>(this); |
10480 | RegisterInterface<IClientChat>(this); | 10480 | RegisterInterface<IClientChat>(this); |
10481 | RegisterInterface<IClientIPEndpoint>(this); | ||
10481 | } | 10482 | } |
10482 | 10483 | ||
10483 | public bool TryGet<T>(out T iface) | 10484 | public bool TryGet<T>(out T iface) |
@@ -10496,6 +10497,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10496 | return (T)m_clientInterfaces[typeof(T)]; | 10497 | return (T)m_clientInterfaces[typeof(T)]; |
10497 | } | 10498 | } |
10498 | 10499 | ||
10500 | public void Disconnect(string reason) | ||
10501 | { | ||
10502 | Kick(reason); | ||
10503 | Thread.Sleep(1000); | ||
10504 | Close(true); | ||
10505 | } | ||
10506 | |||
10507 | public void Disconnect() | ||
10508 | { | ||
10509 | Close(true); | ||
10510 | } | ||
10511 | |||
10512 | |||
10499 | #endregion | 10513 | #endregion |
10500 | 10514 | ||
10501 | private void RefreshGroupMembership() | 10515 | private void RefreshGroupMembership() |
@@ -10587,5 +10601,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10587 | { | 10601 | { |
10588 | return ""; | 10602 | return ""; |
10589 | } | 10603 | } |
10604 | |||
10605 | #region IClientIPEndpoint Members | ||
10606 | |||
10607 | public IPAddress EndPoint | ||
10608 | { | ||
10609 | get | ||
10610 | { | ||
10611 | if(m_userEndPoint is IPEndPoint) | ||
10612 | { | ||
10613 | IPEndPoint ep = (IPEndPoint)m_userEndPoint; | ||
10614 | |||
10615 | return ep.Address; | ||
10616 | } | ||
10617 | return null; | ||
10618 | } | ||
10619 | } | ||
10620 | |||
10621 | #endregion | ||
10590 | } | 10622 | } |
10591 | } | 10623 | } |