Inheritance: DokanOperations
Ejemplo n.º 1
0
        private PutioFsItem FindPutioFSItem(String path)
        {
            // TODO: Remove this workaround:
            if (Path.GetFileName(path) == "desktop.ini")
            {
                return(null);
            }

            PutioFolder result = this.Mounter.PutioFileSystem.Root;

            foreach (String dir_name in PutioDokanOperations.GetPathElements(Path.GetDirectoryName(path)))
            {
                result = result.GetFolder(dir_name);
                if (result == null)
                {
                    return(null);
                }
            }

            String filename = Path.GetFileName(path);

            if (filename != "")
            {
                return(result.GetItem(filename));
            }
            return((PutioFsItem)result);
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            if (Environment.Version.Major < 4)
            {
                MessageBox.Show("You need to install Microsoft .NET Framework Version 4 in order to use put.io mounter.");
                return;
            }

            WinMounter mounter = new WinMounter(WinMounter.GetAvailableDriveLetter('P'));

            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(mounter.CrashLogger);
            //Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            mounter.SettingsForm = new SettingsForm(mounter);
            mounter.MainWindow   = new MainWindow(mounter);
            mounter.MainWindow.InitializeTrayIcon();
            mounter.MainWindow.GoInvisible();
            mounter.Silent = args.Contains(@"/silent");

            try
            {
                mounter.TryMount(null, null);
                mounter.RefreshCacheSize();
                mounter.MainWindow.notify_icon.Visible = true;
                Application.Run();
                logger.Debug("Exiting.");
                mounter.MainWindow.notify_icon.Visible = false;
            }
            finally
            {
                PutioDokanOperations._DokanUnmount(mounter.DriveLetter);
            }
        }
Ejemplo n.º 3
0
 public void TryUnmount(object Sender, EventArgs e)
 {
     PutioDokanOperations._DokanUnmount(this.DriveLetter);
     try
     {
         this.PutioFileSystem.CleanUp();
     }
     catch { }
     Mounted = false;
     this.MainWindow.ToggleMountUnmount(Mounted);
 }
Ejemplo n.º 4
0
 public static void _DokanMount(object _wm)
 {
     WinMounter wm = (WinMounter)_wm;
     DokanOptions opt = new DokanOptions();
     PutioDokanOperations ops = new PutioDokanOperations(wm);
     opt.DebugMode = false;
     opt.DriveLetter = ops.Mounter.DriveLetter;
     opt.ThreadCount = 5;
     opt.VolumeLabel = "put.io";
     // opt.NetworkDrive = true;
     DokanNet.DokanMain(opt, ops);
 }
Ejemplo n.º 5
0
        public static void _DokanMount(object _wm)
        {
            WinMounter           wm  = (WinMounter)_wm;
            DokanOptions         opt = new DokanOptions();
            PutioDokanOperations ops = new PutioDokanOperations(wm);

            opt.DebugMode   = false;
            opt.DriveLetter = ops.Mounter.DriveLetter;
            opt.ThreadCount = 5;
            opt.VolumeLabel = "put.io";
            // opt.NetworkDrive = true;
            DokanNet.DokanMain(opt, ops);
        }