コード例 #1
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            Console.WriteLine("--------------GUI2----------------------");
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8083;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            pathStack_.Push("../Storage");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            initshowfilelist();
        }
コード例 #2
0
        //----< window load function >------------------------------------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            endPoint_ = new CsEndPoint();             // start Comm
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = new Random().Next(10000);
            translater = new Translater();
            translater.listen(endPoint_);
            processMessages();                        // start processing messages
            loadDispatcher();

            popPathStack_.Push("../Checked-in");
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverPortNum;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getPopDirs");
            msg.add("path", popPathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getPopFiles");
            translater.postMessage(msg);

            if (index_ != -1)
            {
                autoclick();
            }
        }
コード例 #3
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            PathTextBlock.Text = "Storage";
            pathStack_.Push("../Storage");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            //test1();
        }
コード例 #4
0
 private void BtnPublish_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         CsEndPoint serverEndPoint = new CsEndPoint();
         serverEndPoint.machineAddress = "localhost";
         serverEndPoint.port           = serverPort;
         CsMessage msg = new CsMessage();
         msg.add("to", CsEndPoint.toString(serverEndPoint));
         msg.add("from", CsEndPoint.toString(endPoint_));
         msg.add("command", "convert");
         msg.add("path", txtPath.Text);
         msg.add("appName", "Project4HelpWPF.exe");
         if ((bool)cbRecurse.IsChecked)
         {
             msg.add("recursive", "/s");
         }
         msg.add("state", "/demo");
         msg.add("patterns", txtPatterns.Text);
         msg.add("regex", txtRegex.Text);
         translater.postMessage(msg);
     }
     catch (Exception)
     {
         Console.WriteLine("Exception occured while clicking on the Publish button");
     }
 }
コード例 #5
0
        //----< open window showing contents of project directory >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            cmd = Environment.GetCommandLineArgs();
            processcmd(cmd);
            path     = Directory.GetCurrentDirectory();
            path     = getAncestorPath(3, path);
            path_web = path + "\\LocalConvertedWebpages";
            Loadcmd(cmd);
            endPoint_ = new CsEndPoint();            // start Comm
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8081;
            translater = new Translater();
            translater.listen(endPoint_);
            processMessages();          // start processing messages
            loadDispatcher();           // load dispatcher
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            CurrPath.Text = "Storage";
            pathStack_.Push("..");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            msg.add("suffix1", suffix1);
            msg.add("suffix2", suffix2);
            translater.postMessage(msg);
            convertfiles();
        }
コード例 #6
0
        //----< respond to mouse double-click on dir name >----------------

        private void DirList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            try
            {
                // build path for selected dir
                string selectedDir = (string)DirList.SelectedItem;
                if (selectedDir == null)
                {
                    return;
                }
                string path;
                if (selectedDir == "..")
                {
                    if (pathStack_.Count > 1)  // don't pop off "Storage"
                    {
                        pathStack_.Pop();
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    path = pathStack_.Peek() + "/" + selectedDir;
                    pathStack_.Push(path);
                }
                // display path in Dir TextBlcok
                PathTextBlock.Text = removeFirstDir(pathStack_.Peek());

                // build message to get dirs and post it
                CsEndPoint serverEndPoint = new CsEndPoint();
                serverEndPoint.machineAddress = "localhost";
                serverEndPoint.port           = 8080;
                CsMessage msg = new CsMessage();
                msg.add("to", CsEndPoint.toString(serverEndPoint));
                msg.add("from", CsEndPoint.toString(endPoint_));
                msg.add("command", "getDirs");
                msg.add("path", pathStack_.Peek());
                translater.postMessage(msg);

                // build message to get files and post it
                msg.remove("command");
                msg.add("command", "getFiles");
                translater.postMessage(msg);
                //msg.remove("command");
                //msg.add("command", "getFile");
                //translater.postMessage(msg);
            }
            catch (Exception)
            {
                Console.WriteLine("Exception occured : you have clicked on the blank space");
            }
        }
