* Added IClientChat to IClientCore

* Updated LLClientView
* Removed defunct SendChatMessage(bytes[]...) method, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
0.6.1-post-fixes
Adam Frisby 2008-11-08 19:29:35 +00:00
parent 03e056646e
commit 4e94989106
2 changed files with 187 additions and 102 deletions

View File

@ -33,6 +33,7 @@ using OpenMetaverse.Packets;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
#region Client API Delegate definitions #region Client API Delegate definitions
public delegate void ViewerEffectEventHandler(IClientAPI sender, List<ViewerEffectEventHandlerArg> args); public delegate void ViewerEffectEventHandler(IClientAPI sender, List<ViewerEffectEventHandlerArg> args);
@ -46,9 +47,13 @@ namespace OpenSim.Framework
public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e); public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e);
public delegate void ImprovedInstantMessage(IClientAPI remoteclient, public delegate void ImprovedInstantMessage(IClientAPI remoteclient,
UUID fromAgentID, UUID fromAgentSession, UUID toAgentID, UUID imSessionID, uint timestamp, UUID fromAgentID, UUID fromAgentSession, UUID toAgentID,
string fromAgentName, string message, byte dialog, bool fromGroup, byte offline, uint ParentEstateID, UUID imSessionID, uint timestamp,
Vector3 Position, UUID RegionID, byte[] binaryBucket); // This shouldn't be cut down... string fromAgentName, string message, byte dialog, bool fromGroup,
byte offline, uint ParentEstateID,
Vector3 Position, UUID RegionID, byte[] binaryBucket);
// This shouldn't be cut down...
// especially if we're ever going to implement groups, presence, estate message dialogs... // especially if we're ever going to implement groups, presence, estate message dialogs...
public delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, public delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
@ -57,7 +62,8 @@ namespace OpenSim.Framework
public delegate UUID RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); public delegate UUID RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
public delegate void ObjectAttach(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, Quaternion rot, bool silent); public delegate void ObjectAttach(
IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, Quaternion rot, bool silent);
public delegate void ModifyTerrain( public delegate void ModifyTerrain(
float height, float seconds, byte size, byte action, float north, float west, float south, float east, float height, float seconds, byte size, byte action, float north, float west, float south, float east,
@ -95,7 +101,9 @@ namespace OpenSim.Framework
// really don't want to be passing packets in these events, so this is very temporary. // really don't want to be passing packets in these events, so this is very temporary.
public delegate void GenericCall4(Packet packet, IClientAPI remoteClient); public delegate void GenericCall4(Packet packet, IClientAPI remoteClient);
public delegate void DeRezObject(IClientAPI remoteClient, uint localID, UUID groupID, byte destination, UUID destinationID);
public delegate void DeRezObject(
IClientAPI remoteClient, uint localID, UUID groupID, byte destination, UUID destinationID);
public delegate void GenericCall5(IClientAPI remoteClient, bool status); public delegate void GenericCall5(IClientAPI remoteClient, bool status);
@ -111,9 +119,11 @@ namespace OpenSim.Framework
IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID TaskID); IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID TaskID);
public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient); public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient);
public delegate void ObjectDrop(uint localID, IClientAPI remoteClient); public delegate void ObjectDrop(uint localID, IClientAPI remoteClient);
public delegate void UpdatePrimFlags(uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, IClientAPI remoteClient); public delegate void UpdatePrimFlags(
uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, IClientAPI remoteClient);
public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient); public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient);
@ -129,7 +139,8 @@ namespace OpenSim.Framework
public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID, public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID,
UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart, UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart,
bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates); bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters,
bool CopyRotates);
public delegate void StatusChange(bool status); public delegate void StatusChange(bool status);
@ -145,9 +156,12 @@ namespace OpenSim.Framework
public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery
); );
public delegate void GrabObject(uint localID, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs); public delegate void GrabObject(
uint localID, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
public delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs); public delegate void MoveObject(
UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs
);
public delegate void ParcelAccessListRequest( public delegate void ParcelAccessListRequest(
UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client); UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client);
@ -170,12 +184,17 @@ namespace OpenSim.Framework
public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client); public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
public delegate void ParcelAbandonRequest(int local_id, IClientAPI remote_client); public delegate void ParcelAbandonRequest(int local_id, IClientAPI remote_client);
public delegate void ParcelGodForceOwner(int local_id, UUID ownerID, IClientAPI remote_client); public delegate void ParcelGodForceOwner(int local_id, UUID ownerID, IClientAPI remote_client);
public delegate void ParcelReclaim(int local_id, IClientAPI remote_client); public delegate void ParcelReclaim(int local_id, IClientAPI remote_client);
public delegate void ParcelReturnObjectsRequest(int local_id, uint return_type, UUID[] agent_ids, UUID[] selected_ids, IClientAPI remote_client); public delegate void ParcelReturnObjectsRequest(
int local_id, uint return_type, UUID[] agent_ids, UUID[] selected_ids, IClientAPI remote_client);
public delegate void EstateOwnerMessageRequest(UUID AgentID, UUID SessionID, UUID TransactionID, UUID Invoice, byte[] Method, byte[][] Parameters, IClientAPI remote_client); public delegate void EstateOwnerMessageRequest(
UUID AgentID, UUID SessionID, UUID TransactionID, UUID Invoice, byte[] Method, byte[][] Parameters,
IClientAPI remote_client);
public delegate void RegionInfoRequest(IClientAPI remote_client); public delegate void RegionInfoRequest(IClientAPI remote_client);
@ -184,10 +203,12 @@ namespace OpenSim.Framework
public delegate void UUIDNameRequest(UUID id, IClientAPI remote_client); public delegate void UUIDNameRequest(UUID id, IClientAPI remote_client);
public delegate void AddNewPrim( public delegate void AddNewPrim(
UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart,
UUID RayTargetID,
byte RayEndIsIntersection); byte RayEndIsIntersection);
public delegate void RequestGodlikePowers(UUID AgentID, UUID SessionID, UUID token, bool GodLike, IClientAPI remote_client); public delegate void RequestGodlikePowers(
UUID AgentID, UUID SessionID, UUID token, bool GodLike, IClientAPI remote_client);
public delegate void GodKickUser( public delegate void GodKickUser(
UUID GodAgentID, UUID GodSessionID, UUID AgentID, uint kickflags, byte[] reason); UUID GodAgentID, UUID GodSessionID, UUID AgentID, uint kickflags, byte[] reason);
@ -239,7 +260,8 @@ namespace OpenSim.Framework
public delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, UUID transactionID, uint localID); public delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, UUID transactionID, uint localID);
public delegate void UpdateTaskInventory(IClientAPI remoteClient, UUID transactionID, TaskInventoryItem item, uint localID); public delegate void UpdateTaskInventory(
IClientAPI remoteClient, UUID transactionID, TaskInventoryItem item, uint localID);
public delegate void MoveTaskInventory(IClientAPI remoteClient, UUID folderID, uint localID, UUID itemID); public delegate void MoveTaskInventory(IClientAPI remoteClient, UUID folderID, uint localID, UUID itemID);
@ -255,19 +277,23 @@ namespace OpenSim.Framework
public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID); public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
public delegate void FriendActionDelegate(IClientAPI remoteClient, UUID agentID, UUID transactionID, List<UUID> callingCardFolders); public delegate void FriendActionDelegate(
IClientAPI remoteClient, UUID agentID, UUID transactionID, List<UUID> callingCardFolders);
public delegate void FriendshipTermination(IClientAPI remoteClient, UUID agentID, UUID ExID); public delegate void FriendshipTermination(IClientAPI remoteClient, UUID agentID, UUID ExID);
public delegate void MoneyTransferRequest(UUID sourceID, UUID destID, int amount, int transactionType, string description); public delegate void MoneyTransferRequest(
UUID sourceID, UUID destID, int amount, int transactionType, string description);
public delegate void ParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned, public delegate void ParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned,
bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated); bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice,
bool authenticated);
// We keep all this information for fraud purposes in the future. // We keep all this information for fraud purposes in the future.
public delegate void MoneyBalanceRequest(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID TransactionID); public delegate void MoneyBalanceRequest(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID TransactionID);
public delegate void ObjectPermissions(IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set); public delegate void ObjectPermissions(
IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set);
public delegate void EconomyDataRequest(UUID agentID); public delegate void EconomyDataRequest(UUID agentID);
@ -276,56 +302,111 @@ namespace OpenSim.Framework
public delegate void ScriptAnswer(IClientAPI remoteClient, UUID objectID, UUID itemID, int answer); public delegate void ScriptAnswer(IClientAPI remoteClient, UUID objectID, UUID itemID, int answer);
public delegate void RequestPayPrice(IClientAPI remoteClient, UUID objectID); public delegate void RequestPayPrice(IClientAPI remoteClient, UUID objectID);
public delegate void ObjectSaleInfo(IClientAPI remoteClient, UUID agentID, UUID sessionID, uint localID, byte saleType, int salePrice);
public delegate void ObjectBuy(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID groupID, UUID categoryID, uint localID, byte saleType, int salePrice); public delegate void ObjectSaleInfo(
public delegate void BuyObjectInventory(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID objectID, UUID itemID, UUID folderID); IClientAPI remoteClient, UUID agentID, UUID sessionID, uint localID, byte saleType, int salePrice);
public delegate void ObjectBuy(
IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID groupID, UUID categoryID, uint localID,
byte saleType, int salePrice);
public delegate void BuyObjectInventory(
IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID objectID, UUID itemID, UUID folderID);
public delegate void ForceReleaseControls(IClientAPI remoteClient, UUID agentID); public delegate void ForceReleaseControls(IClientAPI remoteClient, UUID agentID);
public delegate void GodLandStatRequest(int parcelID, uint reportType, uint requestflags, string filter, IClientAPI remoteClient); public delegate void GodLandStatRequest(
int parcelID, uint reportType, uint requestflags, string filter, IClientAPI remoteClient);
//Estate Requests //Estate Requests
public delegate void DetailedEstateDataRequest(IClientAPI remoteClient, UUID invoice); public delegate void DetailedEstateDataRequest(IClientAPI remoteClient, UUID invoice);
public delegate void SetEstateFlagsRequest(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor, int matureLevel, bool restrictPushObject, bool allowParcelChanges);
public delegate void SetEstateFlagsRequest(
bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor,
int matureLevel, bool restrictPushObject, bool allowParcelChanges);
public delegate void SetEstateTerrainBaseTexture(IClientAPI remoteClient, int corner, UUID side); public delegate void SetEstateTerrainBaseTexture(IClientAPI remoteClient, int corner, UUID side);
public delegate void SetEstateTerrainDetailTexture(IClientAPI remoteClient, int corner, UUID side); public delegate void SetEstateTerrainDetailTexture(IClientAPI remoteClient, int corner, UUID side);
public delegate void SetEstateTerrainTextureHeights(IClientAPI remoteClient, int corner, float lowVal, float highVal);
public delegate void SetEstateTerrainTextureHeights(IClientAPI remoteClient, int corner, float lowVal, float highVal
);
public delegate void CommitEstateTerrainTextureRequest(IClientAPI remoteClient); public delegate void CommitEstateTerrainTextureRequest(IClientAPI remoteClient);
public delegate void SetRegionTerrainSettings(float waterHeight, float terrainRaiseLimit, float terrainLowerLimit, bool estateSun, bool fixedSun, float sunHour, bool globalSun, bool estateFixed, float estateSunHour);
public delegate void SetRegionTerrainSettings(
float waterHeight, float terrainRaiseLimit, float terrainLowerLimit, bool estateSun, bool fixedSun,
float sunHour, bool globalSun, bool estateFixed, float estateSunHour);
public delegate void EstateChangeInfo(IClientAPI client, UUID invoice, UUID senderID, UInt32 param1, UInt32 param2); public delegate void EstateChangeInfo(IClientAPI client, UUID invoice, UUID senderID, UInt32 param1, UInt32 param2);
public delegate void BakeTerrain(IClientAPI remoteClient );
public delegate void BakeTerrain(IClientAPI remoteClient);
public delegate void EstateRestartSimRequest(IClientAPI remoteClient, int secondsTilReboot); public delegate void EstateRestartSimRequest(IClientAPI remoteClient, int secondsTilReboot);
public delegate void EstateChangeCovenantRequest(IClientAPI remoteClient, UUID newCovenantID); public delegate void EstateChangeCovenantRequest(IClientAPI remoteClient, UUID newCovenantID);
public delegate void UpdateEstateAccessDeltaRequest(IClientAPI remote_client, UUID invoice, int estateAccessType, UUID user);
public delegate void SimulatorBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message); public delegate void UpdateEstateAccessDeltaRequest(
public delegate void EstateBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message); IClientAPI remote_client, UUID invoice, int estateAccessType, UUID user);
public delegate void EstateDebugRegionRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics);
public delegate void EstateTeleportOneUserHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey); public delegate void SimulatorBlueBoxMessageRequest(
IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message);
public delegate void EstateBlueBoxMessageRequest(
IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message);
public delegate void EstateDebugRegionRequest(
IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics);
public delegate void EstateTeleportOneUserHomeRequest(
IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey);
public delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID); public delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID);
public delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID); public delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID);
public delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID); public delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID);
public delegate void ScriptReset(IClientAPI remoteClient, UUID objectID, UUID itemID); public delegate void ScriptReset(IClientAPI remoteClient, UUID objectID, UUID itemID);
public delegate void GetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID); public delegate void GetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID);
public delegate void SetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID, bool running); public delegate void SetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID, bool running);
public delegate void ActivateGesture(IClientAPI client, UUID gestureid, UUID assetId); public delegate void ActivateGesture(IClientAPI client, UUID gestureid, UUID assetId);
public delegate void DeactivateGesture(IClientAPI client, UUID gestureid); public delegate void DeactivateGesture(IClientAPI client, UUID gestureid);
public delegate void TerrainUnacked(IClientAPI remoteClient, int patchX, int patchY); public delegate void TerrainUnacked(IClientAPI remoteClient, int patchX, int patchY);
public delegate void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List<uint> localIDs); public delegate void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List<uint> localIDs);
public delegate void DirPlacesQuery(IClientAPI remoteClient, UUID queryID, string queryText, int queryFlags, int category, string simName, int queryStart); public delegate void DirPlacesQuery(
public delegate void DirFindQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart); IClientAPI remoteClient, UUID queryID, string queryText, int queryFlags, int category, string simName,
public delegate void DirLandQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags, uint searchType, int price, int area, int queryStart); int queryStart);
public delegate void DirFindQuery(
IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart);
public delegate void DirLandQuery(
IClientAPI remoteClient, UUID queryID, uint queryFlags, uint searchType, int price, int area, int queryStart);
public delegate void DirPopularQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags); public delegate void DirPopularQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags);
public delegate void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category, int queryStart);
public delegate void DirClassifiedQuery(
IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category, int queryStart);
public delegate void EventInfoRequest(IClientAPI remoteClient, uint eventID); public delegate void EventInfoRequest(IClientAPI remoteClient, uint eventID);
public delegate void ParcelSetOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime); public delegate void ParcelSetOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime);
public delegate void MapItemRequest(IClientAPI remoteClient, uint flags, uint EstateID, bool godlike, uint itemtype, ulong regionhandle); public delegate void MapItemRequest(
IClientAPI remoteClient, uint flags, uint EstateID, bool godlike, uint itemtype, ulong regionhandle);
public delegate void OfferCallingCard(IClientAPI remoteClient, UUID destID, UUID transactionID); public delegate void OfferCallingCard(IClientAPI remoteClient, UUID destID, UUID transactionID);
public delegate void AcceptCallingCard(IClientAPI remoteClient, UUID transactionID, UUID folderID); public delegate void AcceptCallingCard(IClientAPI remoteClient, UUID transactionID, UUID folderID);
public delegate void DeclineCallingCard(IClientAPI remoteClient, UUID transactionID); public delegate void DeclineCallingCard(IClientAPI remoteClient, UUID transactionID);
#endregion #endregion
@ -426,16 +507,9 @@ namespace OpenSim.Framework
/// </summary> /// </summary>
string Name { get; } string Name { get; }
bool IsActive bool IsActive { get; set; }
{
get;
set;
}
bool SendLogoutPacketWhenClosing bool SendLogoutPacketWhenClosing { set; }
{
set;
}
// [Obsolete("LLClientView Specific - Circuits are unique to LLClientView")] // [Obsolete("LLClientView Specific - Circuits are unique to LLClientView")]
uint CircuitCode { get; } uint CircuitCode { get; }
@ -598,7 +672,7 @@ namespace OpenSim.Framework
event EstateRestartSimRequest OnEstateRestartSimRequest; event EstateRestartSimRequest OnEstateRestartSimRequest;
event EstateChangeCovenantRequest OnEstateChangeCovenantRequest; event EstateChangeCovenantRequest OnEstateChangeCovenantRequest;
event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest; event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest;
event SimulatorBlueBoxMessageRequest OnSimulatorBlueBoxMessageRequest; event SimulatorBlueBoxMessageRequest OnSimulatorBlueBoxMessageRequest;
event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
event EstateDebugRegionRequest OnEstateDebugRegionRequest; event EstateDebugRegionRequest OnEstateDebugRegionRequest;
event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
@ -633,7 +707,7 @@ namespace OpenSim.Framework
event AcceptCallingCard OnAcceptCallingCard; event AcceptCallingCard OnAcceptCallingCard;
event DeclineCallingCard OnDeclineCallingCard; event DeclineCallingCard OnDeclineCallingCard;
// void ActivateGesture(UUID assetId, UUID gestureId); // void ActivateGesture(UUID assetId, UUID gestureId);
/// <summary> /// <summary>
/// Tell this client what items it should be wearing now /// Tell this client what items it should be wearing now
@ -663,9 +737,6 @@ namespace OpenSim.Framework
void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, byte source, void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, byte source,
byte audible); byte audible);
void SendChatMessage(byte[] message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, byte source,
byte audible);
void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog,
uint timeStamp); uint timeStamp);
@ -697,7 +768,8 @@ namespace OpenSim.Framework
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance); void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance);
void SendPayPrice(UUID objectID, int[] payPrice); void SendPayPrice(UUID objectID, int[] payPrice);
void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID, uint avatarLocalID, void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID,
uint avatarLocalID,
Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation); Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation);
void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
@ -711,18 +783,22 @@ namespace OpenSim.Framework
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel, Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel,
uint flags, uint flags,
UUID objectID, UUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, UUID objectID, UUID ownerID, string text, byte[] color, uint parentID,
byte clickAction, byte material, byte[] textureanim, bool attachment, uint AttachPoint, UUID AssetId, UUID SoundId, double SoundVolume, byte SoundFlags, double SoundRadius); byte[] particleSystem,
byte clickAction, byte material, byte[] textureanim, bool attachment,
uint AttachPoint, UUID AssetId, UUID SoundId, double SoundVolume, byte SoundFlags,
double SoundRadius);
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel, Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel,
uint flags, UUID objectID, UUID ownerID, string text, byte[] color, uint flags, UUID objectID, UUID ownerID, string text, byte[] color,
uint parentID, byte[] particleSystem, byte clickAction, byte material); uint parentID, byte[] particleSystem, byte clickAction, byte material);
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state, UUID AssetId); Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state,
UUID AssetId);
void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items, void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items,
List<InventoryFolderBase> folders, bool fetchFolders, List<InventoryFolderBase> folders, bool fetchFolders,
@ -752,17 +828,24 @@ namespace OpenSim.Framework
void SendXferPacket(ulong xferID, uint packet, byte[] data); void SendXferPacket(ulong xferID, uint packet, byte[] data);
void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit, void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit,
int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor, int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent,
int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay, float PriceObjectScaleFactor,
int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent); int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent,
int PricePublicObjectDecay,
int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice,
float TeleportPriceExponent);
void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data); void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data);
void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle); void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers,
string groupname, string grouptitle);
void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID); void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID);
void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags); void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags);
void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain);
void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position,
float gain);
void SendAttachedSoundGainChange(UUID objectID, float gain); void SendAttachedSoundGainChange(UUID objectID, float gain);
void SendNameReply(UUID profileId, string firstname, string lastname); void SendNameReply(UUID profileId, string firstname, string lastname);
@ -770,10 +853,15 @@ namespace OpenSim.Framework
void SendAgentAlertMessage(string message, bool modal); void SendAgentAlertMessage(string message, bool modal);
void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url); void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url);
void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch, string[] buttonlabels);
void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch,
string[] buttonlabels);
bool AddMoney(int debit); bool AddMoney(int debit);
void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition); void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear,
float OrbitalPosition);
void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks); void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks);
void SendViewerTime(int phase); void SendViewerTime(int phase);
UUID GetDefaultAnimation(string name); UUID GetDefaultAnimation(string name);
@ -791,9 +879,14 @@ namespace OpenSim.Framework
void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args); void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args);
void SendEstateCovenantInformation(UUID covenant); void SendEstateCovenantInformation(UUID covenant);
void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner);
void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags); void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags,
uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner);
void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData,
float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity,
uint regionFlags);
void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID); void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID);
void SendForceClientSelectObjects(List<uint> objectIDs); void SendForceClientSelectObjects(List<uint> objectIDs);
void SendLandObjectOwners(Dictionary<UUID, int> ownersAndCount); void SendLandObjectOwners(Dictionary<UUID, int> ownersAndCount);
@ -846,21 +939,26 @@ namespace OpenSim.Framework
void SendSimStats(SimStats stats); void SendSimStats(SimStats stats);
void SendObjectPropertiesFamilyData(uint RequestFlags, UUID ObjectUUID, UUID OwnerID, UUID GroupID, void SendObjectPropertiesFamilyData(uint RequestFlags, UUID ObjectUUID, UUID OwnerID, UUID GroupID,
uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask, uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask,
uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice, uint Category, uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice,
UUID LastOwnerID, string ObjectName, string Description); uint Category,
UUID LastOwnerID, string ObjectName, string Description);
void SendObjectPropertiesReply(UUID ItemID, ulong CreationDate, UUID CreatorUUID, UUID FolderUUID,
UUID FromTaskUUID,
UUID GroupUUID, short InventorySerial, UUID LastOwnerUUID, UUID ObjectUUID,
UUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle,
string ItemName,
string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask,
uint EveryoneMask,
uint BaseMask, byte saleType, int salePrice);
void SendObjectPropertiesReply(UUID ItemID, ulong CreationDate, UUID CreatorUUID, UUID FolderUUID, UUID FromTaskUUID,
UUID GroupUUID, short InventorySerial, UUID LastOwnerUUID, UUID ObjectUUID,
UUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle, string ItemName,
string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask, uint EveryoneMask,
uint BaseMask, byte saleType, int salePrice);
void SendAgentOffline(UUID[] agentIDs); void SendAgentOffline(UUID[] agentIDs);
void SendAgentOnline(UUID[] agentIDs); void SendAgentOnline(UUID[] agentIDs);
void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot, void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot,
Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook); Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook);
void SendAdminResponse(UUID Token, uint AdminLevel); void SendAdminResponse(UUID Token, uint AdminLevel);

