コード例 #1
0
        //-------------------< Acts as test stub and calls series of things to show how requirements are met >------------
        public void main()
        {
            Console.ForegroundColor = ConsoleColor.DarkBlue;
            Console.Write("\n====================================\n     Requirement #5 \n====================================\n");
            Console.ResetColor();
            Console.Write("\nStarting Process Pool");
            Console.Write("\n====================================\n     Requirement #4 Client commands repo for files \n====================================\n");

            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from   = ClientEnvironment.endPoint;
            msg1.to     = Repository.endPoint;
            msg1.author = "Harika";
            msg1.arguments.Add("");
            msg1.command = "getBuildRequestFiles";
            Console.Write("\n To address of message : {0}", msg1.to);
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getBuildLogFiles";
            comm.postMessage(msg2);
            CommMessage msg3 = msg1.clone();

            msg3.command = "getTestLogFiles";
            comm.postMessage(msg3);
            path = Repository.buildRequest;
            Console.Write("\n====================================\n     Requirement #11 Client browses for Testcode files \n====================================");
            string pattern = "CodeToTest*.cs";
            Action <string, string, string> proc = this.search;

            proc.Invoke(path, pattern, testcase.Name);
            Console.Write("cbresult is {0}", cbResult);
            Console.Write("\n====================================\n     Requirement 11#Client browses for TestDriver files \n====================================");
            String pattern2 = "TestDriver*.cs";

            proc.Invoke(path, pattern2, testDrivers.Name);
            Console.Write(cbResult);
            if (testDrivers.Items.Count > 0)
            {
                testDrivers.SelectedItem = (testDrivers.Items.GetItemAt(1));
                testcase.SelectedItems.Add(testcase.Items.GetItemAt(1));
                testcase.SelectedItems.Add(testcase.Items.GetItemAt(2));
                testHelper();
                testDrivers.SelectedItem = testDrivers.Items.GetItemAt(0);
                testcase.SelectedItem    = testcase.Items.GetItemAt(0);
                testcase.SelectedItems.Add(testcase.Items.GetItemAt(2));
                testHelper();
                Console.Write("\n====================================\n     Requirement #12 Client creates Build Request Structure \n====================================");
                crtmsg.send = true;
                Console.Write("\n====================================\n     Requirement #12 Sends to Repos for storage and commands repo to send to Mother Builder \n====================================");
                createBuildRequest();
            }
        }
コード例 #2
0
        void sendSelectedBuildRequest()
        {
            if (buildRequestFiles.SelectedItems.Count <= 0)
            {
                System.Windows.MessageBox.Show("Please select Build Request to send to Build Server through Repository");
            }
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.BuildRequest);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = Repository.endPoint;
            msg1.author  = "Harika";
            msg1.command = null;
            msg1.arguments.Add("");
            foreach (string filename in buildRequestFiles.SelectedItems)
            {
                CommMessage msg2 = msg1.clone();
                try
                {
                    msg2.body = File.ReadAllText(Path.GetFullPath(filename));
                }
                catch (Exception ex)
                {
                    msg2.errorMsg = ex.Message;
                }
                if (msg2.errorMsg != null)
                {
                    comm.postMessage(msg2);
                }
            }
            return;
        }
 //-----------------------< To process the message recieved depending on message type >------------
 bool initialiseMessageProcess(CommMessage msg)
 {
     if (msg.type == CommMessage.MessageType.TestRequest)
     {
         Console.ForegroundColor = ConsoleColor.DarkBlue;
         Console.Write("\n=======================================================================\n   Requirement #8 Test Request Sent by Child Build Server\n=======================================================================");
         Console.ResetColor();
         Console.Write("\nTest Request{0}\n\n", msg.body);
         if (msg.body != null)
         {
             parseTestRequest(msg);
         }
     }
     if (msg.type == CommMessage.MessageType.FileList)
     {
         CommMessage msg2 = msg.clone();
         msg2.type = CommMessage.MessageType.TestComplete;
         msg2.to   = msg.from;
         msg2.from = msg.to;
         this.comm.postMessage(msg2);
         startTestProcessing();
         this.tlogmessage.body   = tlogmesssage;
         Console.ForegroundColor = ConsoleColor.DarkBlue;
         Console.WriteLine("\n=====================================================================\nRequirement #9 :Sending Test Log To Repository and Notification to ClientGUI \n=====================================================================");
         Console.ResetColor();
         Console.WriteLine("\n TestLog:\n{0}", this.tlogmessage.body);
         comm.postMessage(tlogmessage);
         comm.postMessage(tclientMessage);
     }
     return(true);
 }
