OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 namespace NativeClientVSAddIn | 5 namespace NativeClientVSAddIn |
6 { | 6 { |
7 using System; | 7 using System; |
8 using System.IO; | 8 using System.IO; |
9 using EnvDTE; | 9 using EnvDTE; |
10 using Microsoft.VisualStudio.VCProjectEngine; | 10 using Microsoft.VisualStudio.VCProjectEngine; |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 { | 60 { |
61 webServerPort = DefaultWebServerPort; | 61 webServerPort = DefaultWebServerPort; |
62 } | 62 } |
63 | 63 |
64 string webServerExecutable = "python.exe"; | 64 string webServerExecutable = "python.exe"; |
65 string httpd = Path.Combine(properties.SDKRootDirectory, "examples", "http
d.py"); | 65 string httpd = Path.Combine(properties.SDKRootDirectory, "examples", "http
d.py"); |
66 if (!File.Exists(httpd)) | 66 if (!File.Exists(httpd)) |
67 httpd = Path.Combine(properties.SDKRootDirectory, "tools", "httpd.py")
; | 67 httpd = Path.Combine(properties.SDKRootDirectory, "tools", "httpd.py")
; |
68 string webServerArguments = httpd + " --no_dir_check " + webServerPort; | 68 string webServerArguments = httpd + " --no_dir_check " + webServerPort; |
69 | 69 |
| 70 webServerOutputPane_.Clear(); |
| 71 webServerOutputPane_.OutputString(Strings.WebServerStartMessage + "\n"); |
| 72 webServerOutputPane_.Activate(); |
| 73 |
70 // Start the web server process. | 74 // Start the web server process. |
71 try | 75 try |
72 { | 76 { |
73 webServer_ = new System.Diagnostics.Process(); | 77 webServer_ = new System.Diagnostics.Process(); |
74 webServer_.StartInfo.CreateNoWindow = true; | 78 webServer_.StartInfo.CreateNoWindow = true; |
75 webServer_.StartInfo.UseShellExecute = false; | 79 webServer_.StartInfo.UseShellExecute = false; |
76 webServer_.StartInfo.RedirectStandardOutput = true; | 80 webServer_.StartInfo.RedirectStandardOutput = true; |
77 webServer_.StartInfo.RedirectStandardError = true; | 81 webServer_.StartInfo.RedirectStandardError = true; |
78 webServer_.StartInfo.FileName = webServerExecutable; | 82 webServer_.StartInfo.FileName = webServerExecutable; |
79 webServer_.StartInfo.Arguments = webServerArguments; | 83 webServer_.StartInfo.Arguments = webServerArguments; |
80 webServer_.StartInfo.WorkingDirectory = properties.ProjectDirectory; | 84 webServer_.StartInfo.WorkingDirectory = properties.ProjectDirectory; |
81 webServer_.OutputDataReceived += WebServerMessageReceive; | 85 webServer_.OutputDataReceived += WebServerMessageReceive; |
82 webServer_.ErrorDataReceived += WebServerMessageReceive; | 86 webServer_.ErrorDataReceived += WebServerMessageReceive; |
83 webServer_.Start(); | 87 webServer_.Start(); |
84 webServer_.BeginOutputReadLine(); | 88 webServer_.BeginOutputReadLine(); |
85 webServer_.BeginErrorReadLine(); | 89 webServer_.BeginErrorReadLine(); |
86 } | 90 } |
87 catch (Exception e) | 91 catch (Exception e) |
88 { | 92 { |
89 webServerOutputPane_.OutputString(Strings.WebServerStartFail + "\n"); | 93 webServerOutputPane_.OutputString(Strings.WebServerStartFail + "\n"); |
90 webServerOutputPane_.OutputString("Exception: " + e.Message + "\n"); | 94 webServerOutputPane_.OutputString("Exception: " + e.Message + "\n"); |
91 webServerOutputPane_.Activate(); | |
92 } | 95 } |
93 | |
94 webServerOutputPane_.Clear(); | |
95 webServerOutputPane_.OutputString(Strings.WebServerStartMessage + "\n"); | |
96 webServerOutputPane_.Activate(); | |
97 } | 96 } |
98 | 97 |
99 /// <summary> | 98 /// <summary> |
100 /// Finalizer. Should clean up unmanaged resources. Should not be overriden
in derived classes. | 99 /// Finalizer. Should clean up unmanaged resources. Should not be overriden
in derived classes. |
101 /// </summary> | 100 /// </summary> |
102 ~WebServer() | 101 ~WebServer() |
103 { | 102 { |
104 Dispose(false); | 103 Dispose(false); |
105 } | 104 } |
106 | 105 |
(...skipping 28 matching lines...) Expand all Loading... |
135 /// Receives output from the web server process to display in the Visual Stu
dio UI. | 134 /// Receives output from the web server process to display in the Visual Stu
dio UI. |
136 /// </summary> | 135 /// </summary> |
137 /// <param name="sender">The parameter is not used.</param> | 136 /// <param name="sender">The parameter is not used.</param> |
138 /// <param name="e">Contains the data to display.</param> | 137 /// <param name="e">Contains the data to display.</param> |
139 private void WebServerMessageReceive(object sender, System.Diagnostics.DataR
eceivedEventArgs e) | 138 private void WebServerMessageReceive(object sender, System.Diagnostics.DataR
eceivedEventArgs e) |
140 { | 139 { |
141 webServerOutputPane_.OutputString(e.Data + "\n"); | 140 webServerOutputPane_.OutputString(e.Data + "\n"); |
142 } | 141 } |
143 } | 142 } |
144 } | 143 } |
OLD | NEW |