
# IToolchainManager interface

*No description yet.*

```csharp
public interface IToolchainManager
```

**Namespace:** Embedded · **Assembly:** Altium.SDK.Interfaces

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [OptionsStore](#optionsstore) | [IOptionsStorage](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsStorage.md) | get; set |  |
| [Toolchain](#toolchain) | `string` | get; set |  |

### OptionsStore

*No description yet.*

```csharp
IOptionsStorage GetOptionsStore();
void SetOptionsStore(IOptionsStorage argOptionsStore);
```

**Type:** [IOptionsStorage](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsStorage.md) · **Access:** read/write

The accessors are extension methods of `IToolchainManagerHelper` (`using Embedded;`).

### Toolchain

*No description yet.*

```csharp
string GetToolchain();
void SetToolchain(string argToolchainName);
```

**Type:** `string` · **Access:** read/write

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddStageStateListener](#addstagestatelistener) | `void` |  |
| [AfterRename](#afterrename) | `void` |  |
| [BeforeRename](#beforerename) | `void` |  |
| [CheckToolchainValid](#checktoolchainvalid) | `bool` |  |
| [ChildDocumentRename](#childdocumentrename) | `void` |  |
| [ConvertMacros](#convertmacros) | `string` |  |
| [ExecuteBuild](#executebuild) | `bool` |  |
| [ExecuteCompile](#executecompile) | `bool` |  |
| [ExecuteCompileNoDep](#executecompilenodep) | `bool` |  |
| [ExecuteRebuild](#executerebuild) | `bool` |  |
| [GetFilesWithOptionsDialog](#getfileswithoptionsdialog) | [IToolchainManagerGenericOptionDlg](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IToolchainManagerGenericOptionDlg.md) |  |
| [GetOptionDefaultValue](#getoptiondefaultvalue) | `string` |  |
| [GetOptionsDialog](#getoptionsdialog) | [IToolchainManagerOptionDlg](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IToolchainManagerOptionDlg.md) |  |
| [GetProcessor](#getprocessor) | `string` |  |
| [GetProductDirectory](#getproductdirectory) | `string` |  |
| [GetProjectExecutableFilesPaths](#getprojectexecutablefilespaths) | `string` |  |
| [GetProjectIncludeFilesPaths](#getprojectincludefilespaths) | `string` |  |
| [GetProjectLibraryFilesPaths](#getprojectlibraryfilespaths) | `string` |  |
| [GetProjectSwPlatformPath](#getprojectswplatformpath) | `string` |  |
| [GetToolCmdOption](#gettoolcmdoption) | `string` |  |
| [InvalidateToolchain](#invalidatetoolchain) | `void` |  |
| [IsReady](#isready) | `bool` |  |
| [ISRunning](#isrunning) | `bool` |  |
| [RegenerateMakefile](#regeneratemakefile) | `void` |  |
| [SetAdditionalOutputDir](#setadditionaloutputdir) | `void` |  |
| [SetDocumentName](#setdocumentname) | `void` |  |
| [SetModified](#setmodified) | `void` |  |
| [SetProjectName](#setprojectname) | `void` |  |
| [SetStageCreatedListener](#setstagecreatedlistener) | `void` |  |
| [SetUseErrFile](#setuseerrfile) | `void` |  |
| [SetUseLogicalDocuments](#setuselogicaldocuments) | `void` |  |
| [SetUseProgressDialog](#setuseprogressdialog) | `void` |  |
| [ShowOptionsDialog](#showoptionsdialog) | `void` |  |
| [StopExecution](#stopexecution) | `void` |  |
| [UpdateStageState](#updatestagestate) | `void` |  |
| [UpdateToolchainFromDevice](#updatetoolchainfromdevice) | `void` |  |

### AddStageStateListener

*No description yet.*

```csharp
void AddStageStateListener(IStageStateListener argListener);
void AddStageStateListener(object argListener);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argListener` | [IStageStateListener](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IStageStateListener.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IToolchainManagerHelper` (`using Embedded;`) with typed parameters; the second is declared by the interface.

### AfterRename

*No description yet.*

```csharp
void AfterRename();
```

**Returns:** nothing (`void`)

### BeforeRename

*No description yet.*

```csharp
void BeforeRename();
```

**Returns:** nothing (`void`)

### CheckToolchainValid

*No description yet.*

```csharp
bool CheckToolchainValid(bool argIgnoreAllowed);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIgnoreAllowed` | `bool` | value |

**Returns:** `bool`

### ChildDocumentRename

*No description yet.*

```csharp
void ChildDocumentRename(string argOldName, string argNewName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argOldName` | `string` | value |
| `argNewName` | `string` | value |

**Returns:** nothing (`void`)

### ConvertMacros

*No description yet.*

```csharp
string ConvertMacros(string argSource);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argSource` | `string` | value |

**Returns:** `string`

### ExecuteBuild

*No description yet.*

```csharp
bool ExecuteBuild(IProcessFlowRunner argProcessFlowRunner);
bool ExecuteBuild(object argProcessFlowRunner);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argProcessFlowRunner` | [IProcessFlowRunner](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IProcessFlowRunner.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IToolchainManagerHelper` (`using Embedded;`) with typed parameters; the second is declared by the interface.

### ExecuteCompile

*No description yet.*

```csharp
bool ExecuteCompile(string argSourceDocument, string argToolId, IProcessFlowRunner argProcessFlowRunner);
bool ExecuteCompile(string argSourceDocument, string argToolId, object argProcessFlowRunner);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argSourceDocument` | `string` | value |
| `argToolId` | `string` | value |
| `argProcessFlowRunner` | [IProcessFlowRunner](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IProcessFlowRunner.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IToolchainManagerHelper` (`using Embedded;`) with typed parameters; the second is declared by the interface.

### ExecuteCompileNoDep

*No description yet.*

```csharp
bool ExecuteCompileNoDep(string argSrcDocFullPath, string argToolId, IProcessFlowRunner argProcessFlowRunner);
bool ExecuteCompileNoDep(string argSrcDocFullPath, string argToolId, object argProcessFlowRunner);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argSrcDocFullPath` | `string` | value |
| `argToolId` | `string` | value |
| `argProcessFlowRunner` | [IProcessFlowRunner](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IProcessFlowRunner.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IToolchainManagerHelper` (`using Embedded;`) with typed parameters; the second is declared by the interface.

### ExecuteRebuild

*No description yet.*

```csharp
bool ExecuteRebuild(IProcessFlowRunner argProcessFlowRunner);
bool ExecuteRebuild(object argProcessFlowRunner);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argProcessFlowRunner` | [IProcessFlowRunner](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IProcessFlowRunner.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IToolchainManagerHelper` (`using Embedded;`) with typed parameters; the second is declared by the interface.

### GetFilesWithOptionsDialog

*No description yet.*

```csharp
IToolchainManagerGenericOptionDlg GetFilesWithOptionsDialog();
```

**Returns:** [IToolchainManagerGenericOptionDlg](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IToolchainManagerGenericOptionDlg.md)

Extension method of `IToolchainManagerHelper` (`using Embedded;`).

### GetOptionDefaultValue

*No description yet.*

```csharp
string GetOptionDefaultValue(string argnOptionID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argnOptionID` | `string` | value |

**Returns:** `string`

### GetOptionsDialog

*No description yet.*

```csharp
IToolchainManagerOptionDlg GetOptionsDialog(string argFileName, string argFocusedToolId);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFileName` | `string` | value |
| `argFocusedToolId` | `string` | value |

**Returns:** [IToolchainManagerOptionDlg](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IToolchainManagerOptionDlg.md)

Extension method of `IToolchainManagerHelper` (`using Embedded;`).

### GetProcessor

*No description yet.*

```csharp
string GetProcessor();
```

**Returns:** `string`

### GetProductDirectory

*No description yet.*

```csharp
string GetProductDirectory();
```

**Returns:** `string`

### GetProjectExecutableFilesPaths

*No description yet.*

```csharp
string GetProjectExecutableFilesPaths();
```

**Returns:** `string`

### GetProjectIncludeFilesPaths

*No description yet.*

```csharp
string GetProjectIncludeFilesPaths();
```

**Returns:** `string`

### GetProjectLibraryFilesPaths

*No description yet.*

```csharp
string GetProjectLibraryFilesPaths();
```

**Returns:** `string`

### GetProjectSwPlatformPath

*No description yet.*

```csharp
string GetProjectSwPlatformPath();
```

**Returns:** `string`

### GetToolCmdOption

*No description yet.*

```csharp
string GetToolCmdOption(string argToolId, string argSource);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argToolId` | `string` | value |
| `argSource` | `string` | value |

**Returns:** `string`

### InvalidateToolchain

*No description yet.*

```csharp
void InvalidateToolchain();
```

**Returns:** nothing (`void`)

### IsReady

*No description yet.*

```csharp
bool IsReady(bool argIgnoreAllowed);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIgnoreAllowed` | `bool` | value |

**Returns:** `bool`

### ISRunning

*No description yet.*

```csharp
bool ISRunning();
```

**Returns:** `bool`

### RegenerateMakefile

*No description yet.*

```csharp
void RegenerateMakefile();
```

**Returns:** nothing (`void`)

### SetAdditionalOutputDir

*No description yet.*

```csharp
void SetAdditionalOutputDir(string argRelativeToOut);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRelativeToOut` | `string` | value |

**Returns:** nothing (`void`)

### SetDocumentName

*No description yet.*

```csharp
void SetDocumentName(string argName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |

**Returns:** nothing (`void`)

### SetModified

*No description yet.*

```csharp
void SetModified();
```

**Returns:** nothing (`void`)

### SetProjectName

*No description yet.*

```csharp
void SetProjectName(string argName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |

**Returns:** nothing (`void`)

### SetStageCreatedListener

*No description yet.*

```csharp
void SetStageCreatedListener(IStageCreatedListener argListener);
void SetStageCreatedListener(object argListener);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argListener` | [IStageCreatedListener](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IStageCreatedListener.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IToolchainManagerHelper` (`using Embedded;`) with typed parameters; the second is declared by the interface.

### SetUseErrFile

*No description yet.*

```csharp
void SetUseErrFile(bool argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `bool` | value |

**Returns:** nothing (`void`)

### SetUseLogicalDocuments

*No description yet.*

```csharp
void SetUseLogicalDocuments(bool argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `bool` | value |

**Returns:** nothing (`void`)

### SetUseProgressDialog

*No description yet.*

```csharp
void SetUseProgressDialog(bool argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `bool` | value |

**Returns:** nothing (`void`)

### ShowOptionsDialog

*No description yet.*

```csharp
void ShowOptionsDialog(string argFileName, string argFocusedToolId);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFileName` | `string` | value |
| `argFocusedToolId` | `string` | value |

**Returns:** nothing (`void`)

### StopExecution

*No description yet.*

```csharp
void StopExecution();
```

**Returns:** nothing (`void`)

### UpdateStageState

*No description yet.*

```csharp
void UpdateStageState();
```

**Returns:** nothing (`void`)

### UpdateToolchainFromDevice

*No description yet.*

```csharp
void UpdateToolchainFromDevice(string argDeviceName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDeviceName` | `string` | value |

**Returns:** nothing (`void`)
