From 27c595c00744b9601a49b64f74b686f838e7209e Mon Sep 17 00:00:00 2001
From: MW
Date: Thu, 12 Jul 2007 13:09:39 +0000
Subject: Cleaning up some of the CAPS functions, Asset uploads now use the new
 LLSDStreamhandler system.

---
 OpenSim/Framework/General/Interfaces/IClientAPI.cs |   4 +-
 OpenSim/Region/Capabilities/Caps.cs                | 125 ++++++++-------------
 .../Region/Capabilities/LLSDAssetUploadComplete.cs |  44 ++++++++
 .../Region/Capabilities/LLSDAssetUploadRequest.cs  |  21 ++++
 .../Region/Capabilities/LLSDAssetUploadResponse.cs |  18 +++
 OpenSim/Region/Capabilities/LLSDUploadReply.cs     |  44 --------
 OpenSim/Region/ClientStack/ClientView.API.cs       |  14 +--
 OpenSim/Region/Environment/Scenes/Primitive.cs     |   2 +-
 8 files changed, 139 insertions(+), 133 deletions(-)
 create mode 100644 OpenSim/Region/Capabilities/LLSDAssetUploadComplete.cs
 create mode 100644 OpenSim/Region/Capabilities/LLSDAssetUploadRequest.cs
 create mode 100644 OpenSim/Region/Capabilities/LLSDAssetUploadResponse.cs
 delete mode 100644 OpenSim/Region/Capabilities/LLSDUploadReply.cs

diff --git a/OpenSim/Framework/General/Interfaces/IClientAPI.cs b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
index fe1e9dc..d409ebe 100644
--- a/OpenSim/Framework/General/Interfaces/IClientAPI.cs
+++ b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
@@ -174,8 +174,8 @@ namespace OpenSim.Framework.Interfaces
         void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
         void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID , uint flags);
         void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags);
-        void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, LLUUID textureID, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
-        void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLUUID textureID, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
+        void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
+        void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
         void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
     
         void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items);
diff --git a/OpenSim/Region/Capabilities/Caps.cs b/OpenSim/Region/Capabilities/Caps.cs
index 6373f6e..7216691 100644
--- a/OpenSim/Region/Capabilities/Caps.cs
+++ b/OpenSim/Region/Capabilities/Caps.cs
@@ -48,8 +48,8 @@ namespace OpenSim.Region.Capabilities
         private string m_requestPath = "0000/";
         private string m_mapLayerPath = "0001/";
         private string m_newInventory = "0002/";
-        private string m_requestTexture = "0003/";
-        private string eventQueue = "0100/";
+       // private string m_requestTexture = "0003/";
+        //private string eventQueue = "0100/";
         private BaseHttpServer httpListener;
         private LLUUID agentID;
         private AssetCache assetCache;
@@ -74,17 +74,12 @@ namespace OpenSim.Region.Capabilities
             Console.WriteLine("registering CAPS handlers");
             string capsBase = "/CAPS/" + m_capsObjectPath;
 
-
-            AddLegacyCapsHandler( httpListener, m_mapLayerPath, MapLayer);
-
-          //  httpListener.AddStreamHandler(
-               // new LLSDStreamhandler<LLSDMapRequest, LLSDMapLayerResponse>("POST", capsBase + m_mapLayerPath, this.GetMapLayer ));
+            httpListener.AddStreamHandler(new LLSDStreamhandler<LLSDMapRequest, LLSDMapLayerResponse>("POST", capsBase + m_mapLayerPath, this.GetMapLayer ));
+            httpListener.AddStreamHandler( new LLSDStreamhandler<LLSDAssetUploadRequest, LLSDAssetUploadResponse>("POST", capsBase + m_newInventory, this.NewAgentInventoryRequest));
 
             AddLegacyCapsHandler(httpListener, m_requestPath, CapsRequest);                       
-            AddLegacyCapsHandler(httpListener, m_newInventory, NewAgentInventory);
-            AddLegacyCapsHandler( httpListener, eventQueue, ProcessEventQueue);
-            AddLegacyCapsHandler( httpListener, m_requestTexture, RequestTexture);
-
+          //  AddLegacyCapsHandler( httpListener, eventQueue, ProcessEventQueue);
+          //  AddLegacyCapsHandler( httpListener, m_requestTexture, RequestTexture);
         }
 
         [Obsolete("Use BaseHttpServer.AddStreamHandler(new LLSDStreamHandler( LLSDMethod delegate )) instead.")]
@@ -103,9 +98,7 @@ namespace OpenSim.Region.Capabilities
         /// <returns></returns>
         public string CapsRequest(string request, string path, string param)
         {
-           // Console.WriteLine("Caps Request " + request);
-            string result = ""; 
-            result = LLSDHelpers.SerialiseLLSDReply(this.GetCapabilities());
+            string result = LLSDHelpers.SerialiseLLSDReply(this.GetCapabilities());
             return result;
         }
 
