Beispiel #1
0
        static void OnTerminalCommandDidExecuted(ITerminalCommandChannel terminalCommandChannel, ITerminalCommand terminalCommand)
        {
            if (terminalCommand.Result is BookmarkPage || terminalCommand.Result is BookmarkItem || terminalCommand.Result is BookmarkItem[])
            {
                if (terminalCommand.Result == null)
                {
                    return;
                }

                if (terminalCommand.Result is BookmarkPage)
                {
                    foreach (var bookmarkItem in (terminalCommand.Result as BookmarkPage).RootItems)
                    {
                        Console.WriteLine(DumpBookmarkItem(bookmarkItem, 0, false));
                    }
                }
                else if (terminalCommand.Result is BookmarkItem)
                {
                    Console.WriteLine(DumpBookmarkItem(terminalCommand.Result as BookmarkItem, 0, false));
                }
                else if (terminalCommand.Result is BookmarkItem[])
                {
                    foreach (var bookmarkItem in (terminalCommand.Result as BookmarkItem[]))
                    {
                        Console.WriteLine(DumpBookmarkItem(bookmarkItem, 0, false));
                    }
                }
            }
            else
            {
                Console.WriteLine(terminalCommand.Result);
            }
        }
Beispiel #2
0
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
        {
            if (terminalCommandChannel is BookmarkTerminalCommandChannel)
            {
                Handled = true;

                var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel;

                var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage;

                if (TerminalCommandLine.ContainKeys("id"))
                {
                    var bookmark = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int)));
                    if (bookmark == null)
                    {
                        prompt.Invoke("bookmark not found.");
                    }
                    else
                    {
                        Result = bookmark;
                    }
                }
                else
                {
                    Result = bookmarkPage;
                }
            }
        }
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
        {
            if (terminalCommandChannel is NetworkPeerManager)
            {
                Handled = true;

                var networkPeerManager = terminalCommandChannel as NetworkPeerManager;

                foreach (var peer in networkPeerManager.Peers.GetAll())
                {
                    var stringBuilder = new StringBuilder();
                    stringBuilder.Append(peer.Identity == null ? "unset:" : peer.Identity.ToString());
                    foreach (var ep in peer.NetworkConnection.NetworkPoints)
                    {
                        if (peer.NetworkConnection.AvailableNetworkPoint == null)
                        {
                            stringBuilder.Append(string.Format("{0}({1})", ep.ToString(), "inactive"));
                        }
                        else
                        {
                            stringBuilder.Append(string.Format("{0}({1})", ep.ToString(), peer.NetworkConnection.AvailableNetworkPoint.Equals(ep) ? "active" : "inactive"));
                        }
                    }
                    prompt.Invoke(stringBuilder.ToString());
                }

                Result = TerminalCommandResult.Done();
            }
        }
Beispiel #4
0
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, Action <string> prompt)
        {
            if (terminalCommandChannel is ApplicationManager)
            {
                Handled = true;

                var applicationManager = terminalCommandChannel as ApplicationManager;

                if (TerminalCommandLine.Keys.Length == 0)
                {
                    try
                    {
                        applicationManager.Start();

                        Result = TerminalCommandResult.Done();
                    }
                    catch (Exception e)
                    {
                        Result = TerminalCommandResult.Error(e.Message);
                    }
                }
                else
                {
                    Result = TerminalCommandResult.InvalidArguments();
                }
            }
        }
