aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/IClientFileTransfer.cs5
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs17
2 files changed, 15 insertions, 7 deletions
diff --git a/OpenSim/Framework/IClientFileTransfer.cs b/OpenSim/Framework/IClientFileTransfer.cs
index d033a0d..832164e 100644
--- a/OpenSim/Framework/IClientFileTransfer.cs
+++ b/OpenSim/Framework/IClientFileTransfer.cs
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
@@ -33,10 +33,11 @@ using OpenMetaverse;
33namespace OpenSim.Framework 33namespace OpenSim.Framework
34{ 34{
35 public delegate void UploadComplete(string filename, UUID fileID, byte[] fileData, IClientAPI remoteClient); 35 public delegate void UploadComplete(string filename, UUID fileID, byte[] fileData, IClientAPI remoteClient);
36 public delegate void UploadAborted(string filename, ulong id, IClientAPI remoteClient); 36 public delegate void UploadAborted(string filename, UUID fileID, ulong transferID, IClientAPI remoteClient);
37 37
38 public interface IClientFileTransfer 38 public interface IClientFileTransfer
39 { 39 {
40 bool RequestUpload(string clientFileName, UploadComplete uploadCompleteCallback, UploadAborted abortCallback); 40 bool RequestUpload(string clientFileName, UploadComplete uploadCompleteCallback, UploadAborted abortCallback);
41 bool RequestUpload(UUID fileID, UploadComplete uploadCompleteCallback, UploadAborted abortCallback);
41 } 42 }
42} 43}
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs
index b93c37c..9d7b39e 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
@@ -95,6 +95,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
95 private bool StartUpload(XferHandler uploader, UploadComplete uploadCompleteCallback, UploadAborted abortCallback) 95 private bool StartUpload(XferHandler uploader, UploadComplete uploadCompleteCallback, UploadAborted abortCallback)
96 { 96 {
97 uploader.UploadDone += uploadCompleteCallback; 97 uploader.UploadDone += uploadCompleteCallback;
98 uploader.UploadDone += RemoveXferHandler;
98 99
99 if (abortCallback != null) 100 if (abortCallback != null)
100 { 101 {
@@ -113,6 +114,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
113 { 114 {
114 // something went wrong with the xferID allocation 115 // something went wrong with the xferID allocation
115 uploader.UploadDone -= uploadCompleteCallback; 116 uploader.UploadDone -= uploadCompleteCallback;
117 uploader.UploadDone -= RemoveXferHandler;
116 if (abortCallback != null) 118 if (abortCallback != null)
117 { 119 {
118 uploader.UploadAborted -= abortCallback; 120 uploader.UploadAborted -= abortCallback;
@@ -144,6 +146,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
144 } 146 }
145 } 147 }
146 } 148 }
149
150 protected void RemoveXferHandler(string filename, UUID fileID, byte[] fileData, IClientAPI remoteClient)
151 {
152
153 }
147 } 154 }
148 155
149 public class XferHandler 156 public class XferHandler
@@ -186,7 +193,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
186 m_asset.FullID = fileID; 193 m_asset.FullID = fileID;
187 m_asset.Type = type; 194 m_asset.Type = type;
188 m_asset.Data = new byte[0]; 195 m_asset.Data = new byte[0];
189 m_asset.Name = null; 196 m_asset.Name = String.Empty;
190 m_asset.Description = "empty"; 197 m_asset.Description = "empty";
191 m_asset.Local = true; 198 m_asset.Local = true;
192 m_asset.Temporary = true; 199 m_asset.Temporary = true;
@@ -200,7 +207,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
200 207
201 public void RequestStartXfer(IClientAPI pRemoteClient) 208 public void RequestStartXfer(IClientAPI pRemoteClient)
202 { 209 {
203 if (m_asset.Name != null) 210 if (!String.IsNullOrEmpty(m_asset.Name) )
204 { 211 {
205 pRemoteClient.SendXferRequest(mXferID, m_asset.Type, m_asset.FullID, 0, Utils.StringToBytes(m_asset.Name)); 212 pRemoteClient.SendXferRequest(mXferID, m_asset.Type, m_asset.FullID, 0, Utils.StringToBytes(m_asset.Name));
206 } 213 }
@@ -259,8 +266,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
259 handlerAbort = UploadAborted; 266 handlerAbort = UploadAborted;
260 if (handlerAbort != null) 267 if (handlerAbort != null)
261 { 268 {
262 handlerAbort(m_asset.Name, mXferID, remoteClient); 269 handlerAbort(m_asset.Name, m_asset.FullID, mXferID, remoteClient);
263 } 270 }
264 } 271 }
265 } 272 }
266} 273} \ No newline at end of file