@@ -117,55 +110,33 @@ namespace OpenSim.Region.Capabilities
         {
             LLSDCapsDetails caps = new LLSDCapsDetails();
             string capsBaseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + m_capsObjectPath;
-            
             caps.MapLayer = capsBaseUrl + m_mapLayerPath;
             caps.NewFileAgentInventory = capsBaseUrl + m_newInventory;
-            
             return caps;
         }
 
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="request"></param>
-        /// <param name="path"></param>
-        /// <param name="param"></param>
+        /// <param name="mapReq"></param>
         /// <returns></returns>
-        public string MapLayer(string request, string path, string param)
-        {
-            Console.WriteLine("map request: " + request);
-            Encoding _enc = Encoding.UTF8;
-            Hashtable hash = (Hashtable)LLSD.LLSDDeserialize(_enc.GetBytes(request));
-            LLSDMapRequest mapReq = new LLSDMapRequest();
-            LLSDHelpers.DeserialiseLLSDMap(hash, mapReq);
-
-            LLSDMapLayerResponse mapResponse = new LLSDMapLayerResponse();
-            mapResponse.LayerData.Array.Add(this.BuildLLSDMapLayerResponse());
-            string res = LLSDHelpers.SerialiseLLSDReply(mapResponse);
-
-            return res;
-        }
-
         public LLSDMapLayerResponse GetMapLayer(LLSDMapRequest mapReq)
         {
-            Console.WriteLine("Map request " + mapReq.Flags);
             LLSDMapLayerResponse mapResponse = new LLSDMapLayerResponse();
-            mapResponse.LayerData.Array.Add(this.BuildLLSDMapLayerResponse());
+            mapResponse.LayerData.Array.Add(this.GetLLSDMapLayerResponse());
             return mapResponse;
         }
 
-        
         /// <summary>
         /// 
         /// </summary>
         /// <returns></returns>
-        protected LLSDMapLayer BuildLLSDMapLayerResponse()
+        protected LLSDMapLayer GetLLSDMapLayerResponse()
         {
             LLSDMapLayer mapLayer = new LLSDMapLayer();
             mapLayer.Right = 5000;
             mapLayer.Top = 5000;
             mapLayer.ImageID = new LLUUID("00000000-0000-0000-9999-000000000006");
-
             return mapLayer;
         }
 
@@ -182,6 +153,7 @@ namespace OpenSim.Region.Capabilities
             return "";
         }
 
+        #region EventQueue (Currently not enabled)
         /// <summary>
         /// 
         /// </summary>
@@ -240,36 +212,29 @@ namespace OpenSim.Region.Capabilities
             eventQueueCount++;
             return res;
         }
-
+        #endregion
+        
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="request"></param>
-        /// <param name="path"></param>
-        /// <param name="param"></param>
+        /// <param name="llsdRequest"></param>
         /// <returns></returns>
-        public string NewAgentInventory(string request, string path, string param)
+        public LLSDAssetUploadResponse NewAgentInventoryRequest(LLSDAssetUploadRequest llsdRequest)
         {
-            //Console.WriteLine("received upload request:"+ request);
-            string res = "";
+            string capsBase = "/CAPS/" + m_capsObjectPath;
             LLUUID newAsset = LLUUID.Random();
             LLUUID newInvItem = LLUUID.Random();
             string uploaderPath = Util.RandomClass.Next(5000, 8000).ToString("0000");
-            AssetUploader uploader = new AssetUploader(newAsset, newInvItem, uploaderPath, this.httpListener);
 
-            string capsBase = "/CAPS/" + m_capsObjectPath;
+            AssetUploader uploader = new AssetUploader(newAsset, newInvItem, capsBase + uploaderPath, this.httpListener);
             httpListener.AddStreamHandler(new BinaryStreamHandler("POST", capsBase + uploaderPath, uploader.uploaderCaps));
-            
+            string uploaderURL = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + capsBase + uploaderPath;
 
-            string uploaderURL = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + m_capsObjectPath +uploaderPath;
-            //Console.WriteLine("uploader url is " + uploaderURL);
-            res += "<llsd><map>";
-            res += "<key>uploader</key><string>" + uploaderURL + "</string>";
-            //res += "<key>success</key><boolean>true</boolean>";
-            res += "<key>state</key><string>upload</string>";
-            res += "</map></llsd>";
-            uploader.OnUpLoad += this.UploadHandler;
-            return res;
+            LLSDAssetUploadResponse uploadResponse = new LLSDAssetUploadResponse();
+            uploadResponse.uploader = uploaderURL;
+            uploadResponse.state = "upload";
+            uploader.OnUpLoad += this.UploadCompleteHandler;
+            return uploadResponse;
         }
 
         /// <summary>