コード例 #7
0
        //----< start Comm, fill window display with files  to convert>------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (!System.IO.Directory.Exists(workingDir))
            {
                System.IO.Directory.CreateDirectory(workingDir);
            }
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_, workingDir, workingDir);
            processMessages();
            loadDispatcher();
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            pathStack_.Push("../Storage");
            CsMessage messg = new CsMessage();

            messg.add("to", CsEndPoint.toString(serverEndPoint));
            messg.add("from", CsEndPoint.toString(endPoint_));
            messg.add("command", "getDirs");
            messg.add("path", pathStack_.Peek());
            translater.postMessage(messg);
            messg.remove("command");
            messg.add("command", "getFiles");
            translater.postMessage(messg);
            string[] args = Environment.GetCommandLineArgs();
            WDirectory = "../../../";
            WDirectory = Path.GetFullPath(WDirectory);
            List <string> list_st = new List <string>();

            input(list_st);                                      // input for arguments
            CsMessage msg_Conv = new CsMessage();

            msg_Conv.add("to", CsEndPoint.toString(serverEndPoint));     //sending message to convert files
            msg_Conv.add("from", CsEndPoint.toString(endPoint_));
            msg_Conv.add("command", "convert");
            msg_Conv.add("convert", args.First());
            msg_Conv.add("argc", list_st.Count().ToString());
            int    count = 1;
            string cmd   = "cmd";

            foreach (string val_store in list_st)
            {
                string listch = cmd + count;
                msg_Conv.add(listch, val_store.ToString());
                count++;
            }
            translater.postMessage(msg_Conv);
            translater.getMessage();
            demo_getfile(serverEndPoint);                // demonstrating file sent to clientFolder
        }
コード例 #8
0
        private void testStub()
        {
            string[] args = Environment.GetCommandLineArgs();
            endPointPort = int.Parse(args[1]);
            serverPort   = int.Parse(args[2]);
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = endPointPort;
            translater = new Translater();
            translater.listen(endPoint_, workingdirectory, workingdirectory);
            // start processing messages
            processMessages();
            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint1 = new CsEndPoint();

            serverEndPoint1.machineAddress = "localhost";
            serverEndPoint1.port           = serverPort;
            txtPath.Text     = "RemoteCodePageManagement";
            txtPatterns.Text = "*.h *.cpp";
            txtRegex.Text    = "[A-B](.*)";
            //pass the below one through run.bat
            pathStack_.Push("../../RemoteCodePageManagement");
            CsMessage msg1 = new CsMessage();

            msg1.add("to", CsEndPoint.toString(serverEndPoint1));
            msg1.add("from", CsEndPoint.toString(endPoint_));
            msg1.add("command", "getDirs");
            msg1.add("path", pathStack_.Peek());
            translater.postMessage(msg1);

            CsEndPoint serverEndPoint2 = new CsEndPoint();

            serverEndPoint2.machineAddress = "localhost";
            serverEndPoint2.port           = serverPort;
            CsMessage msg2 = new CsMessage();

            msg2.add("to", CsEndPoint.toString(serverEndPoint2));
            msg2.add("from", CsEndPoint.toString(endPoint_));
            msg2.add("command", "convert");
            //msg2.add("path", txtPath.Text);
            msg2.add("path", "../RemoteCodePageManagement");
            msg2.add("appName", "Project4HelpWPF.exe");
            if ((bool)cbRecurse.IsChecked)
            {
                msg2.add("recursive", "/s");
            }
            msg2.add("state", "/demo");
            msg2.add("patterns", txtPatterns.Text);
            msg2.add("regex", txtRegex.Text);
            translater.postMessage(msg2);
        }
コード例 #9
0
 private void SendTestFiles(List <String> dllFiles)
 {
     foreach (var item in dllFiles)
     {
         CsMessage message = new CsMessage();
         message.add("to", CsEndPoint.toString(serverEndPoint_));
         message.add("from", CsEndPoint.toString(endPoint_));
         message.add("sendingFile", item);
         message.add("name", "DLL File - " + item);
         translater.postMessage(message);
     }
 }