View File

@ -52,7 +52,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// Handles new client connections /// Handles new client connections
/// Constructor takes a single Packet and authenticates everything /// Constructor takes a single Packet and authenticates everything
/// </summary> /// </summary>
public class LLClientView : IClientAPI, IClientCore, IClientIM public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@ -1046,26 +1046,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OutPacket(mov, ThrottleOutPacketType.Unknown); OutPacket(mov, ThrottleOutPacketType.Unknown);
} }
/// <summary>
///
/// </summary>
/// <param name="message"></param>
/// <param name="type"></param>
/// <param name="fromPos"></param>
/// <param name="fromName"></param>
/// <param name="fromAgentID"></param>
public void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, public void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName,
UUID fromAgentID, byte source, byte audible) UUID fromAgentID, byte source, byte audible)
{
SendChatMessage(Utils.StringToBytes(message), type, fromPos, fromName, fromAgentID, source, audible);
}
public void SendChatMessage(byte[] message, byte type, Vector3 fromPos, string fromName,
UUID fromAgentID, byte source, byte audible)
{ {
ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator); ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator);
reply.ChatData.Audible = audible; reply.ChatData.Audible = audible;
reply.ChatData.Message = message; reply.ChatData.Message = Utils.StringToBytes(message);
reply.ChatData.ChatType = type; reply.ChatData.ChatType = type;
reply.ChatData.SourceType = source; reply.ChatData.SourceType = source;
reply.ChatData.Position = fromPos; reply.ChatData.Position = fromPos;
@ -7678,6 +7664,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
protected virtual void RegisterInterfaces() protected virtual void RegisterInterfaces()
{ {
RegisterInterface<IClientIM>(this); RegisterInterface<IClientIM>(this);
RegisterInterface<IClientChat>(this);
} }
public bool TryGet<T>(out T iface) public bool TryGet<T>(out T iface)