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:
16 //
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 //
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.
27 
28 
29 using System;
30 using System.Runtime.InteropServices;
31 using Microsoft.Build.Framework;
32 
33 namespace Microsoft.Build.Tasks.Hosting {
34 
35 	[InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
36 	[Guid ("8520CC4D-64DC-4855-BE3F-4C28CCE048EE")]
37 	[ComVisible (true)]
38 	public interface ICscHostObject : ITaskHost {
39 
BeginInitialization()40 		void BeginInitialization ();
41 
Compile()42 		bool Compile ();
43 
EndInitialization(out string errorMessage, out int errorCode)44 		bool EndInitialization (out string errorMessage, out int errorCode);
45 
IsDesignTime()46 		bool IsDesignTime ();
47 
IsUpToDate()48 		bool IsUpToDate ();
49 
SetAdditionalLibPaths(string[] additionalLibPaths)50 		bool SetAdditionalLibPaths (string[] additionalLibPaths);
51 
SetAddModules(string[] addModules)52 		bool SetAddModules (string[] addModules);
53 
SetAllowUnsafeBlocks(bool allowUnsafeBlocks)54 		bool SetAllowUnsafeBlocks (bool allowUnsafeBlocks);
55 
SetBaseAddress(string baseAddress)56 		bool SetBaseAddress (string baseAddress);
57 
SetCheckForOverflowUnderflow(bool checkForOverflowUnderflow)58 		bool SetCheckForOverflowUnderflow (bool checkForOverflowUnderflow);
59 
SetCodePage(int codePage)60 		bool SetCodePage (int codePage);
61 
SetDebugType(string debugType)62 		bool SetDebugType (string debugType);
63 
SetDefineConstants(string defineConstants)64 		bool SetDefineConstants (string defineConstants);
65 
SetDelaySign(bool delaySignExplicitlySet, bool delaySign)66 		bool SetDelaySign (bool delaySignExplicitlySet, bool delaySign);
67 
SetDisabledWarnings(string disabledWarnings)68 		bool SetDisabledWarnings (string disabledWarnings);
69 
SetDocumentationFile(string documentationFile)70 		bool SetDocumentationFile (string documentationFile);
71 
SetEmitDebugInformation(bool emitDebugInformation)72 		bool SetEmitDebugInformation (bool emitDebugInformation);
73 
SetErrorReport(string errorReport)74 		bool SetErrorReport (string errorReport);
75 
SetFileAlignment(int fileAlignment)76 		bool SetFileAlignment (int fileAlignment);
77 
SetGenerateFullPaths(bool generateFullPaths)78 		bool SetGenerateFullPaths (bool generateFullPaths);
79 
SetKeyContainer(string keyContainer)80 		bool SetKeyContainer (string keyContainer);
81 
SetKeyFile(string keyFile)82 		bool SetKeyFile (string keyFile);
83 
SetLangVersion(string langVersion)84 		bool SetLangVersion (string langVersion);
85 
SetLinkResources(ITaskItem[] linkResources)86 		bool SetLinkResources (ITaskItem[] linkResources);
87 
SetMainEntryPoint(string targetType, string mainEntryPoint)88 		bool SetMainEntryPoint (string targetType, string mainEntryPoint);
89 
SetModuleAssemblyName(string moduleAssemblyName)90 		bool SetModuleAssemblyName (string moduleAssemblyName);
91 
SetNoConfig(bool noConfig)92 		bool SetNoConfig (bool noConfig);
93 
SetNoStandardLib(bool noStandardLib)94 		bool SetNoStandardLib (bool noStandardLib);
95 
SetOptimize(bool optimize)96 		bool SetOptimize (bool optimize);
97 
SetOutputAssembly(string outputAssembly)98 		bool SetOutputAssembly (string outputAssembly);
99 
SetPdbFile(string pdbFile)100 		bool SetPdbFile (string pdbFile);
101 
SetPlatform(string platform)102 		bool SetPlatform (string platform);
103 
SetReferences(ITaskItem[] references)104 		bool SetReferences (ITaskItem[] references);
105 
SetResources(ITaskItem[] resources)106 		bool SetResources (ITaskItem[] resources);
107 
SetResponseFiles(ITaskItem[] responseFiles)108 		bool SetResponseFiles (ITaskItem[] responseFiles);
109 
SetSources(ITaskItem[] sources)110 		bool SetSources (ITaskItem[] sources);
111 
SetTargetType(string targetType)112 		bool SetTargetType (string targetType);
113 
SetTreatWarningsAsErrors(bool treatWarningsAsErrors)114 		bool SetTreatWarningsAsErrors (bool treatWarningsAsErrors);
115 
SetWarningLevel(int warningLevel)116 		bool SetWarningLevel (int warningLevel);
117 
SetWarningsAsErrors(string warningsAsErrors)118 		bool SetWarningsAsErrors (string warningsAsErrors);
119 
SetWarningsNotAsErrors(string warningsNotAsErrors)120 		bool SetWarningsNotAsErrors (string warningsNotAsErrors);
121 
SetWin32Icon(string win32Icon)122 		bool SetWin32Icon (string win32Icon);
123 
SetWin32Resource(string win32Resource)124 		bool SetWin32Resource (string win32Resource);
125 	}
126 }
127 
128