}
set {
- if (!MonoIO.SetFileAttributes (FullName, value))
- throw MonoIO.GetException ();
+ MonoIOError error;
+
+ if (!MonoIO.SetFileAttributes (FullName,
+ value,
+ out error))
+ throw MonoIO.GetException (error);
+ Refresh (true);
}
}
set {
long filetime = value.ToFileTime ();
- if (!MonoIO.SetFileTime (FullName, filetime, -1, -1))
- throw MonoIO.GetException ();
+ MonoIOError error;
+
+ if (!MonoIO.SetFileTime (FullName, filetime,
+ -1, -1, out error))
+ throw MonoIO.GetException (error);
+ Refresh (true);
+ }
+ }
+
+ public DateTime CreationTimeUtc {
+ get {
+ return CreationTime.ToUniversalTime ();
+ }
+
+ set {
+ CreationTime = value.ToLocalTime ();
}
}
set {
long filetime = value.ToFileTime ();
- if (!MonoIO.SetFileTime (FullName, -1, filetime, -1))
- throw MonoIO.GetException ();
+ MonoIOError error;
+
+ if (!MonoIO.SetFileTime (FullName, -1,
+ filetime, -1,
+ out error))
+ throw MonoIO.GetException (error);
+ Refresh (true);
+ }
+ }
+
+ public DateTime LastAccessTimeUtc {
+ get {
+ Refresh (false);
+ return LastAccessTime.ToUniversalTime ();
+ }
+
+ set {
+ LastAccessTime = value.ToLocalTime ();
}
}
set {
long filetime = value.ToFileTime ();
- if (!MonoIO.SetFileTime (FullName, -1, -1, filetime))
- throw MonoIO.GetException ();
+ MonoIOError error;
+
+ if (!MonoIO.SetFileTime (FullName, -1, -1,
+ filetime, out error))
+ throw MonoIO.GetException (error);
+ Refresh (true);
+ }
+ }
+
+ public DateTime LastWriteTimeUtc {
+ get {
+ Refresh (false);
+ return LastWriteTime.ToUniversalTime ();
+ }
+
+ set {
+ LastWriteTime = value.ToLocalTime ();
}
}
if (valid && !force)
return;
- MonoIO.GetFileStat (FullName, out stat);
+ MonoIOError error;
+
+ MonoIO.GetFileStat (FullName, out stat, out error);
valid = true;
+
+ InternalRefresh ();
+ }
+
+ internal virtual void InternalRefresh ()
+ {
}
internal void CheckPath (string path)