@@ -278,9 +243,8 @@ namespace OpenSim.Region.Capabilities
         /// <param name="assetID"></param>
         /// <param name="inventoryItem"></param>
         /// <param name="data"></param>
-        public void UploadHandler(LLUUID assetID, LLUUID inventoryItem, byte[] data)
+        public void UploadCompleteHandler(LLUUID assetID, LLUUID inventoryItem, byte[] data)
         {
-            // Console.WriteLine("upload handler called");
             AssetBase asset;
             asset = new AssetBase();
             asset.FullID = assetID;
@@ -299,42 +263,45 @@ namespace OpenSim.Region.Capabilities
             private LLUUID newAssetID;
             private LLUUID inventoryItemID;
             private BaseHttpServer httpListener;
+
+            /// <summary>
+            /// 
+            /// </summary>
+            /// <param name="assetID"></param>
+            /// <param name="inventoryItem"></param>
+            /// <param name="path"></param>
+            /// <param name="httpServer"></param>
             public AssetUploader(LLUUID assetID, LLUUID inventoryItem, string path, BaseHttpServer httpServer)
             {
                 newAssetID = assetID;
                 inventoryItemID = inventoryItem;
                 uploaderPath = path;
                 httpListener = httpServer;
-
             }
 
+            /// <summary>
+            /// 
+            /// </summary>
+            /// <param name="data"></param>
+            /// <param name="path"></param>
+            /// <param name="param"></param>
+            /// <returns></returns>
             public string uploaderCaps(byte[] data, string path, string param)
             {
-                //Encoding _enc = Encoding.UTF8;
-                //byte[] data = _enc.GetBytes(request);
-                //Console.WriteLine("recieved upload " + Util.FieldToString(data));
                 LLUUID inv = this.inventoryItemID;
                 string res = "";
-                res += "<llsd><map>";
-                res += "<key>new_asset</key><string>" + newAssetID.ToStringHyphenated() + "</string>";
-                res += "<key>new_inventory_item</key><uuid>" + inv.ToStringHyphenated() + "</uuid>";
-                res += "<key>state</key><string>complete</string>";
-                res += "</map></llsd>";
-
-               // Console.WriteLine("asset " + newAssetID.ToStringHyphenated() + " , inventory item " + inv.ToStringHyphenated());
-                httpListener.RemoveStreamHandler("POST", "/CAPS/" + uploaderPath);
+                LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete();
+                uploadComplete.new_asset = newAssetID.ToStringHyphenated();
+                uploadComplete.new_inventory_item = inv;
+                uploadComplete.state = "complete";
+                res = LLSDHelpers.SerialiseLLSDReply(uploadComplete);
+             
+                httpListener.RemoveStreamHandler("POST", uploaderPath);
                 
                 if (OnUpLoad != null)
                 {
                     OnUpLoad(newAssetID, inv, data);
                 }
-
-                /*
-                FileStream fs = File.Create("upload.jp2");
-                BinaryWriter bw = new BinaryWriter(fs);
-                bw.Write(data);
-                bw.Close();
-                fs.Close();*/
                 return res;
             }
         }
diff --git a/OpenSim/Region/Capabilities/LLSDAssetUploadComplete.cs b/OpenSim/Region/Capabilities/LLSDAssetUploadComplete.cs
new file mode 100644
index 0000000..1b78353
--- /dev/null
+++ b/OpenSim/Region/Capabilities/LLSDAssetUploadComplete.cs
@@ -0,0 +1,44 @@
+/*
+* 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.
+* 
+*/
+using libsecondlife;
+
+namespace OpenSim.Region.Capabilities
+{
+    [LLSDType("MAP")]
+    public class LLSDAssetUploadComplete
+    {
+        public string new_asset = "";
+        public LLUUID new_inventory_item = LLUUID.Zero;
+        public string state = "";
+
+        public LLSDAssetUploadComplete()
+        {
+
+        }
+    }
+}
diff --git a/OpenSim/Region/Capabilities/LLSDAssetUploadRequest.cs b/OpenSim/Region/Capabilities/LLSDAssetUploadRequest.cs
new file mode 100644
index 0000000..7ef77cb
--- /dev/null
+++ b/OpenSim/Region/Capabilities/LLSDAssetUploadRequest.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using libsecondlife;
+
+namespace OpenSim.Region.Capabilities
+{
+    [LLSDMap]
+    public class LLSDAssetUploadRequest
+    {
+        public string asset_type = "";
+        public string description = "";
+        public LLUUID folder_id = LLUUID.Zero;
+        public string inventory_type = "";
+        public string name = "";
+
+        public LLSDAssetUploadRequest()
+        {
+        }
+    }
+}
diff --git a/OpenSim/Region/Capabilities/LLSDAssetUploadResponse.cs b/OpenSim/Region/Capabilities/LLSDAssetUploadResponse.cs
new file mode 100644
index 0000000..1a620ae
--- /dev/null
+++ b/OpenSim/Region/Capabilities/LLSDAssetUploadResponse.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace OpenSim.Region.Capabilities
+{
+    [LLSDMap]
+    public class LLSDAssetUploadResponse
+    {
+        public string uploader = "";
+        public string state = "";
+
+        public LLSDAssetUploadResponse()
+        {
+
+        }
+    }
+}
diff --git a/OpenSim/Region/Capabilities/LLSDUploadReply.cs b/OpenSim/Region/Capabilities/LLSDUploadReply.cs
deleted file mode 100644
index 023a056..0000000
--- a/OpenSim/Region/Capabilities/LLSDUploadReply.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-* 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.
-* 
-*/
-using libsecondlife;
-
-namespace OpenSim.Region.Capabilities
-{
-    [LLSDType("MAP")]
-    public class LLSDUploadReply
-    {
-        public string new_asset = "";
-        public LLUUID new_inventory_item = LLUUID.Zero;
-        public string state = "";
-
-        public LLSDUploadReply()
-        {
-
-        }
-    }
-}
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs
index b9eba3a..e88995f 100644
--- a/OpenSim/Region/ClientStack/ClientView.API.cs
+++ b/OpenSim/Region/ClientStack/ClientView.API.cs
@@ -766,13 +766,13 @@ namespace OpenSim.Region.ClientStack
         }
 
 
