PageRenderTime 21ms CodeModel.GetById 11ms app.highlight 5ms RepoModel.GetById 2ms app.codeStats 0ms

/IronPython_Main/Tools/IronStudio/IronStudio/VisualStudio/Project/ConfigurationProperties.cs

#
C# | 64 lines | 38 code | 7 blank | 19 comment | 0 complexity | 68ede5c7a6fe00df518ddf9efab0a795 MD5 | raw file
 1/* ****************************************************************************
 2 *
 3 * Copyright (c) Microsoft Corporation. 
 4 *
 5 * This source code is subject to terms and conditions of the Apache License, Version 2.0. A 
 6 * copy of the license can be found in the License.html file at the root of this distribution. If 
 7 * you cannot locate the Apache License, Version 2.0, please send an email to 
 8 * ironpy@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
 9 * by the terms of the Apache License, Version 2.0.
10 *
11 * You must not remove this notice, or any other, from this software.
12 *
13 * ***************************************************************************/
14
15using System;
16using System.Runtime.InteropServices;
17
18namespace Microsoft.VisualStudio.Project
19{
20	/// <summary>
21	/// Defines the config dependent properties exposed through automation
22	/// </summary>
23	[ComVisible(true)]
24	[Guid("21f73a8f-91d7-4085-9d4f-c48ee235ee5b")]
25	public interface IProjectConfigProperties
26	{
27		string OutputPath { get; set; }
28	}
29
30	/// <summary>
31	/// Implements the configuration dependent properties interface
32	/// </summary>
33	[CLSCompliant(false), ComVisible(true)]
34	[ClassInterface(ClassInterfaceType.None)]
35	public class ProjectConfigProperties : IProjectConfigProperties
36	{
37		#region fields
38		private ProjectConfig projectConfig;
39		#endregion
40
41		#region ctors
42		public ProjectConfigProperties(ProjectConfig projectConfig)
43		{
44			this.projectConfig = projectConfig;
45		}
46		#endregion
47
48		#region IProjectConfigProperties Members
49
50		public virtual string OutputPath
51		{
52			get
53			{
54				return this.projectConfig.GetConfigurationProperty(BuildPropertyPageTag.OutputPath.ToString(), true);
55			}
56			set
57			{
58				this.projectConfig.SetConfigurationProperty(BuildPropertyPageTag.OutputPath.ToString(), value);
59			}
60		}
61
62		#endregion
63	}
64}