Beispiel #5
0
 private void OnTerminalCommandDidExecuted(ITerminalCommandChannel terminalCommandChannel, ITerminalCommand terminalCommand)
 {
     if (terminalCommand.Result == null)
     {
         Console.WriteLine("Command [{0}] cannot be hit.", terminalCommand.TerminalCommandLine.CommandCode);
     }
     else
     {
         Console.WriteLine(terminalCommand.Result.ToString());
     }
 }
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, Action <string> prompt)
        {
            if (terminalCommandChannel is NetworkPeerManager)
            {
                Handled = true;

                var networkPeerManager = terminalCommandChannel as NetworkPeerManager;

                var networkPeerType = TerminalCommandLine["type"];
                if (networkPeerType == null ||
                    !(networkPeerType.Equals("normal", StringComparison.OrdinalIgnoreCase) ||
                      networkPeerType.Equals("tracker", StringComparison.OrdinalIgnoreCase)))
                {
                    Result = TerminalCommandResult.InvalidArguments();
                    return;
                }

                var ipEndPointString = TerminalCommandLine["ep"];
                if (ipEndPointString == null)
                {
                    Result = TerminalCommandResult.InvalidArguments();
                    return;
                }

                var ipEndPoint = IPEndPointHelper.ConvertFromString(ipEndPointString);
                if (ipEndPoint == null)
                {
                    Result = TerminalCommandResult.InvalidArguments();
                    return;
                }

                var networkPoint = new NetworkPointBase(ipEndPoint);
                foreach (var peer in networkPeerManager.Peers.GetAll())
                {
                    if (peer.NetworkConnection.NetworkPoints.Exists(networkPoint))
                    {
                        return;
                    }
                }

                if (networkPeerType.Equals("normal", StringComparison.OrdinalIgnoreCase))
                {
                    networkPeerManager.Peers.Add(new NormalNetworkPeerBase(null, new INetworkPoint[] { networkPoint }));
                }
                else if (networkPeerType.Equals("tracker", StringComparison.OrdinalIgnoreCase))
                {
                    networkPeerManager.Peers.Add(new TrackerNetworkPeerBase(null, new INetworkPoint[] { networkPoint }));
                }

                Result = TerminalCommandResult.Done();
            }
        }
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, Action <string> prompt)
        {
            if (terminalCommandChannel is BookmarkTerminalCommandChannel)
            {
                Handled = true;
                Result  = "done.";

                var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel;

                var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage;

                BookmarkItem newerBookmarkItem = null;
                if (TerminalCommandLine.ContainKeys("cat", "idx", "desc", "path", "text", "line"))
                {
                    newerBookmarkItem = new BookmarkItem()
                    {
                        Id          = bookmarkPage.GenerateItemId(),
                        Catalog     = TerminalCommandLine["cat"],
                        Index       = (int)Convert.ChangeType(TerminalCommandLine["idx"], typeof(int)),
                        Description = TerminalCommandLine["desc"],
                    };
                    newerBookmarkItem.Locations.Add(new BookmarkLocation()
                    {
                        FileLocation     = TerminalCommandLine["path"],
                        LocateLineText   = TerminalCommandLine["text"],
                        LocateLineNumber = (int)Convert.ChangeType(TerminalCommandLine["line"], typeof(int)),
                    });
                }

                if (newerBookmarkItem == null)
                {
                    prompt.Invoke("data is incomplete.");
                }

                if (TerminalCommandLine.ContainKeys("id"))
                {
                    var olderBookmarkItem = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int)));
                    if (olderBookmarkItem == null)
                    {
                        prompt.Invoke("id is invalid.");
                    }

                    olderBookmarkItem.ChildItems.Add(newerBookmarkItem);
                }
                else
                {
                    bookmarkPage.RootItems.Add(newerBookmarkItem);
                }

                bookmarkTerminalCommandChannel.BookmarkContainer.Set();
            }
        }
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
        {
            if (terminalCommandChannel is ApplicationManager)
            {
                Handled = true;

                var applicationManager = terminalCommandChannel as ApplicationManager;

                prompt.Invoke(string.Format("status: {0}", applicationManager.IsAlive ? "active" : "inactive"));

                Result = TerminalCommandResult.Done();
            }
        }
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
        {
            if (terminalCommandChannel is BookmarkTerminalCommandChannel)
            {
                Handled = true;

                Result = "done.";

                var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel;

                var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage;

                BookmarkItem olderBookmarkItem = null;
                if (TerminalCommandLine.ContainKeys("id"))
                {
                    olderBookmarkItem = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int)));
                }

                if (olderBookmarkItem == null)
                {
                    prompt.Invoke("bookmark not found.");
                    return;
                }

                if (TerminalCommandLine.ContainKeys("cat"))
                {
                    olderBookmarkItem.Catalog = TerminalCommandLine["cat"];
                }

                if (TerminalCommandLine.ContainKeys("idx"))
                {
                    olderBookmarkItem.Index = (int)Convert.ChangeType(TerminalCommandLine["idx"], typeof(int));
                }

                if (TerminalCommandLine.ContainKeys("desc"))
                {
                    olderBookmarkItem.Description = TerminalCommandLine["desc"];
                }

                bookmarkTerminalCommandChannel.BookmarkContainer.Set();
            }
        }
Beispiel #10
0
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
        {
            if (terminalCommandChannel is BookmarkTerminalCommandChannel)
            {
                Handled = true;

                var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel;

                var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage;

                if (TerminalCommandLine.ContainKeys("kw"))
                {
                    Result = bookmarkPage.GetItemsByKeyword(TerminalCommandLine["kw"]);
                }
                else
                {
                    prompt.Invoke("keyword is empty.");
                }
            }
        }
Beispiel #11
0
        public override void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
        {
            if (terminalCommandChannel is BookmarkTerminalCommandChannel)
            {
                Handled = true;
                Result  = "done.";

                var bookmarkTerminalCommandChannel = terminalCommandChannel as BookmarkTerminalCommandChannel;

                var bookmarkPage = bookmarkTerminalCommandChannel.BookmarkContainer.CurrentPage;

                BookmarkItem olderBookmarkItem = null;
                if (TerminalCommandLine.ContainKeys("id"))
                {
                    olderBookmarkItem = bookmarkPage.GetItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int)));
                }

                if (olderBookmarkItem == null)
                {
                    prompt.Invoke("bookmark not found.");
                    return;
                }

                var parentItem = bookmarkPage.GetParentItemById((int)Convert.ChangeType(TerminalCommandLine["id"], typeof(int)));
                if (parentItem == null)
                {
                    bookmarkPage.RootItems.Remove(olderBookmarkItem);
                }
                else
                {
                    parentItem.ChildItems.Remove(olderBookmarkItem);
                }

                bookmarkTerminalCommandChannel.BookmarkContainer.Set();
            }
        }
 public virtual void Execute(ITerminalCommandChannel terminalCommandChannel, System.Action <string> prompt)
 {
 }
Beispiel #13
0
 private void OnTerminalCommandDidExecuted(ITerminalCommandChannel terminalCommandChannel, ITerminalCommand terminalCommand)
 {
     FireTerminalCommandDidExecuted(terminalCommand);
 }
Beispiel #14
0
 private void OnTerminalCommandExecuting(ITerminalCommandChannel terminalCommandChannel, ITerminalCommand terminalCommand, string prompt)
 {
     FireTerminalCommandExecuting(terminalCommand, prompt);
 }
Beispiel #15
0
 static void OnTerminalCommandExecuting(ITerminalCommandChannel terminalCommandChannel, ITerminalCommand terminalCommand, string prompt)
 {
     Console.WriteLine(prompt);
 }