-        public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, LLUUID textureID, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID)
+        public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID)
         {
             ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
             outPacket.RegionData.RegionHandle = regionHandle;
             outPacket.RegionData.TimeDilation = timeDilation;
             outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
-            outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, textureID, flags);
+            outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags);
             outPacket.ObjectData[0].ID = localID;
             outPacket.ObjectData[0].FullID = objectID;
             outPacket.ObjectData[0].OwnerID = ownerID;
@@ -785,13 +785,13 @@ namespace OpenSim.Region.ClientStack
             OutPacket(outPacket);
         }
 
-        public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLUUID textureID, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID)
+        public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID)
         {
             ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
             outPacket.RegionData.RegionHandle = regionHandle;
             outPacket.RegionData.TimeDilation = timeDilation;
             outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
-            outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, textureID, flags);
+            outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primShape, flags);
             outPacket.ObjectData[0].ID = localID;
             outPacket.ObjectData[0].FullID = objectID;
             outPacket.ObjectData[0].OwnerID = ownerID;
@@ -996,12 +996,12 @@ namespace OpenSim.Region.ClientStack
         /// </summary>
         /// <param name="primData"></param>
         /// <returns></returns>
-        protected ObjectUpdatePacket.ObjectDataBlock CreatePrimUpdateBlock(PrimitiveBaseShape primShape, LLUUID textureID, uint flags)
+        protected ObjectUpdatePacket.ObjectDataBlock CreatePrimUpdateBlock(PrimitiveBaseShape primShape, uint flags)
         {
             ObjectUpdatePacket.ObjectDataBlock objupdate = new ObjectUpdatePacket.ObjectDataBlock();
             this.SetDefaultPrimPacketValues(objupdate);
             objupdate.UpdateFlags = flags;
-            this.SetPrimPacketShapeData(objupdate, primShape, textureID);
+            this.SetPrimPacketShapeData(objupdate, primShape);
 
             return objupdate;
         }
@@ -1040,7 +1040,7 @@ namespace OpenSim.Region.ClientStack
             objectData.PathTwistBegin = primData.PathTwistBegin;
         }
 
-        protected void SetPrimPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData, PrimitiveBaseShape primData, LLUUID textureID)
+        protected void SetPrimPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData, PrimitiveBaseShape primData)
         {
             
             objectData.TextureEntry = primData.TextureEntry;
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs
index d28e480..5cb2930 100644
--- a/OpenSim/Region/Environment/Scenes/Primitive.cs
+++ b/OpenSim/Region/Environment/Scenes/Primitive.cs
@@ -542,7 +542,7 @@ namespace OpenSim.Region.Environment.Scenes
             LLQuaternion lRot;
             lRot = new LLQuaternion(this.Rotation.x, this.Rotation.y, this.Rotation.z, this.Rotation.w);
 
-            remoteClient.SendPrimitiveToClient(this.m_regionHandle, 64096, this.LocalId, this.m_Shape, lPos, lRot, new LLUUID("00000000-0000-0000-9999-000000000005"), this.m_flags, this.uuid, this.OwnerID, this.Text, this.ParentID);
+            remoteClient.SendPrimitiveToClient(this.m_regionHandle, 64096, this.LocalId, this.m_Shape, lPos, lRot, this.m_flags, this.uuid, this.OwnerID, this.Text, this.ParentID);
         }
 
         /// <summary>
-- 
cgit v1.1