コード例 #4
0
        //---------------------------------< Get filelist from repo make build test libraries send logs to repo >--------
        void messageFileListHelper(CommMessage msg)
        {
            msg.show();
            requestRepoForFilesBuildDll(Data, ChildBuildServer.root, ChildBuildServer.root);
            this.comm.postMessage(this.readymsg);
            CommMessage log = msg.clone();

            log.type = CommMessage.MessageType.BuildLog;
            log.to   = Repository.endPoint;
            log.from = EnvironmentSet.endPoint;
            log.body = doc;
            Console.Write("\n========================================================\n          Requirement #7 : Build Logs Sending to RepoStorage\n=======================================================");
            Console.Write("\nBuild Log:\n{0}", log.body);
            this.comm.postMessage(log);
            this.comm.postMessage(blib.rply);
            if (this.toolChain.Equals("C#"))
            {
                if (tRmsg.body != null)
                {
                    Console.WriteLine("\n===========================================\n Requirement #8 :Sending Test Request To Test Harness \n===========================================");
                    Console.WriteLine("\nTest Request::{0}\n", tRmsg.body);
                    this.comm.postMessage(this.tRmsg);
                }
            }
            return;
        }
コード例 #5
0
        //  Browse path  button and the trigger of event
        private void Browse_Path(object sender, RoutedEventArgs e)
        {
            string Browse_Path           = "";
            FolderBrowserDialog fddialog = new FolderBrowserDialog();

            fddialog.Description = "Select Path";
            fddialog.ShowDialog();

            if (fddialog.SelectedPath != "")
            {
                Browse_Path = fddialog.SelectedPath;
            }
            if (Client_Con_Server == true && Browse_Path != "")
            {
                CommMessage msg = new CommMessage(CommMessage.MessageType.request);
                msg.from    = ClientEnvironment.endPoint;
                msg.to      = ServerEnvironment.endPoint;
                msg.author  = "Bo Qiu";
                msg.command = "Start_Browse_Files";
                msg.arguments.Add(Browse_Path);
                comm.postMessage(msg);

                CommMessage msg2 = msg.clone();
                msg2.command = "Start_Browse_Dirs";
                comm.postMessage(msg2);
            }
            else
            {
                Analysis_Status.Text = "Please connect to the Server first";
            }
        }
        //------< double click on folders to load child folders >------------------------------
        private void FolderTree_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (folderTree.SelectedItem == null)
            {
                return;
            }
            IFileType fileType = (IFileType)folderTree.SelectedItem;


            if (fileType.FileType == FileTypeCal.Folder)
            {
                ObservableCollection <IFileType> currentFolder = viewModel.FolderDict[tbkPath.Text];
                currentFolder.Clear();

                CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);
                msg1.from    = ClientEnvironment.endPoint;
                msg1.to      = ServerEnvironment.endPoint;
                msg1.command = "moveIntoFolderDirs";
                msg1.arguments.Add(tbkPath.Text);
                comm.postMessage(msg1);
                CommMessage msg2 = msg1.clone();
                msg2.command = "moveIntoFolderFiles";
                comm.postMessage(msg2);
            }
        }
        public MainWindow()
        {
            InitializeComponent();
            initializeEnvironment();
            Console.Title       = "Navigator Client";
            fileMgr             = FileMgrFactory.create(FileMgrType.Local);
            fileMgr.currentPath = "";

            comm = new Comm(ClientEnvironment.address, ClientEnvironment.port);
            initializeMessageDispatcher();

            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Jim Fawcett";
            msg1.command = "getTopFiles";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            comm.postMessage(msg2);
            SCBox.Clear();
            rcvThread = new Thread(rcvThreadProc);
            rcvThread.Start();
        }
