OLD | NEW |
| (Empty) |
1 using System; | |
2 using System.Collections.Generic; | |
3 using System.Diagnostics; | |
4 using System.Linq; | |
5 using System.Text; | |
6 using Microsoft.VisualStudio; | |
7 using Microsoft.VisualStudio.Project; | |
8 | |
9 namespace Google.NaClVsx.ProjectSupport { | |
10 class NaClConfigProvider : ConfigProvider { | |
11 | |
12 public static readonly string[] kPlatforms = { | |
13 "NaCl", | |
14 }; | |
15 | |
16 public NaClConfigProvider(ProjectNode manager) : base(manager) {} | |
17 | |
18 public override int GetPlatformNames(uint celt, | |
19 string[] names, | |
20 uint[] actual) { | |
21 /* From MSDN: | |
22 * Typically two calls are made to GetPlatformNames. | |
23 * With the first call, celt is set to zero, rgbstr | |
24 * to nullNothingnullptra null reference (Nothing in | |
25 * Visual Basic), and pcActual to a valid address. | |
26 * GetPlatformNames returns with pcActual pointing to | |
27 * the number of platform names available. The caller | |
28 * uses this information to allocate rgbstr to the | |
29 * appropriate size and call GetPlatformNames a second | |
30 * time with celt set to the contents of pcActual. | |
31 */ | |
32 if (celt == 0) { | |
33 actual[0] = (uint)kPlatforms.Length; | |
34 } else { | |
35 Debug.Assert(celt <= kPlatforms.Length); | |
36 kPlatforms.CopyTo(names,0); | |
37 actual[0] = (uint)kPlatforms.Length; | |
38 } | |
39 return VSConstants.S_OK; | |
40 } | |
41 | |
42 protected override ProjectConfig CreateProjectConfiguration(string configNam
e) | |
43 { | |
44 return new NaClProjectConfig(this.ProjectMgr, configName); | |
45 } | |
46 } | |
47 } | |
OLD | NEW |