コード例 #1
0
        public NodeInstanceToolStripItem(NodeInstance n)
            : base(n.name)
        {
            _nodeInstance = n;

            //
            var tmp = new ToolStripButton("output", global::nodepool.Resources.icon.cmd_16, onOutput);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            //this.DropDownItems.Add("-");

            tmp = new ToolStripButton("start", global::nodepool.Resources.icon.play_16, onStart);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            tmp = new ToolStripButton("kill", global::nodepool.Resources.icon.stop_16, onStop);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            tmp = new ToolStripButton("restart", global::nodepool.Resources.icon.restart_16, onRestart);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            tmp = new ToolStripButton("remove", global::nodepool.Resources.icon.remove_16, onRemove);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);
        }
コード例 #2
0
        public NodeInstanceToolStripItem(NodeInstance n)
            : base(n.name)
        {
            _nodeInstance = n;



            //
            var tmp = new ToolStripButton("output", global::nodepool.Resources.icon.cmd_16, onOutput);

            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            //this.DropDownItems.Add("-");

            tmp       = new ToolStripButton("start", global::nodepool.Resources.icon.play_16, onStart);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            tmp       = new ToolStripButton("kill", global::nodepool.Resources.icon.stop_16, onStop);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            tmp       = new ToolStripButton("restart", global::nodepool.Resources.icon.restart_16, onRestart);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);

            tmp       = new ToolStripButton("remove", global::nodepool.Resources.icon.remove_16, onRemove);
            tmp.Width = 50;
            this.DropDownItems.Add(tmp);
        }
コード例 #3
0
        public RestartOnChangePatternsForm(NodeInstance i)
        {
            InitializeComponent();

            _nodeInstance = i;

            //
            patternsTextBox.Text = _nodeInstance.restartOnFileChangePatternsString;
        }
コード例 #4
0
        public NodeInstanceTerminal()
        {
            InitializeComponent();

            _nodeInstance = null;
            _stdin = new List<string>();
            _curCompletion = 0;

            outTextBox.Focus();
        }
コード例 #5
0
ファイル: UserProfile.cs プロジェクト: dchapkine/nodepool
        public void load()
        {
            if (!_isLoaded)
            {
                //
                // Do we have the profiles directory ?
                //
                if (!Directory.Exists("Profiles"))
                {
                    Directory.CreateDirectory("Profiles");
                }

                //
                // Creating profile if file does not exist
                //
                if (!File.Exists(_profilePath))
                {
                    save();
                }
                //
                // ...Or read it, if it exist, and load everything
                //
                else
                {
                    //
                    String str = File.ReadAllText(_profilePath, Encoding.UTF8);
                    System.Xml.XmlDocument doc = new XmlDocument();
                    doc.LoadXml(str);

                    //
                    foreach (System.Xml.XmlNode i in doc.GetElementsByTagName("NodeInstance"))
                    {
                        if (File.Exists(i.Attributes.GetNamedItem("mainFile").InnerText))
                        {
                            NodeInstance ni = NodePool.getInstance().createNodeInstance(
                                LocalHost.getLatestInstalledNodeVersion(),
                                i.Attributes.GetNamedItem("name").InnerText,
                                i.Attributes.GetNamedItem("mainFile").InnerText
                                );

                            ni.restartOnMainJsFileChange = i.Attributes.GetNamedItem("restartOnFileChange").InnerText == "true" ? true : false;
                            ni.restartOnCrash            = i.Attributes.GetNamedItem("restartOnCrash").InnerText == "true" ? true : false;

                            if (i.FirstChild != null && i.FirstChild.Name == "RestartOnFileChangePatternsString")
                            {
                                ni.restartOnFileChangePatternsString = i.FirstChild.InnerText;
                            }
                        }
                    }
                }

                //
                _isLoaded = true;
            }
        }
コード例 #6
0
ファイル: NodePool.cs プロジェクト: dchapkine/nodepool
 public NodeInstance createNodeInstance(string nodeVersion, string name, string mainJsFilePath)
 {
     var i = new NodeInstance(nodeVersion);
     i.name = name;
     i.mainJsFilePath = mainJsFilePath;
     i.NodeInstanceStarted += new Event.NodeInstanceStartedEventHandler(pool_NodeInstanceStarted);
     i.NodeInstanceStopped += new Event.NodeInstanceStoppedEventHandler(pool_NodeInstanceStopped);
     _nodeInstances.Add(i);
     OnNodeInstanceCreated(new NodeInstanceCreatedEventArgs(i));
     return i;
 }