コード例 #8
0
 /*----< Load ATU >------------*/
 private void dispatcherATU()
 {
     messageDispatcher["AutomatedTestUnit"] = (CommMessage msg) =>
     {
         Req1();
         Req2();
         Req3();
         Req4();
         Req5();
         Req6();
         string[]    file = { "File1.cs", "File2.cs", "File3.cs" };
         CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);
         msg1.from    = ClientEnvironment.endPoint;
         msg1.to      = ServerEnvironment.endPoint;
         msg1.command = "getDependency";
         foreach (var item in file)
         {
             msg1.arguments.Add(item.ToString());
         }
         comm.postMessage(msg1);
         CommMessage msg2 = msg1.clone();
         msg2.command = "getStrongComponent";
         comm.postMessage(msg2);
         Req7();
     };
 }
コード例 #9
0
        /*
         * - sends a message to server to get parent directory
         * - recv thread will create an Action<CommMessage> for the UI thread
         *   to invoke to load the remoteDirs listbox
         */
        void remoteUpClick()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Jim Fawcett";
            msg1.command = "getTopDirs";
            //msg1.arguments.Add(remoteDirs.Items[0].ToString());
            fileMgr.pathStack.Push(fileMgr.currentPath);

            if (remoteDirs.Items.Count > 0)
            {
                fileMgr.currentPath = remoteDirs.Items[0].ToString();
                msg1.arguments.Add(remoteDirs.Items[0].ToString());
            }
            else
            {
                fileMgr.currentPath = "";
                msg1.arguments.Add("");
            }

            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopFiles";
            comm.postMessage(msg2);
        }
        // ---------------------< Uses XmlManager to parse TestRequest sent by the BuildServerProcessPool >------------
        public void parseTestRequest(CommMessage msg)
        {
            List <string> fileNames = new List <string>();

            this.Data = xmlParse.parseXMLRequest(msg.body);
            foreach (TestRequestData data in Data)
            {
                fileNames.Add(data.testDriver);
                foreach (string td in data.testCode)
                {
                    fileNames.Add(td);
                }
            }
            TestHarness.root = EnvironmentSet.root + "/" + Data[0].authorName + DateTime.Now.ToFileTime();
            if (!System.IO.Directory.Exists(TestHarness.root))
            {
                System.IO.Directory.CreateDirectory(TestHarness.root);
            }
            CommMessage filerqst = msg.clone();

            filerqst.type      = CommMessage.MessageType.FileRequest;
            filerqst.to        = msg.from;
            filerqst.from      = msg.to;
            filerqst.arguments = fileNames;
            this.comm.postMessage(filerqst);
        }
