2010-04-06 Jb Evain <jbevain@novell.com>
[mcs.git] / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks.Hosting / ICscHostObject.cs
blob51a16e020de1881cb070f2e81e446f33d5161128
1 //
2 // ICscHostObject.cs: Host object interface for C# compiler.
3 //
4 // Author:
5 // Marek Sieradzki (marek.sieradzki@gmail.com)
6 //
7 // (C) 2005 Marek Sieradzki
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 #if NET_2_0
30 using System;
31 using System.Runtime.InteropServices;
32 using Microsoft.Build.Framework;
34 namespace Microsoft.Build.Tasks.Hosting {
36 [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
37 [Guid ("8520CC4D-64DC-4855-BE3F-4C28CCE048EE")]
38 [ComVisible (true)]
39 public interface ICscHostObject : ITaskHost {
41 void BeginInitialization ();
43 bool Compile ();
45 bool EndInitialization (out string errorMessage, out int errorCode);
47 bool IsDesignTime ();
49 bool IsUpToDate ();
51 bool SetAdditionalLibPaths (string[] additionalLibPaths);
53 bool SetAddModules (string[] addModules);
55 bool SetAllowUnsafeBlocks (bool allowUnsafeBlocks);
57 bool SetBaseAddress (string baseAddress);
59 bool SetCheckForOverflowUnderflow (bool checkForOverflowUnderflow);
61 bool SetCodePage (int codePage);
63 bool SetDebugType (string debugType);
65 bool SetDefineConstants (string defineConstants);
67 bool SetDelaySign (bool delaySignExplicitlySet, bool delaySign);
69 bool SetDisabledWarnings (string disabledWarnings);
71 bool SetDocumentationFile (string documentationFile);
73 bool SetEmitDebugInformation (bool emitDebugInformation);
75 bool SetErrorReport (string errorReport);
77 bool SetFileAlignment (int fileAlignment);
79 bool SetGenerateFullPaths (bool generateFullPaths);
81 bool SetKeyContainer (string keyContainer);
83 bool SetKeyFile (string keyFile);
85 bool SetLangVersion (string langVersion);
87 bool SetLinkResources (ITaskItem[] linkResources);
89 bool SetMainEntryPoint (string targetType, string mainEntryPoint);
91 bool SetModuleAssemblyName (string moduleAssemblyName);
93 bool SetNoConfig (bool noConfig);
95 bool SetNoStandardLib (bool noStandardLib);
97 bool SetOptimize (bool optimize);
99 bool SetOutputAssembly (string outputAssembly);
101 bool SetPdbFile (string pdbFile);
103 bool SetPlatform (string platform);
105 bool SetReferences (ITaskItem[] references);
107 bool SetResources (ITaskItem[] resources);
109 bool SetResponseFiles (ITaskItem[] responseFiles);
111 bool SetSources (ITaskItem[] sources);
113 bool SetTargetType (string targetType);
115 bool SetTreatWarningsAsErrors (bool treatWarningsAsErrors);
117 bool SetWarningLevel (int warningLevel);
119 bool SetWarningsAsErrors (string warningsAsErrors);
121 bool SetWarningsNotAsErrors (string warningsNotAsErrors);
123 bool SetWin32Icon (string win32Icon);
125 bool SetWin32Resource (string win32Resource);
129 #endif