コード例 #7
0
 public void removeNodeInstance(NodeInstance i)
 {
     foreach (NodeInstance ii in _nodeInstances)
     {
         if (i == ii)
         {
             OnNodeInstanceRemoved(new NodeInstanceRemovedEventArgs(ii));
             _nodeInstances.Remove(ii);
             return;
         }
     }
 }
コード例 #8
0
        public NodeInstance createNodeInstance(string nodeVersion, string name, string mainJsFilePath)
        {
            var i = new NodeInstance(nodeVersion);

            i.name                 = name;
            i.mainJsFilePath       = mainJsFilePath;
            i.NodeInstanceStarted += new Event.NodeInstanceStartedEventHandler(pool_NodeInstanceStarted);
            i.NodeInstanceStopped += new Event.NodeInstanceStoppedEventHandler(pool_NodeInstanceStopped);
            _nodeInstances.Add(i);
            OnNodeInstanceCreated(new NodeInstanceCreatedEventArgs(i));
            return(i);
        }
コード例 #9
0
        public NodeInstanceStandardOutputForm(NodeInstance n)
        {
            //
            InitializeComponent();

            //
            // Title
            //
            Text = n.name;

            //
            // NodePool events
            //
            NodePool.getInstance().NodeInstanceRemoved += new NodeInstanceRemovedEventHandler(_NodeInstanceRemoved);

            //
            // APP instance
            //
            _nodeInstance = n;
            nodeInstanceMainMenu1.init();
            nodeInstanceMainMenu1.nodeInstance = _nodeInstance;
            nodeTerminal.nodeInstance = _nodeInstance;
            //_nodeInstance.run();

            //
            // NPM instance
            //
            /*
            _npmInstance = new NodeInstance(_nodeInstance.nodeVersion);
            _npmInstance.name = "______NPM______";
            _npmInstance.mainJsFilePath = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), @"Resources\nodejs\node0.6.6\node_modules\npm\cli.js");
            */
            _npmInstance = NodePool.getInstance("npm").createNodeInstance(_nodeInstance.nodeVersion, _nodeInstance.name + "______NPM______" + RuntimeUniqueId.getAsString(), Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), @"Resources\nodejs\" + LocalHost.getLatestInstalledNodeVersion() + @"\node_modules\npm\cli.js"));
            _npmInstance.restartOnCrash = false;
            _npmInstance.restartOnMainJsFileChange = false;
            _npmInstance.workingDirectory = Path.GetDirectoryName(_nodeInstance.mainJsFilePath);// set working directory for local npm
            npmTerminal.nodeInstance = _npmInstance;
            _npmInstance.run();

            //
            nodeTerminal.focusStdIn();
        }
コード例 #10
0
 public NodeInstanceStandardOutputEventArgs(NodeInstance n, String news)
 {
     this.nodeInstance = n;
     this.newString = news;
 }
コード例 #11
0
 public NodeInstanceStoppedEventArgs(NodeInstance n, bool nc = false)
 {
     nodeInstance = n;
     nodeCrashed = nc;
 }
コード例 #12
0
 public NodeInstanceCreatedEventArgs(NodeInstance n)
 {
     this.nodeInstance = n;
 }
コード例 #13
0
 public NodeInstanceStartedEventArgs(NodeInstance n)
 {
     this.nodeInstance = n;
 }
コード例 #14
0
 public NodeInstanceProcessInfoEventArgs(NodeInstance n)
 {
     this.nodeInstance = n;
 }
コード例 #15
0
ファイル: NodePool.cs プロジェクト: dchapkine/nodepool
 public void removeNodeInstance(NodeInstance i)
 {
     foreach (NodeInstance ii in _nodeInstances)
     {
         if (i == ii)
         {
             OnNodeInstanceRemoved(new NodeInstanceRemovedEventArgs(ii));
             _nodeInstances.Remove(ii);
             return;
         }
     }
 }
コード例 #16
0
 public NodeInstanceRemovedEventArgs(NodeInstance n)
 {
     this.nodeInstance = n;
 }