コード例 #11
0
        void buildRequestHelper(CommMessage msg)
        {
            Console.Write("========================================================\n Requirement #12 : Store Build Request and Transmit to Build Server \n=========================================================");
            Console.WriteLine("\n msg.from  Client{0}::\n", msg.from);
            if (msg.command != null && (msg.command).Equals("create"))
            {
                try
                {
                    File.WriteAllText(Repository.buildRequest + "/BuildRequest" + DateTime.Now.ToFileTime() + ".xml", msg.body);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                if (!msg.send)
                {
                    return;
                }
            }
            Console.Write("\n Sending message to Mother Build Server");
            CommMessage bldRqst = msg.clone();

            bldRqst.to   = MotherBuildServer.endPoint;
            bldRqst.from = msg.to;
            Console.WriteLine("\n Message to Build Server msg.to::{0}", bldRqst.to);
            comm.postMessage(bldRqst);
            return;
        }
コード例 #12
0
 //-----------------------< Starts processing the messages from pulled out from the reciever queue >--------
 public void messageProcessing(CommMessage msg)
 {
     if (msg.type == CommMessage.MessageType.FileRequest)
     {
         CommMessage msg2 = msg.clone();
         msg2.type = CommMessage.MessageType.FileList;
         msg2.to   = msg.from;
         msg2.from = msg.to;
         bool status = this.comm.postFile(msg2);
         if (status)
         {
             this.comm.postMessage(msg2);
         }
         return;
     }
     if (msg.type == CommMessage.MessageType.BuildLog)
     {
         Console.WriteLine("\n================================================\n       Requirement #8 : Logging Build errors and Warnings \n================================================");
         Console.WriteLine("\nBuild Log{0}\n", msg.body);
         try
         {
             File.WriteAllText(Repository.buildLogPath + "/BuildLog" + DateTime.Now.ToFileTime(), msg.body);
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
         }
     }
     if (msg.type == CommMessage.MessageType.TestLog)
     {
         Console.WriteLine("\n==================================================\n       Requirement #9 :Recieved Test Log from Test Harness \n=======================================================");
         Console.WriteLine("\nTest Log{0}\n", msg.body);
         try
         {
             File.WriteAllText(Repository.testLogPath + "/TestLog" + DateTime.Now.ToFileTime(), msg.body);
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
         }
     }
     if (msg.type == CommMessage.MessageType.request)
     {
         CommMessage reply = this.messageDispatcher[msg.command](msg);
         Console.Write("\n======================================================================================\n      Requirement #4 Repository sending files to Client based on command \n======================================================================================");
         reply.show();
         this.comm.postMessage(reply);
     }
     if (msg.type == CommMessage.MessageType.BuildRequest)
     {
         buildRequestHelper(msg);
     }
 }
コード例 #13
0
        private void Analysis_Click(object sender, RoutedEventArgs e)
        {
            CommMessage msg = new CommMessage(CommMessage.MessageType.request);

            msg.from    = ClientEnvironment.endPoint;
            msg.to      = ServerEnvironment.endPoint;
            msg.command = "analyzeDependency";
            comm.postMessage(msg);
            CommMessage msg2 = msg.clone();

            msg2.command = "strongComponent";
            comm.postMessage(msg2);
        }
コード例 #14
0
        //----< move into remote subdir and display files and subdirs >--

        /*
         * - sends messages to server to get files and dirs from folder
         * - recv thread will create Action<CommMessage>s for the UI thread
         *   to invoke to load the remoteFiles and remoteDirs listboxs
         */
        private void moveIntoDir(string DirName)
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.command = "moveIntoFolderDirs";
            msg1.arguments.Add(DirName);
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoFolderFiles";
            comm.postMessage(msg2);
        }
        //----< move into remote subdir and display files and subdirs >--

        /*
         * - sends messages to server to get files and dirs from folder
         * - recv thread will create Action<CommMessage>s for the UI thread
         *   to invoke to load the remoteFiles and remoteDirs listboxs
         */
        private void remoteDirs_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.command = "moveIntoFolderFiles";
            msg1.arguments.Add(remoteDirs.SelectedValue as string);
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoFolderDirs";
            comm.postMessage(msg2);
        }
コード例 #16
0
        //----< move into remote subdir and display files and subdirs >--


        void guiDoubleDirClick()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.command = "moveIntoFolderFiles";
            msg1.arguments.Add(remoteDirs.SelectedValue as string);
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoFolderDirs";
            comm.postMessage(msg2);
        }
コード例 #17
0
        //----< move to parent directory of current remote path >--------

        private void RemoteUp_Click(object sender, RoutedEventArgs e)
        {
            // coming soon
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Yuxuan Xing";
            msg1.command = "getTopFiles";
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            comm.postMessage(msg2);
        }
コード例 #18
0
        private void getRemoteDirs()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Rick";
            msg1.command = "moveUpDirs";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveUpFiles";
            comm.postMessage(msg2);
        }
コード例 #19
0
        //----< give repo root files >---------------------
        private void RepoTop_Files()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = RepoEnvironment.endPoint;
            msg1.author  = "Nitesh Bhutani";
            msg1.command = "getTopFiles";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            comm.postMessage(msg2);
        }
        //----< move to root of remote directories >---------------------

        /*
         * - sends a message to server to get files from root
         * - recv thread will create an Action<CommMessage> for the UI thread
         *   to invoke to load the remoteFiles listbox
         */
        private void RemoteTop_Click(object sender, RoutedEventArgs e)
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Jim Fawcett";
            msg1.command = "getTopFiles";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            comm.postMessage(msg2);
        }
コード例 #21
0
        //----< move to parent directory of current remote path >--------
        private void RemoteUp_ClickAuto()
        {
            var msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Vinayak Kukreja";
            msg1.command = "getUpFiles";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            var msg2 = msg1.clone();

            msg2.command = "getUpDirs";
            comm.postMessage(msg2);
        }
コード例 #22
0
        //----< fetching root files and directory >-------------
        public void getFile()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Jim Fawcett";
            msg1.command = "getTopFiles";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            comm.postMessage(msg2);
        }
コード例 #23
0
        //----< move to parent directory of current remote path >--------

        private void RemoteUp_Click(object sender, RoutedEventArgs e)
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Ren Jie";
            msg1.command = "moveIntoUpDirs";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            Thread.Sleep(10);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoUpFiles";
            comm.postMessage(msg2);
        }