コード例 #10
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //string[] args = Environment.GetCommandLineArgs();
            // System.Console.WriteLine(args);
            try{
                selfPort   = 8082; //int.Parse(args[1]);
                serverPort = 8080; //int.Parse(args[2]);
            }
            catch (Exception er) { Console.WriteLine("{0} Exception caught.", er); }
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = selfPort;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverPort;


            txtPath.Text = "default";
            pathStack_.Push("../");
            txtPatterns.Text = "*.h *.cpp";
            txtRegex.Text    = "[X](.*)";
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "processArgs");
            msg.add("cmd", "/0 .. /s *.h *.cpp [X](.*)");
            translater.postMessage(msg);
            msg.remove("command");
            msg.remove("cmd");
            msg.remove("path");

            msg.add("command", "fileselected");
            msg.add("fileselected", "XICodePublisher.h.html");
            translater.postMessage(msg);
        }
コード例 #11
0
        //----< start Comm, fill window display with dirs, files and other information >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (!System.IO.Directory.Exists(workingDir))
            {
                System.IO.Directory.CreateDirectory(workingDir);
            }

            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            string[] args = Environment.GetCommandLineArgs();
            int      len  = args.Count();

            if (len > 1 && args[1] != "")
            {
                clientPortValue_ = args[1];
            }

            if (len > 2 && args[2] != "")
            {
                serverPortValue_ = args[2];
            }
            Console.WriteLine("\nClient Port: " + clientPortValue_);
            endPoint_.port = Int32.Parse(clientPortValue_);

            serverEndPoint = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";

            Console.WriteLine("\nServer Port: " + serverPortValue_);
            serverEndPoint.port = Int32.Parse(serverPortValue_);

            translater = new Translater();
            translater.listen(endPoint_, workingDir, workingDir);

            PathTextBlock.Text = "Project4_OOD_ADP";
            pathStack_.Push("../../Project4_OOD_ADP");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);

            processMessages();
            loadDispatcher();
            Thread testThread = null;

            testThread = new Thread(atu);
            testThread.Start();
        }
コード例 #12
0
        //----< start Comm, fill window display with dirs and files >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string[] args = System.Environment.GetCommandLineArgs();
            selfport   = int.Parse(args[1]);
            serverport = int.Parse(args[2]);

            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = selfport;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverport;
            working_directory             = Directory.GetCurrentDirectory() + "/../../../../";
            working_directory             = Path.GetFullPath(working_directory);
            Patterns         = "*.h *.cpp";
            Regex            = "[A-C](.*)";
            txtPatterns.Text = Patterns;
            txtRegex.Text    = Regex;

            txtPath.Text = ".";
            pathStack_.Push("../");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);

            Automated_Publish();
            demoReq1(); // demonstrating requirement 1
            demoReq2(); // demonstrating requirement 2
            demoReq3(); // demonstrating requirement 3
            demoReq4(); // demonstrating requirement 4
            demoReq5(); // demonstrating requirement 5
            demoReq6(); // demonstrating requirement 6
            demoReq7(); // demonstrating requirement 7
            demoReq8(); // demonstrating requirement 8
        }
コード例 #13
0
        //----< start Comm, and demonstrates all requirements >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Console.Write("\n This is client");
            Console.Write("\n----------------");
            string[] args = System.Environment.GetCommandLineArgs();
            Console.Write("\n The port of this client is " + args[1]);
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = int.Parse(args[1]);
            translater = new Translater();
            translater.listen(endPoint_);
            processMessages();
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            PathTextBlock.Text = "Storage";
            pathTextBlock.Text = "Storage";
            pathStack_.Push("../ServerStorage");
            PathStack_.Push("../ServerStorage");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");

            msg.add("command", "getDirsForCheckin");
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getDirsforBrowse");
            msg.remove("path");
            msg.add("path", PathStack_.Peek());
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFilesforBrowse");
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            //  checkin_and_checkout_and_viewmetadata();
        }
