
# ICMP_DocumentChanges interface

*No description yet.*

```csharp
public interface ICMP_DocumentChanges
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [BaseDocumentId](#basedocumentid) | `string` | get; set |  |
| [BaseDocumentPath](#basedocumentpath) | `string` | get; set |  |
| [Differences](#differences) | [ICMP_ObjectDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectDifference.md) | get; set |  |
| [DocumentId](#documentid) | `string` | get; set |  |
| [DocumentKind](#documentkind) | `string` | get; set |  |
| [DocumentPath](#documentpath) | `string` | get; set |  |

### BaseDocumentId

*No description yet.*

```csharp
string GetBaseDocumentId();
void SetBaseDocumentId(string argValue);
```

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

### BaseDocumentPath

*No description yet.*

```csharp
string GetBaseDocumentPath();
void SetBaseDocumentPath(string argValue);
```

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

### Differences

*No description yet.*

```csharp
ICMP_ObjectDifference GetDifferences();
void SetDifferences(ICMP_ObjectDifference argValue);
```

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

The accessors are extension methods of `ICMP_DocumentChangesHelper` (`using EDP;`).

### DocumentId

*No description yet.*

```csharp
string GetDocumentId();
void SetDocumentId(string argValue);
```

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

### DocumentKind

*No description yet.*

```csharp
string GetDocumentKind();
void SetDocumentKind(string argValue);
```

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

### DocumentPath

*No description yet.*

```csharp
string GetDocumentPath();
void SetDocumentPath(string argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddOutputFile](#addoutputfile) | `void` |  |
| [ClearOutputFiles](#clearoutputfiles) | `void` |  |
| [GetChangesKind](#getchangeskind) | [TCMP_ChangesKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TCMP_ChangesKind.md) |  |
| [GetDrawingChangesKind](#getdrawingchangeskind) | [TCMP_ChangesKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TCMP_ChangesKind.md) |  |
| [GetOutputFile](#getoutputfile) | [CMP_OutputFileInfo](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/CMP_OutputFileInfo.md) |  |
| [GetOutputFileCount](#getoutputfilecount) | `int` |  |

### AddOutputFile

*No description yet.*

```csharp
void AddOutputFile(TCMP_OutputFileFormat argFormat, string argPath);
void AddOutputFile(int argFormat, string argPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFormat` | [TCMP_OutputFileFormat](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TCMP_OutputFileFormat.md) | value |
| `argPath` | `string` | value |

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

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

### ClearOutputFiles

*No description yet.*

```csharp
void ClearOutputFiles();
```

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

### GetChangesKind

*No description yet.*

```csharp
TCMP_ChangesKind GetChangesKind(string argObjectHandle);
```

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

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

Extension method of `ICMP_DocumentChangesHelper` (`using EDP;`).

### GetDrawingChangesKind

*No description yet.*

```csharp
TCMP_ChangesKind GetDrawingChangesKind(string argObjectHandle);
```

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

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

Extension method of `ICMP_DocumentChangesHelper` (`using EDP;`).

### GetOutputFile

*No description yet.*

```csharp
CMP_OutputFileInfo GetOutputFile(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

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

Extension method of `ICMP_DocumentChangesHelper` (`using EDP;`).

### GetOutputFileCount

*No description yet.*

```csharp
int GetOutputFileCount();
```

**Returns:** `int`

## Returned by

[ICMP_ChangesSerializer.Deserialize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ChangesSerializer.md#deserialize), [ICMP_ChangesSerializer.LoadFromFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ChangesSerializer.md#loadfromfile), [ICMP_ComparisonServer.CreateDocumentChanges](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ComparisonServer.md#createdocumentchanges), [ICMP_DocumentComparer.Compare](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_DocumentComparer.md#compare), [ICMP_ObjectModelComparer.Compare](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectModelComparer.md#compare), [ICMP_PCBComparer.CompareBoards](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PCBComparer.md#compareboards), [ICMP_PCBThreeWayComparer.GetComparisonResults](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PCBThreeWayComparer.md#getcomparisonresults), [ICMP_ProjectChanges.GetDocumentsChanges](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ProjectChanges.md#getdocumentschanges)

## Accepted by

[ICMP_ChangesSerializer.SaveToFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ChangesSerializer.md#savetofile), [ICMP_ChangesSerializer.Serialize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ChangesSerializer.md#serialize)
