Logo Search packages:      
Sourcecode: f-spot version File versions

Unix.cs

using System.Runtime.InteropServices;

namespace FSpot {
      class Unix {

            [DllImport ("libc")]
            static extern int rename (string oldpath, string newpath);
            
            public static int Rename (string oldpath, string newpath)
            {
                  return rename (oldpath, newpath);
            }

            [DllImport ("libc")]
            static extern int mkstemp (byte []template);

            public static Mono.Unix.UnixStream MakeSafeTemp (ref string template)
            {
                  byte [] template_bytes = System.Text.Encoding.UTF8.GetBytes (template + ".XXXXXX\0");

                  int fd = mkstemp (template_bytes);

                  if (fd < 0) {
                        //Mono.Unix.Error error = Mono.Unix.Stdlib.GetLastError ();
                        throw new System.ApplicationException (Mono.Unix.Catalog.GetString ("Unable to create temporary file"));
                  }

                  template = System.Text.Encoding.UTF8.GetString (template_bytes, 0, template_bytes.Length - 1);
                  return new Mono.Unix.UnixStream (fd);
            }
      }
}

Generated by  Doxygen 1.6.0   Back to index