コード例 #14
0
        //----< start Comm, fill window display with dirs and files >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //----< Receive the port and address information from the arguments and set it as the member variables >------
            string[] args           = Environment.GetCommandLineArgs();
            string[] clientURLArray = args[1].Split(':');
            string[] serverURLArray = args[2].Split(':');
            clientAddress = clientURLArray[0];
            clientPort    = int.Parse(clientURLArray[1]);
            serverAddress = serverURLArray[0];
            serverPort    = int.Parse(serverURLArray[1]);
            if (!System.IO.Directory.Exists(workingDir))
            {
                System.IO.Directory.CreateDirectory(workingDir);
            }
            Patterns         = "*.h *.cpp";
            Regex_           = "[A-Z](.*)";
            txtPatterns.Text = Patterns;
            txtRegex.Text    = Regex_;
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = clientAddress;
            endPoint_.port           = clientPort;
            translater = new Translater();
            translater.listen(endPoint_, workingDir, workingDir);
            processMessages(); // start processing messages
            loadDispatcher();  // load dispatcher
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = serverAddress;
            serverEndPoint.port           = serverPort;
            PathTextBlock.Text            = "Storage";
            pathStack_.Push("../Storage");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            foreach (string arg in args)
            {
                if (arg == "/demo")
                {
                    startDemonstration();
                }
            }
        }
コード例 #15
0
ファイル: MainWindow.xaml.cs プロジェクト: Zhengqi-Cai/CPP
        //----< load clearAll processing into dispatcher dictionary >------

        private void DispatcherLoadClearAll()
        {
            Action <CsMessage> afterClearAll = (CsMessage rcvMsg) =>
            {
                clearing = false;
                Action clearDone = () =>
                {
                    Tab.SelectedIndex = 0;
                    txtStatus.Text    = "Clearing Done!";
                };
                Dispatcher.Invoke(clearDone, new Object[] { });
                //Tab.SelectedIndex = 1;
                if (closing)
                {
                    Action disconnect = () =>
                    {
                        CsMessage msg = new CsMessage();
                        msg.add("to", CsEndPoint.toString(serverEndPoint_));
                        msg.add("from", CsEndPoint.toString(endPoint_));
                        msg.add("command", "quit");
                        Console.Write("\nClient sending ");
                        msg.show();
                        translater.postMessage(msg);
                    };
                    Dispatcher.Invoke(disconnect, new Object[] { });
                }
            };

            addClientProc("clearAll", afterClearAll);
        }
コード例 #16
0
        //----< logic when window shuts down >------
        void Window_Closing(object sender, CancelEventArgs e)
        {
            CsEndPoint TestHarnessProcessPool = new CsEndPoint
            {
                machineAddress = "localhost",
                port           = 8081
            };
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(TestHarnessProcessPool));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("ClientDone", "");
            translater.postMessage(msg);
        }
コード例 #17
0
        //-----------< Directory List Box Double Click Event >-----------------
        private void Dirs_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            // build path for selected dir
            string selectedDir = (string)lstBoxDirs.SelectedItem;

            if (selectedDir == null)
            {
                return;
            }
            if (selectedDir == "..")
            {
                if (pathStack_.Count > 1)  // don't pop off "Storage"
                {
                    pathStack_.Pop();
                }
                else
                {
                    return;
                }
            }
            else
            {
                path = pathStack_.Peek() + "/" + selectedDir;
                pathStack_.Push(path);
            }
            // display path in Dir TextBlcok
            txtPath.Text = removeFirstDir(pathStack_.Peek());

            // build message to get dirs and post it
            string[]   portCmdArgs    = Environment.GetCommandLineArgs();
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = portCmdArgs[1];
            serverEndPoint.port           = Int32.Parse(portCmdArgs[2]);
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            Console.Write("\n");

            // build message to get files and post it
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            Console.Write("\n");
        }
