/// mount all folders in "to mount" list /** * mount_them() will mount every folder listed in to_mount list. * Other methods, who want to mount anything, * will put a Tuple of a ServerModel and a FolderModel and this method. * mount_them will mount every entry of this list by sending their ids to the backend. */ private static void mount_them() { foreach (Tuple <ServerModel, FolderModel> i in to_mount) { // try for every element so you can go on if there is an error with one drive try { if (i.Item2.Status != Sshfs.DriveStatus.Mounted && i.Item2.Status != Sshfs.DriveStatus.Mounting) { bone_server.Mount(i.Item1.ID, i.Item2.ID); logger.log.writeLog(Loglevel.Debug, log_cmpnt, "Mounted folder " + i.Item2.Name + " on server " + i.Item1.Name); } else { fissh_print.simple_error_message(i.Item2.Name + " on " + i.Item1.Name + " is already mounted"); } } catch (FaultException <Fault> e) { string error_message = "While mounting " + i.Item1.Name + " on " + i.Item2.Name + ": " + e.Detail.Message; logger.log.writeLog(SimpleMind.Loglevel.Warning, "cmdline", error_message); fissh_print.simple_error_message(error_message); no_mounting_error = false; } catch (Exception e) { throw e; } } }
static void Main(string[] args) { // Ab hier beginnt der Verbindungsteil, muss in jeden Client (Copy&Past) // danach kann auf die Verbindung über das Objekt "bone" zugreifen //Verbindungsteil-Ende /* ChannelFactory<IServiceFisshBone> pipeFactory = * new ChannelFactory<IServiceFisshBone>( * new NetNamedPipeBinding(), * new EndpointAddress( * "net.pipe://localhost/FiSSH")); * * IServiceFisshBone bone = * pipeFactory.CreateChannel(); */ IServiceFisshBone bone = IPCConnection.ClientConnect(); try { // Die Daten aus dem Backend holen List <ServerModel> liste_von_server = bone.listAll(); // So erhält man den Server zu einem Servernamen ServerModel gesuchter_server = liste_von_server.Find(x => x.Name == "Ubuntu at VBox"); // So erhält man den Ordnereintrag zu einem Ordnereintragsnamen FolderModel gesuchter_folder = gesuchter_server.Folders.Find(x => x.Name == "home vom user"); // Editiern Console.WriteLine("Editieren ..."); Console.ReadLine(); // edit test ServerModel vbx_ubuntu = gesuchter_server; vbx_ubuntu.Name += " editiert"; vbx_ubuntu.Port = 1337; vbx_ubuntu.Notes = "hui, tolle notizen"; bone.editServer(vbx_ubuntu); Console.WriteLine("Editiert."); Console.ReadLine(); // edit test FolderModel home = gesuchter_folder; home.Name += " editiert"; home.Note = "hui, noch tollere notizen"; bone.editFolder(gesuchter_server.ID, home); Console.WriteLine("Editiert."); Console.ReadLine(); return; // So Mountet man einen Eintrag bone.Mount(gesuchter_server.ID, gesuchter_folder.ID); Console.WriteLine("Gemounted, Enter drücken um Unmounten"); Console.ReadLine(); // So Unmountet man einen Eintrag bone.UMount(gesuchter_server.ID, gesuchter_folder.ID); // So löscht man einen Ordner //bone.removeFolder(gesuchter_server.ID, gesuchter_folder.ID); //So löscht man einen Server //bone.removeServer(gesuchter_server.ID); Console.WriteLine("\nIm Folgenden wir alles aus dem Datenmodell angezeigt."); liste_von_server = bone.listAll(); foreach (ServerModel i in liste_von_server) { Console.WriteLine(i.ID + ": " + i.Name); foreach (FolderModel j in i.Folders) { Console.WriteLine(" " + j.ID + ": " + j.Name); } Console.WriteLine(); } } catch (FaultException <Fault> e) { Console.WriteLine(e.Detail.Message); Console.ReadLine(); return; } Console.WriteLine("Enter drücken um Client zu beenden"); Console.ReadLine(); }