diff --git a/OpenSim/Framework/IClientAPI2.cs b/OpenSim/Framework/IClientAPI2.cs new file mode 100644 index 0000000000..1ae78943c1 --- /dev/null +++ b/OpenSim/Framework/IClientAPI2.cs @@ -0,0 +1,59 @@ +using System; + +namespace OpenSim.Framework +{ + #region Args Classes + public class ICA2_ConnectionArgs : EventArgs + { + + } + + public class ICA2_DisconnectionArgs : EventArgs + { + public bool Forced; + + // Static Constructor + // Allows us to recycle these classes later more easily from a pool. + public static ICA2_DisconnectionArgs Create(bool forced) + { + ICA2_DisconnectionArgs tmp = new ICA2_DisconnectionArgs(); + tmp.Forced = forced; + + return tmp; + } + } + + public class ICA2_PingArgs : EventArgs + { + } + + public class ICA2_AvatarAppearanceArgs : EventArgs + { + } + + public class ICA2_TerraformArgs : EventArgs + { + public double XMin; + public double XMax; + public double YMin; + public double YMax; + public Guid Action; + public double Strength; // 0 .. 1 + public double Radius; + } + #endregion + + public delegate void ICA2_OnTerraformDelegate(IClientAPI2 sender, ICA2_TerraformArgs e); + + public interface IClientAPI2 + { + // Connect / Disconnect + void Connect(ICA2_ConnectionArgs e); + void Disconnect(ICA2_DisconnectionArgs e); + void Ping(ICA2_PingArgs e); + + void SendAvatarAppearance(ICA2_AvatarAppearanceArgs e); + + event ICA2_OnTerraformDelegate OnTerraform; + } +}