コード例 #18
0
        //-----------------<Stop receiver thread and gracefully close the window>----------
        private void Window_Closed(object sender, EventArgs e)
        {
            CsMessage msg = new CsMessage();

            msg.add("command", "Close client");
            msg.add("to", CsEndPoint.toString(server_));
            msg.add("from", CsEndPoint.toString(client_));
            if (serverRunning)
            {
                translater_.postMessage(msg);
            }
            Thread.Sleep(10);
            msg.attributes["to"] = CsEndPoint.toString(client_);
            translater_.postMessage(msg);
        }
コード例 #19
0
        //----< respond to mouse click on Connect Button >----------------
        private void ConnectButtonClick(object sender, RoutedEventArgs e)
        {
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "Connect");
            connecttxtbox.Text += "Sending message to Server .... \n";
            translater.postMessage(msg);
        }
コード例 #20
0
        //----< respond to mouse double-click on dir name >----------------

        private void DirList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            // build path for selected dir
            string selectedDir = (string)DirList.SelectedItem;

            if (selectedDir == null)
            {
                return;
            }
            string path;

            if (selectedDir == "..")
            {
                if (pathStack_.Count > 1) // don't pop off "Storage"
                {
                    pathStack_.Pop();
                }
                else
                {
                    return;
                }
            }
            else
            {
                path = pathStack_.Peek() + "/" + selectedDir; //
                pathStack_.Push(path);
            }
            // display path in Dir TextBlcok
            txtPath.Text = removeFirstDir(pathStack_.Peek());

            // build message to get dirs and post it
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverPort;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);

            // build message to get files and post it
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
        }
コード例 #21
0
        //----< initialize client GUI, send message to server to fetch all directories and files in project root, and also set pattern and selected current path on GUI  >----------------------------------------------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            PatternValue.Text = UserPattern;
            CurrPath.Text     = Path;

            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = hostAddress;
            endPoint_.port           = hostPort;
            translater = new Translater();
            translater.listen(endPoint_);

            processMessages();

            DispatcherLoadGetDirs();
            DispatcherLoadGetFiles();
            DispatcherLoadConvertedFile();
            DispatcherPublishResult();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = serverAddress;
            serverEndPoint.port           = serverPort;

            pathStack_.Push(Path);
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getConvertedFile");
            translater.postMessage(msg);

            if (AutoTest == "1")
            {
                runAutoTest();
            }
            else
            {
                log("Automated Test turns off, you can play around the GUI.\n");
            }
        }
コード例 #22
0
        private void Connect(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            listboxforconnect.Items.Insert(0, "request to connect...");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "connect");
            msg.show();
            translater.postMessage(msg);
        }
コード例 #23
0
        //----<trigger connection to start comm and load dispatcher>------------------------
        private void Connect_Click(object sender, RoutedEventArgs e)
        {
            // start Comm
            serverEndPoint = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = int.Parse(Environment.GetCommandLineArgs()[1]);

            translater = new Translater();
            translater.listen(endPoint_);
            loadDispatcher();
            processMessages();

            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "connect");
            translater.postMessage(msg);
            msg.show();
            msg.remove("command");
            checkoutPathStack_.Push("../Repository");
            ShowRepo();
            Console.WriteLine("\n  Connected to the repo server.");
        }
コード例 #24
0
        //----< send files  >------------------

        private void SendingFiles(string filename)
        {
            //set serverEndPoint
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8090;

            //construct message for dll
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("sendingFile", filename);
            translater.postMessage(msg);
        }
