Beispiel #1
0
        /// unmount all folders in "to unmount" list

        /**
         * umount_them() will unmount every folder listed in to_umount list.
         * Other methods, who want to unmount anything,
         * will put a Tuple of a ServerModel and a FolderModel and this method.
         * umount_them will unmount every entry of this list by sending their ids to the backend.
         */

        private static void umount_them()
        {
            foreach (Tuple <ServerModel, FolderModel> i in to_umount)
            {
                try
                {
                    if (i.Item2.Status != Sshfs.DriveStatus.Unmounted &&
                        i.Item2.Status != Sshfs.DriveStatus.Unmounting)
                    {
                        bone_server.UMount(i.Item1.ID, i.Item2.ID);
                        logger.log.writeLog(Loglevel.Debug, log_cmpnt, "Unmounted folder " + i.Item2.Name + " on server " + i.Item1.Name);
                    }
                    else
                    {
                        fissh_print.simple_error_message(i.Item2.Name + " on " + i.Item1.Name + " is not mounted");
                    }
                }
                catch (FaultException <Fault> e)
                {
                    string error_message = "While unmounting " + 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;
                }
            }
        }
Beispiel #2
0
        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();
        }