コード例 #24
0
        //----< move to parent directory of current remote path >--------

        void guiUpClick()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.command = "moveUpFolderDirs";
            msg1.arguments.Add("");
            msg1.back = fileMgr.currentPath;
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoFolderFiles";
            msg2.arguments.Add(fileMgr.currentPath);
            comm.postMessage(msg2);
        }
コード例 #25
0
        //-------------< gives files from root directory of server >---------------
        public void get_files()
        {
            RemoteUp.IsEnabled = true;
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.command = "getTopFiles";
            msg1.arguments.Add("");
            msg1.show();
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            msg2.show();
            comm.postMessage(msg2);
        }
コード例 #26
0
        //----< move into remote subdir and display files and subdirs >--

        /*
         * - sends messages to server to get files and dirs from folder
         * - recv thread will create Action<CommMessage>s for the UI thread
         *   to invoke to load the remoteFiles and remoteDirs listboxs
         */
        private void remoteDirs_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            string remoteDirName = remoteDirsListBox.SelectedValue as string;

            remotePathStack.Push(currentRemotePath);
            currentRemotePath = remoteDirName;
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = BuildEnvironment.ClientEnvironment.endPoint;
            msg1.to      = BuildEnvironment.ServerEnvironment.endPoint;
            msg1.command = "moveIntoFolderFiles";
            msg1.arguments.Add(remoteDirsListBox.SelectedValue as string);
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoFolderDirs";
            comm.postMessage(msg2);
        }
コード例 #27
0
        /*
         * - sends messages to server to get strong component analysis result by sending filenames
         * - recv thread will create Action<CommMessage>s for the UI thread
         *   to invoke to load the strong component analysis result in the listbox
         */
        public void StrongCompButtonClick()
        {
            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Rucha Guntoorkar";
            msg1.command = "getStrongComponent";
            if (checkedStuff.Count > 0)
            {
                msg1.arguments = checkedStuff;
            }
            else
            {
                msg1.arguments = atuInputFiles;
            }
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();
        }
コード例 #28
0
        // This function is for getting the top directory and files in the GUI
        private void RemoteTop_ClickAuto()
        {
            UpButton.IsEnabled    = true;
            AnalButton.IsEnabled  = true;
            remoteDirs.IsEnabled  = true;
            remoteFiles.IsEnabled = true;
            var msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.author  = "Vinayak Kukreja";
            msg1.command = "getTopFiles";
            msg1.arguments.Add("");
            comm.postMessage(msg1);
            var msg2 = msg1.clone();

            msg2.command = "getTopDirs";
            comm.postMessage(msg2);
        }
コード例 #29
0
        //----< move into remote subdir and display files and subdirs >--

        /*
         * - sends messages to server to get files and dirs from folder
         * - recv thread will create Action<CommMessage>s for the UI thread
         *   to invoke to load the remoteFiles and remoteDirs listboxs
         */

        private void remoteDirs_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (Client_Con_Server == true)
            {
                CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);
                msg1.from    = ClientEnvironment.endPoint;
                msg1.to      = ServerEnvironment.endPoint;
                msg1.command = "moveIntoFolderDirs";
                msg1.arguments.Add(remoteDirs.SelectedValue as string);
                comm.postMessage(msg1);
                CommMessage msg2 = msg1.clone();
                msg2.command = "moveIntoFolderFiles";
                comm.postMessage(msg2);
            }
            else
            {
                Navigator_Status.Text = "Please connect to the Server first";
            }
        }
        //-------< send requests to get the files and folders in the root >----------------
        private void getTopFiles()
        {
            tb_StatusBar.Text = "Connecting...";
            tbkPath.Text      = ".";
            ObservableCollection <IFileType> currentFolder = viewModel.FolderDict["."];

            currentFolder.Clear();

            CommMessage msg1 = new CommMessage(CommMessage.MessageType.request);

            msg1.from    = ClientEnvironment.endPoint;
            msg1.to      = ServerEnvironment.endPoint;
            msg1.command = "moveIntoFolderDirs";
            msg1.arguments.Add(tbkPath.Text);
            comm.postMessage(msg1);
            CommMessage msg2 = msg1.clone();

            msg2.command = "moveIntoFolderFiles";
            comm.postMessage(msg2);
        }