
# IUnifiedDataModel interface

*No description yet.*

```csharp
public interface IUnifiedDataModel
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddDocument](#adddocument) | `void` |  |
| [BeginRead](#beginread) | `void` |  |
| [BeginWrite](#beginwrite) | `void` |  |
| [CreateGlobalObject](#createglobalobject) | `object` |  |
| [DestroyGlobalObject](#destroyglobalobject) | `void` |  |
| [DocumentChanged](#documentchanged) | `void` |  |
| [DocumentPathChanged](#documentpathchanged) | `void` |  |
| [EndRead](#endread) | `void` |  |
| [EndWrite](#endwrite) | `void` |  |
| [GetDocumentPath](#getdocumentpath) | `string` |  |
| [InDocumentLoading](#indocumentloading) | `bool` |  |
| [InDocumentLoading_1](#indocumentloading_1) | `bool` |  |
| [LoadDocumentByPath](#loaddocumentbypath) | `object` |  |
| [MakeGlobal](#makeglobal) | `void` |  |
| [ReleaseDocument](#releasedocument) | `bool` |  |
| [RemoveDocument](#removedocument) | `bool` |  |
| [RemoveDocumentByPath](#removedocumentbypath) | `bool` |  |
| [SupportsDocumentExt](#supportsdocumentext) | `bool` |  |
| [SupportsDocumentInterface](#supportsdocumentinterface) | `bool` |  |
| [SupportsExt](#supportsext) | `bool` |  |
| [SupportsInterface](#supportsinterface) | `bool` |  |
| [UnloadDocument](#unloaddocument) | `bool` |  |

### AddDocument

*No description yet.*

```csharp
void AddDocument(string argDocumentID, string argFullPath, object argIntf);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentID` | `string` | value |
| `argFullPath` | `string` | value |
| `argIntf` | `object` | value |

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

### BeginRead

*No description yet.*

```csharp
void BeginRead();
```

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

**Examples:** [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L49)

### BeginWrite

*No description yet.*

```csharp
void BeginWrite();
```

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

### CreateGlobalObject

*No description yet.*

```csharp
object CreateGlobalObject(string argDocumentKind, int argObjectId);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentKind` | `string` | value |
| `argObjectId` | `int` | value |

**Returns:** `object`

### DestroyGlobalObject

*No description yet.*

```csharp
void DestroyGlobalObject(string argHandle);
```

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

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

### DocumentChanged

*No description yet.*

```csharp
void DocumentChanged(string argFullPath, string argNewID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFullPath` | `string` | value |
| `argNewID` | `string` | value |

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

### DocumentPathChanged

*No description yet.*

```csharp
void DocumentPathChanged(string argOldPath, string argNewPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argOldPath` | `string` | value |
| `argNewPath` | `string` | value |

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

### EndRead

*No description yet.*

```csharp
void EndRead();
```

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

**Examples:** [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L70)

### EndWrite

*No description yet.*

```csharp
void EndWrite();
```

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

### GetDocumentPath

*No description yet.*

```csharp
string GetDocumentPath(string argHandle);
```

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

**Returns:** `string`

### InDocumentLoading

*No description yet.*

```csharp
bool InDocumentLoading();
```

**Returns:** `bool`

### InDocumentLoading_1

*No description yet.*

```csharp
bool InDocumentLoading_1(string argFullPath);
```

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

**Returns:** `bool`

### LoadDocumentByPath

*No description yet.*

```csharp
object LoadDocumentByPath(string argFullPath);
```

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

**Returns:** `object`

### MakeGlobal

*No description yet.*

```csharp
void MakeGlobal(object argObject);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argObject` | `object` | value |

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

### ReleaseDocument

*No description yet.*

```csharp
bool ReleaseDocument(string argDocumentID);
```

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

**Returns:** `bool`

### RemoveDocument

*No description yet.*

```csharp
bool RemoveDocument(string argDocumentID);
```

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

**Returns:** `bool`

### RemoveDocumentByPath

*No description yet.*

```csharp
bool RemoveDocumentByPath(string argFullPath);
```

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

**Returns:** `bool`

### SupportsDocumentExt

*No description yet.*

```csharp
bool SupportsDocumentExt(string argDocumentID, string argIID, out object argIntf);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentID` | `string` | value |
| `argIID` | `string` | value |
| `argIntf` | `object` | out |

**Returns:** `bool`

### SupportsDocumentInterface

*No description yet.*

```csharp
bool SupportsDocumentInterface(string argDocumentID, out object argIntf);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentID` | `string` | value |
| `argIntf` | `object` | out |

**Returns:** `bool`

### SupportsExt

*No description yet.*

```csharp
bool SupportsExt(string argHandle, string argIID, out object argIntf);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argHandle` | `string` | value |
| `argIID` | `string` | value |
| `argIntf` | `object` | out |

**Returns:** `bool`

### SupportsInterface

*No description yet.*

```csharp
bool SupportsInterface(string argHandle, out object argIntf);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argHandle` | `string` | value |
| `argIntf` | `object` | out |

**Returns:** `bool`

**Examples:** [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L57)

### UnloadDocument

*No description yet.*

```csharp
bool UnloadDocument(string argDocumentID);
```

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

**Returns:** `bool`

## Returned by

[IProject.DM_DataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProject.md#dm_datamodel)

## Examples

Used in the SDK examples: [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L48).
