aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/IClientAPI.cs270
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs19
2 files changed, 187 insertions, 102 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 0e88dbd..061676e 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -33,6 +33,7 @@ using OpenMetaverse.Packets;
33 33
34namespace OpenSim.Framework 34namespace OpenSim.Framework
35{ 35{
36
36 #region Client API Delegate definitions 37 #region Client API Delegate definitions
37 38
38 public delegate void ViewerEffectEventHandler(IClientAPI sender, List<ViewerEffectEventHandlerArg> args); 39 public delegate void ViewerEffectEventHandler(IClientAPI sender, List<ViewerEffectEventHandlerArg> args);
@@ -46,9 +47,13 @@ namespace OpenSim.Framework
46 public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e); 47 public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e);
47 48
48 public delegate void ImprovedInstantMessage(IClientAPI remoteclient, 49 public delegate void ImprovedInstantMessage(IClientAPI remoteclient,
49 UUID fromAgentID, UUID fromAgentSession, UUID toAgentID, UUID imSessionID, uint timestamp, 50 UUID fromAgentID, UUID fromAgentSession, UUID toAgentID,
50 string fromAgentName, string message, byte dialog, bool fromGroup, byte offline, uint ParentEstateID, 51 UUID imSessionID, uint timestamp,
51 Vector3 Position, UUID RegionID, byte[] binaryBucket); // This shouldn't be cut down... 52 string fromAgentName, string message, byte dialog, bool fromGroup,
53 byte offline, uint ParentEstateID,
54 Vector3 Position, UUID RegionID, byte[] binaryBucket);
55
56 // This shouldn't be cut down...
52 // especially if we're ever going to implement groups, presence, estate message dialogs... 57 // especially if we're ever going to implement groups, presence, estate message dialogs...
53 58
54 public delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, 59 public delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
@@ -57,7 +62,8 @@ namespace OpenSim.Framework
57 62
58 public delegate UUID RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); 63 public delegate UUID RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
59 64
60 public delegate void ObjectAttach(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, Quaternion rot, bool silent); 65 public delegate void ObjectAttach(
66 IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, Quaternion rot, bool silent);
61 67
62 public delegate void ModifyTerrain( 68 public delegate void ModifyTerrain(
63 float height, float seconds, byte size, byte action, float north, float west, float south, float east, 69 float height, float seconds, byte size, byte action, float north, float west, float south, float east,
@@ -95,7 +101,9 @@ namespace OpenSim.Framework
95 101
96 // really don't want to be passing packets in these events, so this is very temporary. 102 // really don't want to be passing packets in these events, so this is very temporary.
97 public delegate void GenericCall4(Packet packet, IClientAPI remoteClient); 103 public delegate void GenericCall4(Packet packet, IClientAPI remoteClient);
98 public delegate void DeRezObject(IClientAPI remoteClient, uint localID, UUID groupID, byte destination, UUID destinationID); 104
105 public delegate void DeRezObject(
106 IClientAPI remoteClient, uint localID, UUID groupID, byte destination, UUID destinationID);
99 107
100 public delegate void GenericCall5(IClientAPI remoteClient, bool status); 108 public delegate void GenericCall5(IClientAPI remoteClient, bool status);
101 109
@@ -111,9 +119,11 @@ namespace OpenSim.Framework
111 IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID TaskID); 119 IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID TaskID);
112 120
113 public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient); 121 public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient);
122
114 public delegate void ObjectDrop(uint localID, IClientAPI remoteClient); 123 public delegate void ObjectDrop(uint localID, IClientAPI remoteClient);
115 124
116 public delegate void UpdatePrimFlags(uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, IClientAPI remoteClient); 125 public delegate void UpdatePrimFlags(
126 uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, IClientAPI remoteClient);
117 127
118 public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient); 128 public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient);
119 129
@@ -129,7 +139,8 @@ namespace OpenSim.Framework
129 139
130 public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID, 140 public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID,
131 UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart, 141 UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart,
132 bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates); 142 bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters,
143 bool CopyRotates);
133 144
134 145
135 public delegate void StatusChange(bool status); 146 public delegate void StatusChange(bool status);
@@ -145,9 +156,12 @@ namespace OpenSim.Framework
145 public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery 156 public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery
146 ); 157 );
147 158
148 public delegate void GrabObject(uint localID, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs); 159 public delegate void GrabObject(
160 uint localID, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
149 161
150 public delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs); 162 public delegate void MoveObject(
163 UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs
164 );
151 165
152 public delegate void ParcelAccessListRequest( 166 public delegate void ParcelAccessListRequest(
153 UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client); 167 UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client);
@@ -170,12 +184,17 @@ namespace OpenSim.Framework
170 public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client); 184 public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
171 185
172 public delegate void ParcelAbandonRequest(int local_id, IClientAPI remote_client); 186 public delegate void ParcelAbandonRequest(int local_id, IClientAPI remote_client);
187
173 public delegate void ParcelGodForceOwner(int local_id, UUID ownerID, IClientAPI remote_client); 188 public delegate void ParcelGodForceOwner(int local_id, UUID ownerID, IClientAPI remote_client);
189
174 public delegate void ParcelReclaim(int local_id, IClientAPI remote_client); 190 public delegate void ParcelReclaim(int local_id, IClientAPI remote_client);
175 191
176 public delegate void ParcelReturnObjectsRequest(int local_id, uint return_type, UUID[] agent_ids, UUID[] selected_ids, IClientAPI remote_client); 192 public delegate void ParcelReturnObjectsRequest(
193 int local_id, uint return_type, UUID[] agent_ids, UUID[] selected_ids, IClientAPI remote_client);
177 194
178 public delegate void EstateOwnerMessageRequest(UUID AgentID, UUID SessionID, UUID TransactionID, UUID Invoice, byte[] Method, byte[][] Parameters, IClientAPI remote_client); 195 public delegate void EstateOwnerMessageRequest(
196 UUID AgentID, UUID SessionID, UUID TransactionID, UUID Invoice, byte[] Method, byte[][] Parameters,
197 IClientAPI remote_client);
179 198
180 public delegate void RegionInfoRequest(IClientAPI remote_client); 199 public delegate void RegionInfoRequest(IClientAPI remote_client);
181 200
@@ -184,10 +203,12 @@ namespace OpenSim.Framework
184 public delegate void UUIDNameRequest(UUID id, IClientAPI remote_client); 203 public delegate void UUIDNameRequest(UUID id, IClientAPI remote_client);
185 204
186 public delegate void AddNewPrim( 205 public delegate void AddNewPrim(
187 UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, 206 UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart,
207 UUID RayTargetID,
188 byte RayEndIsIntersection); 208 byte RayEndIsIntersection);
189 209
190 public delegate void RequestGodlikePowers(UUID AgentID, UUID SessionID, UUID token, bool GodLike, IClientAPI remote_client); 210 public delegate void RequestGodlikePowers(
211 UUID AgentID, UUID SessionID, UUID token, bool GodLike, IClientAPI remote_client);
191 212
192 public delegate void GodKickUser( 213 public delegate void GodKickUser(
193 UUID GodAgentID, UUID GodSessionID, UUID AgentID, uint kickflags, byte[] reason); 214 UUID GodAgentID, UUID GodSessionID, UUID AgentID, uint kickflags, byte[] reason);
@@ -239,7 +260,8 @@ namespace OpenSim.Framework
239 260
240 public delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, UUID transactionID, uint localID); 261 public delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, UUID transactionID, uint localID);
241 262
242 public delegate void UpdateTaskInventory(IClientAPI remoteClient, UUID transactionID, TaskInventoryItem item, uint localID); 263 public delegate void UpdateTaskInventory(
264 IClientAPI remoteClient, UUID transactionID, TaskInventoryItem item, uint localID);
243 265
244 public delegate void MoveTaskInventory(IClientAPI remoteClient, UUID folderID, uint localID, UUID itemID); 266 public delegate void MoveTaskInventory(IClientAPI remoteClient, UUID folderID, uint localID, UUID itemID);
245 267
@@ -255,19 +277,23 @@ namespace OpenSim.Framework
255 277
256 public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID); 278 public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
257 279
258 public delegate void FriendActionDelegate(IClientAPI remoteClient, UUID agentID, UUID transactionID, List<UUID> callingCardFolders); 280 public delegate void FriendActionDelegate(
281 IClientAPI remoteClient, UUID agentID, UUID transactionID, List<UUID> callingCardFolders);
259 282
260 public delegate void FriendshipTermination(IClientAPI remoteClient, UUID agentID, UUID ExID); 283 public delegate void FriendshipTermination(IClientAPI remoteClient, UUID agentID, UUID ExID);
261 284
262 public delegate void MoneyTransferRequest(UUID sourceID, UUID destID, int amount, int transactionType, string description); 285 public delegate void MoneyTransferRequest(
286 UUID sourceID, UUID destID, int amount, int transactionType, string description);
263 287
264 public delegate void ParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned, 288 public delegate void ParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned,
265 bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated); 289 bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice,
290 bool authenticated);
266 291
267 // We keep all this information for fraud purposes in the future. 292 // We keep all this information for fraud purposes in the future.
268 public delegate void MoneyBalanceRequest(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID TransactionID); 293 public delegate void MoneyBalanceRequest(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID TransactionID);
269 294
270 public delegate void ObjectPermissions(IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set); 295 public delegate void ObjectPermissions(
296 IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set);
271 297
272 public delegate void EconomyDataRequest(UUID agentID); 298 public delegate void EconomyDataRequest(UUID agentID);
273 299
@@ -276,56 +302,111 @@ namespace OpenSim.Framework
276 public delegate void ScriptAnswer(IClientAPI remoteClient, UUID objectID, UUID itemID, int answer); 302 public delegate void ScriptAnswer(IClientAPI remoteClient, UUID objectID, UUID itemID, int answer);
277 303
278 public delegate void RequestPayPrice(IClientAPI remoteClient, UUID objectID); 304 public delegate void RequestPayPrice(IClientAPI remoteClient, UUID objectID);
279 public delegate void ObjectSaleInfo(IClientAPI remoteClient, UUID agentID, UUID sessionID, uint localID, byte saleType, int salePrice); 305
280 public delegate void ObjectBuy(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID groupID, UUID categoryID, uint localID, byte saleType, int salePrice); 306 public delegate void ObjectSaleInfo(
281 public delegate void BuyObjectInventory(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID objectID, UUID itemID, UUID folderID); 307 IClientAPI remoteClient, UUID agentID, UUID sessionID, uint localID, byte saleType, int salePrice);
308
309 public delegate void ObjectBuy(
310 IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID groupID, UUID categoryID, uint localID,
311 byte saleType, int salePrice);
312
313 public delegate void BuyObjectInventory(
314 IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID objectID, UUID itemID, UUID folderID);
282 315
283 public delegate void ForceReleaseControls(IClientAPI remoteClient, UUID agentID); 316 public delegate void ForceReleaseControls(IClientAPI remoteClient, UUID agentID);
284 317
285 public delegate void GodLandStatRequest(int parcelID, uint reportType, uint requestflags, string filter, IClientAPI remoteClient); 318 public delegate void GodLandStatRequest(
319 int parcelID, uint reportType, uint requestflags, string filter, IClientAPI remoteClient);
286 320
287 //Estate Requests 321 //Estate Requests
288 public delegate void DetailedEstateDataRequest(IClientAPI remoteClient, UUID invoice); 322 public delegate void DetailedEstateDataRequest(IClientAPI remoteClient, UUID invoice);
289 public delegate void SetEstateFlagsRequest(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor, int matureLevel, bool restrictPushObject, bool allowParcelChanges); 323
324 public delegate void SetEstateFlagsRequest(
325 bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor,
326 int matureLevel, bool restrictPushObject, bool allowParcelChanges);
327
290 public delegate void SetEstateTerrainBaseTexture(IClientAPI remoteClient, int corner, UUID side); 328 public delegate void SetEstateTerrainBaseTexture(IClientAPI remoteClient, int corner, UUID side);
329
291 public delegate void SetEstateTerrainDetailTexture(IClientAPI remoteClient, int corner, UUID side); 330 public delegate void SetEstateTerrainDetailTexture(IClientAPI remoteClient, int corner, UUID side);
292 public delegate void SetEstateTerrainTextureHeights(IClientAPI remoteClient, int corner, float lowVal, float highVal); 331
332 public delegate void SetEstateTerrainTextureHeights(IClientAPI remoteClient, int corner, float lowVal, float highVal
333 );
334
293 public delegate void CommitEstateTerrainTextureRequest(IClientAPI remoteClient); 335 public delegate void CommitEstateTerrainTextureRequest(IClientAPI remoteClient);
294 public delegate void SetRegionTerrainSettings(float waterHeight, float terrainRaiseLimit, float terrainLowerLimit, bool estateSun, bool fixedSun, float sunHour, bool globalSun, bool estateFixed, float estateSunHour); 336
337 public delegate void SetRegionTerrainSettings(
338 float waterHeight, float terrainRaiseLimit, float terrainLowerLimit, bool estateSun, bool fixedSun,
339 float sunHour, bool globalSun, bool estateFixed, float estateSunHour);
340
295 public delegate void EstateChangeInfo(IClientAPI client, UUID invoice, UUID senderID, UInt32 param1, UInt32 param2); 341 public delegate void EstateChangeInfo(IClientAPI client, UUID invoice, UUID senderID, UInt32 param1, UInt32 param2);
296 public delegate void BakeTerrain(IClientAPI remoteClient ); 342
343 public delegate void BakeTerrain(IClientAPI remoteClient);
344
297 public delegate void EstateRestartSimRequest(IClientAPI remoteClient, int secondsTilReboot); 345 public delegate void EstateRestartSimRequest(IClientAPI remoteClient, int secondsTilReboot);
346
298 public delegate void EstateChangeCovenantRequest(IClientAPI remoteClient, UUID newCovenantID); 347 public delegate void EstateChangeCovenantRequest(IClientAPI remoteClient, UUID newCovenantID);
299 public delegate void UpdateEstateAccessDeltaRequest(IClientAPI remote_client, UUID invoice, int estateAccessType, UUID user); 348
300 public delegate void SimulatorBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message); 349 public delegate void UpdateEstateAccessDeltaRequest(
301 public delegate void EstateBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message); 350 IClientAPI remote_client, UUID invoice, int estateAccessType, UUID user);
302 public delegate void EstateDebugRegionRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics); 351
303 public delegate void EstateTeleportOneUserHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey); 352 public delegate void SimulatorBlueBoxMessageRequest(
353 IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message);
354
355 public delegate void EstateBlueBoxMessageRequest(
356 IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message);
357
358 public delegate void EstateDebugRegionRequest(
359 IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics);
360
361 public delegate void EstateTeleportOneUserHomeRequest(
362 IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey);
363
304 public delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID); 364 public delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID);
365
305 public delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID); 366 public delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID);
367
306 public delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID); 368 public delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID);
307 369
308 public delegate void ScriptReset(IClientAPI remoteClient, UUID objectID, UUID itemID); 370 public delegate void ScriptReset(IClientAPI remoteClient, UUID objectID, UUID itemID);
371
309 public delegate void GetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID); 372 public delegate void GetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID);
373
310 public delegate void SetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID, bool running); 374 public delegate void SetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID, bool running);
375
311 public delegate void ActivateGesture(IClientAPI client, UUID gestureid, UUID assetId); 376 public delegate void ActivateGesture(IClientAPI client, UUID gestureid, UUID assetId);
377
312 public delegate void DeactivateGesture(IClientAPI client, UUID gestureid); 378 public delegate void DeactivateGesture(IClientAPI client, UUID gestureid);
313 379
314 public delegate void TerrainUnacked(IClientAPI remoteClient, int patchX, int patchY); 380 public delegate void TerrainUnacked(IClientAPI remoteClient, int patchX, int patchY);
381
315 public delegate void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List<uint> localIDs); 382 public delegate void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List<uint> localIDs);
316 383
317 public delegate void DirPlacesQuery(IClientAPI remoteClient, UUID queryID, string queryText, int queryFlags, int category, string simName, int queryStart); 384 public delegate void DirPlacesQuery(
318 public delegate void DirFindQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart); 385 IClientAPI remoteClient, UUID queryID, string queryText, int queryFlags, int category, string simName,
319 public delegate void DirLandQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags, uint searchType, int price, int area, int queryStart); 386 int queryStart);
387
388 public delegate void DirFindQuery(
389 IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart);
390
391 public delegate void DirLandQuery(
392 IClientAPI remoteClient, UUID queryID, uint queryFlags, uint searchType, int price, int area, int queryStart);
393
320 public delegate void DirPopularQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags); 394 public delegate void DirPopularQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags);
321 public delegate void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category, int queryStart); 395
396 public delegate void DirClassifiedQuery(
397 IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category, int queryStart);
398
322 public delegate void EventInfoRequest(IClientAPI remoteClient, uint eventID); 399 public delegate void EventInfoRequest(IClientAPI remoteClient, uint eventID);
400
323 public delegate void ParcelSetOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime); 401 public delegate void ParcelSetOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime);
324 402
325 public delegate void MapItemRequest(IClientAPI remoteClient, uint flags, uint EstateID, bool godlike, uint itemtype, ulong regionhandle); 403 public delegate void MapItemRequest(
404 IClientAPI remoteClient, uint flags, uint EstateID, bool godlike, uint itemtype, ulong regionhandle);
326 405
327 public delegate void OfferCallingCard(IClientAPI remoteClient, UUID destID, UUID transactionID); 406 public delegate void OfferCallingCard(IClientAPI remoteClient, UUID destID, UUID transactionID);
407
328 public delegate void AcceptCallingCard(IClientAPI remoteClient, UUID transactionID, UUID folderID); 408 public delegate void AcceptCallingCard(IClientAPI remoteClient, UUID transactionID, UUID folderID);
409
329 public delegate void DeclineCallingCard(IClientAPI remoteClient, UUID transactionID); 410 public delegate void DeclineCallingCard(IClientAPI remoteClient, UUID transactionID);
330 411
331 #endregion 412 #endregion
@@ -426,16 +507,9 @@ namespace OpenSim.Framework
426 /// </summary> 507 /// </summary>
427 string Name { get; } 508 string Name { get; }
428 509
429 bool IsActive 510 bool IsActive { get; set; }
430 {
431 get;
432 set;
433 }
434 511
435 bool SendLogoutPacketWhenClosing 512 bool SendLogoutPacketWhenClosing { set; }
436 {
437 set;
438 }
439 513
440 // [Obsolete("LLClientView Specific - Circuits are unique to LLClientView")] 514 // [Obsolete("LLClientView Specific - Circuits are unique to LLClientView")]
441 uint CircuitCode { get; } 515 uint CircuitCode { get; }
@@ -598,7 +672,7 @@ namespace OpenSim.Framework
598 event EstateRestartSimRequest OnEstateRestartSimRequest; 672 event EstateRestartSimRequest OnEstateRestartSimRequest;
599 event EstateChangeCovenantRequest OnEstateChangeCovenantRequest; 673 event EstateChangeCovenantRequest OnEstateChangeCovenantRequest;
600 event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest; 674 event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest;
601 event SimulatorBlueBoxMessageRequest OnSimulatorBlueBoxMessageRequest; 675 event SimulatorBlueBoxMessageRequest OnSimulatorBlueBoxMessageRequest;
602 event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; 676 event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
603 event EstateDebugRegionRequest OnEstateDebugRegionRequest; 677 event EstateDebugRegionRequest OnEstateDebugRegionRequest;
604 event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; 678 event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
@@ -626,20 +700,20 @@ namespace OpenSim.Framework
626 event DirClassifiedQuery OnDirClassifiedQuery; 700 event DirClassifiedQuery OnDirClassifiedQuery;
627 event EventInfoRequest OnEventInfoRequest; 701 event EventInfoRequest OnEventInfoRequest;
628 event ParcelSetOtherCleanTime OnParcelSetOtherCleanTime; 702 event ParcelSetOtherCleanTime OnParcelSetOtherCleanTime;
629 703
630 event MapItemRequest OnMapItemRequest; 704 event MapItemRequest OnMapItemRequest;
631 705
632 event OfferCallingCard OnOfferCallingCard; 706 event OfferCallingCard OnOfferCallingCard;
633 event AcceptCallingCard OnAcceptCallingCard; 707 event AcceptCallingCard OnAcceptCallingCard;
634 event DeclineCallingCard OnDeclineCallingCard; 708 event DeclineCallingCard OnDeclineCallingCard;
635 709
636 // void ActivateGesture(UUID assetId, UUID gestureId); 710 // void ActivateGesture(UUID assetId, UUID gestureId);
637 711
638 /// <summary> 712 /// <summary>
639 /// Tell this client what items it should be wearing now 713 /// Tell this client what items it should be wearing now
640 /// </summary> 714 /// </summary>
641 void SendWearables(AvatarWearable[] wearables, int serial); 715 void SendWearables(AvatarWearable[] wearables, int serial);
642 716
643 /// <summary> 717 /// <summary>
644 /// Send information about the given agent's appearance to another client. 718 /// Send information about the given agent's appearance to another client.
645 /// </summary> 719 /// </summary>
@@ -647,25 +721,22 @@ namespace OpenSim.Framework
647 /// <param name="visualParams"></param> 721 /// <param name="visualParams"></param>
648 /// <param name="textureEntry"></param> 722 /// <param name="textureEntry"></param>
649 void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry); 723 void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry);
650 724
651 void SendStartPingCheck(byte seq); 725 void SendStartPingCheck(byte seq);
652 726
653 /// <summary> 727 /// <summary>
654 /// Tell the client that an object has been deleted 728 /// Tell the client that an object has been deleted
655 /// </summary> 729 /// </summary>
656 /// <param name="regionHandle"></param> 730 /// <param name="regionHandle"></param>
657 /// <param name="localID"></param> 731 /// <param name="localID"></param>
658 void SendKillObject(ulong regionHandle, uint localID); 732 void SendKillObject(ulong regionHandle, uint localID);
659 733
660 void SendAnimations(UUID[] animID, int[] seqs, UUID sourceAgentId); 734 void SendAnimations(UUID[] animID, int[] seqs, UUID sourceAgentId);
661 void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args); 735 void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args);
662 736
663 void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, byte source, 737 void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, byte source,
664 byte audible); 738 byte audible);
665 739
666 void SendChatMessage(byte[] message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, byte source,
667 byte audible);
668
669 void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, 740 void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog,
670 uint timeStamp); 741 uint timeStamp);
671 742
@@ -697,7 +768,8 @@ namespace OpenSim.Framework
697 void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance); 768 void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance);
698 void SendPayPrice(UUID objectID, int[] payPrice); 769 void SendPayPrice(UUID objectID, int[] payPrice);
699 770
700 void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID, uint avatarLocalID, 771 void SendAvatarData(ulong regionHandle, string firstName, string lastName, string grouptitle, UUID avatarID,
772 uint avatarLocalID,
701 Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation); 773 Vector3 Pos, byte[] textureEntry, uint parentID, Quaternion rotation);
702 774
703 void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, 775 void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
@@ -711,18 +783,22 @@ namespace OpenSim.Framework
711 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, 783 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
712 Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel, 784 Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel,
713 uint flags, 785 uint flags,
714 UUID objectID, UUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, 786 UUID objectID, UUID ownerID, string text, byte[] color, uint parentID,
715 byte clickAction, byte material, byte[] textureanim, bool attachment, uint AttachPoint, UUID AssetId, UUID SoundId, double SoundVolume, byte SoundFlags, double SoundRadius); 787 byte[] particleSystem,
788 byte clickAction, byte material, byte[] textureanim, bool attachment,
789 uint AttachPoint, UUID AssetId, UUID SoundId, double SoundVolume, byte SoundFlags,
790 double SoundRadius);
716 791
717 792
718 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, 793 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
719 Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel, 794 Vector3 pos, Vector3 vel, Vector3 acc, Quaternion rotation, Vector3 rvel,
720 uint flags, UUID objectID, UUID ownerID, string text, byte[] color, 795 uint flags, UUID objectID, UUID ownerID, string text, byte[] color,
721 uint parentID, byte[] particleSystem, byte clickAction, byte material); 796 uint parentID, byte[] particleSystem, byte clickAction, byte material);
722 797
723 798
724 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position, 799 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, Vector3 position,
725 Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state, UUID AssetId); 800 Quaternion rotation, Vector3 velocity, Vector3 rotationalvelocity, byte state,
801 UUID AssetId);
726 802
727 void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items, 803 void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items,
728 List<InventoryFolderBase> folders, bool fetchFolders, 804 List<InventoryFolderBase> folders, bool fetchFolders,
@@ -752,17 +828,24 @@ namespace OpenSim.Framework
752 void SendXferPacket(ulong xferID, uint packet, byte[] data); 828 void SendXferPacket(ulong xferID, uint packet, byte[] data);
753 829
754 void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit, 830 void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit,
755 int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor, 831 int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent,
756 int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay, 832 float PriceObjectScaleFactor,
757 int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent); 833 int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent,
834 int PricePublicObjectDecay,
835 int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice,
836 float TeleportPriceExponent);
758 837
759 void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data); 838 void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data);
760 839
761 void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle); 840 void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers,
841 string groupname, string grouptitle);
762 842
763 void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID); 843 void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID);
764 void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags); 844 void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags);
765 void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain); 845
846 void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position,
847 float gain);
848
766 void SendAttachedSoundGainChange(UUID objectID, float gain); 849 void SendAttachedSoundGainChange(UUID objectID, float gain);
767 850
768 void SendNameReply(UUID profileId, string firstname, string lastname); 851 void SendNameReply(UUID profileId, string firstname, string lastname);
@@ -770,10 +853,15 @@ namespace OpenSim.Framework
770 853
771 void SendAgentAlertMessage(string message, bool modal); 854 void SendAgentAlertMessage(string message, bool modal);
772 void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url); 855 void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url);
773 void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch, string[] buttonlabels); 856
857 void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch,
858 string[] buttonlabels);
859
774 bool AddMoney(int debit); 860 bool AddMoney(int debit);
775 861
776 void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition); 862 void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear,
863 float OrbitalPosition);
864
777 void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks); 865 void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks);
778 void SendViewerTime(int phase); 866 void SendViewerTime(int phase);
779 UUID GetDefaultAnimation(string name); 867 UUID GetDefaultAnimation(string name);
@@ -791,9 +879,14 @@ namespace OpenSim.Framework
791 879
792 void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args); 880 void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args);
793 void SendEstateCovenantInformation(UUID covenant); 881 void SendEstateCovenantInformation(UUID covenant);
794 void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner);
795 882
796 void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags); 883 void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags,
884 uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner);
885
886 void SendLandProperties(int sequence_id, bool snap_selection, int request_result, LandData landData,
887 float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity,
888 uint regionFlags);
889
797 void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID); 890 void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID);
798 void SendForceClientSelectObjects(List<uint> objectIDs); 891 void SendForceClientSelectObjects(List<uint> objectIDs);
799 void SendLandObjectOwners(Dictionary<UUID, int> ownersAndCount); 892 void SendLandObjectOwners(Dictionary<UUID, int> ownersAndCount);
@@ -822,7 +915,7 @@ namespace OpenSim.Framework
822 /// <param name="ImageData"></param> 915 /// <param name="ImageData"></param>
823 /// <param name="imageCodec"></param> 916 /// <param name="imageCodec"></param>
824 void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec); 917 void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec);
825 918
826 /// <summary> 919 /// <summary>
827 /// Send the next packet for a series of packets making up a single texture, 920 /// Send the next packet for a series of packets making up a single texture,
828 /// as established by SendImageFirstPart() 921 /// as established by SendImageFirstPart()
@@ -831,36 +924,41 @@ namespace OpenSim.Framework
831 /// <param name="imageUuid"></param> 924 /// <param name="imageUuid"></param>
832 /// <param name="imageData"></param> 925 /// <param name="imageData"></param>
833 void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData); 926 void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData);
834 927
835 /// <summary> 928 /// <summary>
836 /// Tell the client that the requested texture cannot be found 929 /// Tell the client that the requested texture cannot be found
837 /// </summary> 930 /// </summary>
838 void SendImageNotFound(UUID imageid); 931 void SendImageNotFound(UUID imageid);
839 932
840 void SendShutdownConnectionNotice(); 933 void SendShutdownConnectionNotice();
841 934
842 /// <summary> 935 /// <summary>
843 /// Send statistical information about the sim to the client. 936 /// Send statistical information about the sim to the client.
844 /// </summary> 937 /// </summary>
845 /// <param name="stats"></param> 938 /// <param name="stats"></param>
846 void SendSimStats(SimStats stats); 939 void SendSimStats(SimStats stats);
847 940
848 void SendObjectPropertiesFamilyData(uint RequestFlags, UUID ObjectUUID, UUID OwnerID, UUID GroupID, 941 void SendObjectPropertiesFamilyData(uint RequestFlags, UUID ObjectUUID, UUID OwnerID, UUID GroupID,
849 uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask, 942 uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask,
850 uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice, uint Category, 943 uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice,
851 UUID LastOwnerID, string ObjectName, string Description); 944 uint Category,
852 945 UUID LastOwnerID, string ObjectName, string Description);
853 void SendObjectPropertiesReply(UUID ItemID, ulong CreationDate, UUID CreatorUUID, UUID FolderUUID, UUID FromTaskUUID, 946
854 UUID GroupUUID, short InventorySerial, UUID LastOwnerUUID, UUID ObjectUUID, 947 void SendObjectPropertiesReply(UUID ItemID, ulong CreationDate, UUID CreatorUUID, UUID FolderUUID,
855 UUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle, string ItemName, 948 UUID FromTaskUUID,
856 string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask, uint EveryoneMask, 949 UUID GroupUUID, short InventorySerial, UUID LastOwnerUUID, UUID ObjectUUID,
857 uint BaseMask, byte saleType, int salePrice); 950 UUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle,
951 string ItemName,
952 string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask,
953 uint EveryoneMask,
954 uint BaseMask, byte saleType, int salePrice);
955
858 void SendAgentOffline(UUID[] agentIDs); 956 void SendAgentOffline(UUID[] agentIDs);
859 957
860 void SendAgentOnline(UUID[] agentIDs); 958 void SendAgentOnline(UUID[] agentIDs);
861 959
862 void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot, 960 void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot,
863 Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook); 961 Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook);
864 962
865 void SendAdminResponse(UUID Token, uint AdminLevel); 963 void SendAdminResponse(UUID Token, uint AdminLevel);
866 964
@@ -882,7 +980,7 @@ namespace OpenSim.Framework
882 /// Set the debug level at which packet output should be printed to console. 980 /// Set the debug level at which packet output should be printed to console.
883 /// </summary> 981 /// </summary>
884 void SetDebugPacketLevel(int newDebug); 982 void SetDebugPacketLevel(int newDebug);
885 983
886 void InPacket(object NewPack); 984 void InPacket(object NewPack);
887 void ProcessInPacket(Packet NewPack); 985 void ProcessInPacket(Packet NewPack);
888 void Close(bool ShutdownCircuit); 986 void Close(bool ShutdownCircuit);
@@ -929,4 +1027,4 @@ namespace OpenSim.Framework
929 1027
930 void KillEndDone(); 1028 void KillEndDone();
931 } 1029 }
932} 1030} \ No newline at end of file
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 2a0f97d..e5a4101 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -52,7 +52,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
52 /// Handles new client connections 52 /// Handles new client connections
53 /// Constructor takes a single Packet and authenticates everything 53 /// Constructor takes a single Packet and authenticates everything
54 /// </summary> 54 /// </summary>
55 public class LLClientView : IClientAPI, IClientCore, IClientIM 55 public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat
56 { 56 {
57 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 57 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
58 58
@@ -1046,26 +1046,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1046 OutPacket(mov, ThrottleOutPacketType.Unknown); 1046 OutPacket(mov, ThrottleOutPacketType.Unknown);
1047 } 1047 }
1048 1048
1049 /// <summary>
1050 ///
1051 /// </summary>
1052 /// <param name="message"></param>
1053 /// <param name="type"></param>
1054 /// <param name="fromPos"></param>
1055 /// <param name="fromName"></param>
1056 /// <param name="fromAgentID"></param>
1057 public void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, 1049 public void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName,
1058 UUID fromAgentID, byte source, byte audible) 1050 UUID fromAgentID, byte source, byte audible)
1059 { 1051 {
1060 SendChatMessage(Utils.StringToBytes(message), type, fromPos, fromName, fromAgentID, source, audible);
1061 }
1062
1063 public void SendChatMessage(byte[] message, byte type, Vector3 fromPos, string fromName,
1064 UUID fromAgentID, byte source, byte audible)
1065 {
1066 ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator); 1052 ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator);
1067 reply.ChatData.Audible = audible; 1053 reply.ChatData.Audible = audible;
1068 reply.ChatData.Message = message; 1054 reply.ChatData.Message = Utils.StringToBytes(message);
1069 reply.ChatData.ChatType = type; 1055 reply.ChatData.ChatType = type;
1070 reply.ChatData.SourceType = source; 1056 reply.ChatData.SourceType = source;
1071 reply.ChatData.Position = fromPos; 1057 reply.ChatData.Position = fromPos;
@@ -7678,6 +7664,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7678 protected virtual void RegisterInterfaces() 7664 protected virtual void RegisterInterfaces()
7679 { 7665 {
7680 RegisterInterface<IClientIM>(this); 7666 RegisterInterface<IClientIM>(this);
7667 RegisterInterface<IClientChat>(this);
7681 } 7668 }
7682 7669
7683 public bool TryGet<T>(out T iface) 7670 public bool TryGet<T>(out T iface)