2008-09-05 Sebastien Pouliot <sebastien@ximian.com>
authorSebastien Pouliot <sebastien@ximian.com>
Fri, 5 Sep 2008 13:35:30 +0000 (13:35 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Fri, 5 Sep 2008 13:35:30 +0000 (13:35 -0000)
* MoonIsolatedStorageFile.cs: Add calls to PreCheck inside EndRead
and EndWrite methods.
* MoonIsolatedStorageFileStream.cs: Throw an IsolatedStorageException
when DeleteFile is called on an unexisting file.

svn path=/trunk/mcs/; revision=112374

mcs/class/corlib/System.IO.IsolatedStorage/ChangeLog
mcs/class/corlib/System.IO.IsolatedStorage/MoonIsolatedStorageFile.cs
mcs/class/corlib/System.IO.IsolatedStorage/MoonIsolatedStorageFileStream.cs

index d7ad28631f083827d306188157bfe71c0709105f..48d52be55c0a88f481681e6ac3fb9df27c6ed8c7 100644 (file)
@@ -1,3 +1,10 @@
+2008-09-05  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * MoonIsolatedStorageFile.cs: Add calls to PreCheck inside EndRead
+       and EndWrite methods.
+       * MoonIsolatedStorageFileStream.cs: Throw an IsolatedStorageException
+       when DeleteFile is called on an unexisting file.
+
 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com> 
 
        * MoonIsolatedStorageFile.cs: Implement Remove. Add a bunch of FIXME 
index 0d494392de6a198f7c451171002d90ae94433cc0..58c484d3db877c97dbbbb34f957df7258e4c8dd5 100644 (file)
@@ -167,7 +167,10 @@ namespace System.IO.IsolatedStorage {
                public void DeleteFile (string file)
                {
                        PreCheck ();
-                       File.Delete (Verify (file));
+                       string checked_filename = Verify (file);
+                       if (!File.Exists (checked_filename))
+                               throw new IsolatedStorageException ("File does not exists");
+                       File.Delete (checked_filename);
                }
 
                public void Dispose ()
index 3ac4f5d9c673e21f5041f1b1fd77ae8538b0adfd..8a0094470e5bb6ecb865eb360f4f5be606b371e0 100644 (file)
@@ -184,11 +184,13 @@ namespace System.IO.IsolatedStorage {
 
                public override int EndRead (IAsyncResult asyncResult)
                {
+                       container.PreCheck ();
                        return base.EndRead (asyncResult);
                }
 
                public override void EndWrite (IAsyncResult asyncResult)
                {
+                       container.PreCheck ();
                        base.EndWrite (asyncResult);
                }
        }