OpenSimMirror/Common/OpenSim.Framework/Interfaces/IClientAPI.cs

138 lines
7.1 KiB
C#
Raw Normal View History

/*
* Copyright (c) Contributors, http://www.openmetaverse.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
2007-05-26 13:40:19 +00:00
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Framework.Inventory;
using libsecondlife;
using libsecondlife.Packets;
using OpenSim.Framework.Types;
namespace OpenSim.Framework.Interfaces
{
public delegate void ChatFromViewer(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
public delegate void RezObject(AssetBase primAsset, LLVector3 pos);
public delegate void ModifyTerrain(byte action, float north, float west);
public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
public delegate void StartAnim(LLUUID animID, int seq);
public delegate void LinkObjects(uint parent, List<uint> children);
2007-05-26 14:55:17 +00:00
public delegate void GenericCall(IClientAPI remoteClient);
public delegate void GenericCall2();
public delegate void GenericCall3(Packet packet); // really don't want to be passing packets in these events, so this is very temporary.
public delegate void GenericCall4(Packet packet, IClientAPI remoteClient);
2007-05-29 09:16:18 +00:00
public delegate void GenericCall5(IClientAPI remoteClient, bool status);
public delegate void GenericCall6(LLUUID uid);
2007-05-26 14:55:17 +00:00
public delegate void UpdateShape(uint localID, ObjectShapePacket.ObjectDataBlock shapeBlock);
public delegate void ObjectSelect(uint localID, IClientAPI remoteClient);
public delegate void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient);
public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient);
public delegate void UpdatePrimVector(uint localID, LLVector3 pos, IClientAPI remoteClient);
public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
public delegate void StatusChange(bool status);
2007-05-29 09:16:18 +00:00
public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status);
2007-05-26 13:40:19 +00:00
public delegate void ParcelPropertiesRequest(int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client);
public delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client);
public delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client);
public delegate void ParcelPropertiesUpdateRequest(ParcelPropertiesUpdatePacket packet, IClientAPI remote_client); // NOTETOSELFremove the packet part
public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client);
2007-05-26 13:40:19 +00:00
public interface IClientAPI
{
event ChatFromViewer OnChatFromViewer;
event RezObject OnRezObject;
event ModifyTerrain OnModifyTerrain;
event SetAppearance OnSetAppearance;
event StartAnim OnStartAnim;
event LinkObjects OnLinkObjects;
2007-05-26 14:55:17 +00:00
event GenericCall4 OnDeRezObject;
event GenericCall OnRegionHandShakeReply;
event GenericCall OnRequestWearables;
event GenericCall2 OnCompleteMovementToRegion;
event GenericCall3 OnAgentUpdate;
event GenericCall OnRequestAvatarsData;
event GenericCall4 OnAddPrim;
event UpdateShape OnUpdatePrimShape;
event ObjectSelect OnObjectSelect;
event UpdatePrimFlags OnUpdatePrimFlags;
event UpdatePrimTexture OnUpdatePrimTexture;
event UpdatePrimVector OnUpdatePrimPosition;
event UpdatePrimRotation OnUpdatePrimRotation;
event UpdatePrimVector OnUpdatePrimScale;
event StatusChange OnChildAgentStatus;
event GenericCall2 OnStopMovement;
2007-05-29 09:16:18 +00:00
event NewAvatar OnNewAvatar;
event GenericCall6 OnRemoveAvatar;
2007-05-26 13:40:19 +00:00
event ParcelPropertiesRequest OnParcelPropertiesRequest;
event ParcelDivideRequest OnParcelDivideRequest;
event ParcelJoinRequest OnParcelJoinRequest;
event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
event EstateOwnerMessageRequest OnEstateOwnerMessage;
2007-05-26 13:40:19 +00:00
LLVector3 StartPos
{
get;
set;
}
LLUUID AgentId
{
get;
}
string FirstName
{
get;
}
string LastName
{
get;
}
void OutPacket(Packet newPack);
2007-05-29 09:16:18 +00:00
void SendWearables(AvatarWearable[] wearables);
2007-06-09 11:13:02 +00:00
void SendRegionHandshake(RegionInfo regionInfo);
void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
2007-05-26 13:40:19 +00:00
void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
2007-05-29 17:49:39 +00:00
void SendLayerData(float[] map);
2007-05-29 17:57:03 +00:00
void MoveAgentIntoRegion(RegionInfo regInfo);
void SendAvatarData(RegionInfo regionInfo, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos);
void InformClientOfNeighbour(ulong neighbourHandle, System.Net.IPAddress neighbourIP, ushort neighbourPort);
2007-05-31 16:30:42 +00:00
AgentCircuitData RequestClientInfo();
void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID);
2007-06-10 13:19:48 +00:00
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID);
2007-06-10 15:43:04 +00:00
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
2007-05-26 13:40:19 +00:00
}
}