コード例 #25
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Console.Write("\n\nREQUIREMENT 2 --------- Using WPF and C# to implement the Client GUI ---------\n");
            Console.Write("\n\nREQUIREMENT 3 --------- Assembled working parts from Projects #1, #2, and #3 into a Client-Server configuration ---------\n");
            Console.Write("\n\nREQUIREMENT 4 --------- Shall provide a Graphical User Interface(GUI) for the client that\n");
            Console.Write("supports navigating remote directories to find a project for conversion, and supports ---------\n");
            Console.Write("displaying the conversion results in a way that meets Project #3 requirements. ---------\n");
            Console.Write("\n\nREQUIREMENT 7 --------- Demonstrating correct operations for two or more concurrent clients. ---------\n");

            load();

            if (serverPort == clientPort)
            {
                MessageBox.Show("Server Port and Client Port cannot be equal", "Error");
            }
            else
            {
                endPoint_ = new CsEndPoint();
                endPoint_.machineAddress = "localhost";
                endPoint_.port           = clientPort;
                translater = new Translater();
                translater.listen(endPoint_);

                processMessages();                  // start processing messages
                loadDispatcher();                   // load dispatcher
                init();

                CsEndPoint serverEndPoint = new CsEndPoint();
                serverEndPoint.machineAddress = url;
                serverEndPoint.port           = serverPort;

                textPath.Text = removeFirstDir(serverRootDirectory);
                pathStack_.Push(serverRootDirectory);

                Console.Write("\n\nREQUIREMENT 5 : --------- Providing message design for getting files and directories ---------\n");

                CsMessage msg = new CsMessage();
                msg.add("to", CsEndPoint.toString(serverEndPoint));
                msg.add("from", CsEndPoint.toString(endPoint_));
                msg.add("command", "getDirs");
                msg.add("path", pathStack_.Peek());
                translater.postMessage(msg);
                msg.remove("command");
                msg.add("command", "getFiles");
                translater.postMessage(msg);
            }
        }
コード例 #26
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            string[] commandPara = System.Environment.GetCommandLineArgs();
            endPoint_ = new CsEndPoint();
            if (commandPara.Length == 3)
            {
                endPoint_.machineAddress = commandPara[1];
                endPoint_.port           = int.Parse(commandPara[2]);
            }


            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = machineAddress;
            serverEndPoint.port           = machinePort;

            //PathTextBlock.Text = "Storage";
            pathStack_.Push("../Storage");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            /// test case executes only when port number is 8083
            if (endPoint_.port == 8083)
            {
                ThreadStart ts = test;
                Thread      a  = new Thread(ts);
                a.IsBackground = true;
                a.Start();
            }
        }
コード例 #27
0
        //----< send message to get root dir>---------------------
        private void sendGetRootMsg()
        {
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getRoot");
            translater.postMessage(msg);
        }
コード例 #28
0
        //----< To set command line arguments >------
        public void setCmdArgs()
        {
            wDirectory = Path.GetFullPath("../../../../Project4_OOD_ADP");
            Patterns   = "*.h *.cpp";
            Regex      = "[U](.*)";
            CsMessage argsMsg = new CsMessage();

            argsMsg.add("args", "convFile");
            argsMsg.add("to", CsEndPoint.toString(serverEndPoint));
            argsMsg.add("from", CsEndPoint.toString(endPoint_));
            argsMsg.add("command", "publishFiles");
            argsMsg.add("wDirectory", wDirectory);
            argsMsg.add("Patterns", Patterns);
            argsMsg.add("Regex", Regex);
            argsMsg.add("hasOption", hasOption.ToString());
            translater.postMessage(argsMsg);
        }
コード例 #29
0
        //---< get all the file names matches>
        private void PatIt(object sender, RoutedEventArgs e)
        {
            //clearFiles();
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getMatchedFiles");
            msg.add("path", pathStack_.Peek());
            msg.add("regEx", FileNamePatten.Text);
            translater.postMessage(msg);
            //DispatcherLoadGetFiles();
        }
コード例 #30
0
        //----<show files and dirs in the repository>----------------------
        private void ShowRepo()
        {
            PathTextBlock.Text = PathTextBlock.Text == "" ? "Repository" : PathTextBlock.Text;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getDirs");
            msg.add("path", checkoutPathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            translater.postMessage(msg);
        }