Esempio n. 1
0
        public OptionsForm()
        {
            bone_server = IPCConnection.ClientConnect();
            InitializeComponent();
            writeAvailableDrivesInCombo();

            // Look into registry for autostart and set check box
            RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
                                          ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

            if (registryKey.GetValue("FiSSH") == null)
            {
                checkBox_startup.Checked = false;
            }
            else
            {
                checkBox_startup.Checked = true;
            }

            checkBox3.Checked      = bone_server.IsReconnectAfterWakeUpSet();
            Loglevel.SelectedIndex = Loglevel.Items.IndexOf(bone_server.getLogLevel());

            char VirtualDriveLetter = bone_server.GetVirtualDriveLetter();

            virtualdriveletter.Items.Add(VirtualDriveLetter + ":");
            virtualdriveletter.SelectedIndex = virtualdriveletter.Items.IndexOf(VirtualDriveLetter + ":");
        }
Esempio n. 2
0
        static void Main(String[] args)
        {
            LoadingForm.ShowSplashScreen();
            //if argument for no gui start is given, set this false
            bool StartGUI = true;

            IServiceFisshBone bone_server = IPCConnection.ClientConnect();

            //start ServiceHost if it is not running
            try
            {
                bone_server.listAll();
            }
            catch
            {
                ProcessStartInfo startEXE = new ProcessStartInfo();
                string           path     = Application.ExecutablePath;
                path = path.Substring(0, path.LastIndexOf('\\') + 1);
                startEXE.FileName         = path + "FiSSHBone.exe";
                startEXE.WorkingDirectory = "";
                startEXE.WindowStyle      = System.Diagnostics.ProcessWindowStyle.Hidden;
                startEXE.ErrorDialog      = true;
                if (Process.Start(startEXE) == null)
                {
                    Environment.Exit(1);
                }
            }

            // Loop: wait until IPC server is online
            for (int i = 0; i < 5; i++)
            {
                try
                {
                    bone_server.listAll();
                }
                catch
                {
                    System.Threading.Thread.Sleep(100);
                }
            }


            if (StartGUI)
            {
                LoadingForm.CloseForm();
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                // Original startup
                //Application.Run(new FiSSHForm());

                // "Only one instance" startup
                var app = new ApplicationManager();
                app.Run(args);
            }
        }
Esempio n. 3
0
        /// init methods

        /**
         * This method is called by other methods first.
         * It checks if there is already a connection to the IPC-Server.
         * If there is not it will be made.
         */
        private static void Init()
        {
            if (bone_server == null)
            {
                bone_server = IPCConnection.ClientConnect();
            }

            if (all_data == null)
            {
                all_data = bone_server.listAll();
            }

            return;
        }
Esempio n. 4
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();
        }