From 56e5dc49f9ad9562e6dde058715f1f818e458980 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Mon, 12 May 2008 20:50:38 +0000 Subject: [PATCH] * Committing sample IClientAPI2.cs * This is not functional anywhere, but is a incomplete proposed replacement class for IClientAPI. Assistance filling this out would be appreciated. Use IClientAPI.cs as a reference, but make sure not to copy it - instead rewrite and abstract. --- OpenSim/Framework/IClientAPI2.cs | 59 ++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 OpenSim/Framework/IClientAPI2.cs 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; + } +}