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); }
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); } }
public void TryUnmount(object Sender, EventArgs e) { PutioDokanOperations._DokanUnmount(this.DriveLetter); try { this.PutioFileSystem.CleanUp(); } catch { } Mounted = false; this.MainWindow.ToggleMountUnmount(Mounted); }
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); }
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); }