
# IDeviceManager interface

*No description yet.*

```csharp
public interface IDeviceManager
```

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [DefaultDevice](#defaultdevice) | `string` | get; set |  |

### DefaultDevice

*No description yet.*

```csharp
string GetDefaultDevice();
void SetDefaultDevice(string argDeviceName);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [_Finalize](#_finalize) | `void` |  |
| [AreDevicesPinCompatible](#aredevicespincompatible) | `bool` |  |
| [CanGetDevice](#cangetdevice) | `bool` |  |
| [ChoosePhysicalDevice](#choosephysicaldevice) | `string` |  |
| [CompareIdCodes](#compareidcodes) | `bool` |  |
| [GetAllVendors](#getallvendors) | `string` |  |
| [GetDevice](#getdevice) | [INexusDevice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusDevice.md) |  |
| [GetDeviceCachedInfo](#getdevicecachedinfo) | `bool` |  |
| [GetDeviceFamilyManager](#getdevicefamilymanager) | [IDeviceFamilyManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceFamilyManager.md) |  |
| [GetDeviceFromDeviceId](#getdevicefromdeviceid) | [INexusDevice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusDevice.md) |  |
| [GetDeviceInformation](#getdeviceinformation) | [IDeviceInformation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceInformation.md) |  |
| [GetDeviceNamesForIdCode](#getdevicenamesforidcode) | `string` |  |
| [GetDevicesForFamily](#getdevicesforfamily) | `string` |  |
| [GetFamiliesForDeviceType](#getfamiliesfordevicetype) | `string` |  |
| [GetFamiliesForVendor](#getfamiliesforvendor) | `string` |  |
| [GetGenericDeviceManager](#getgenericdevicemanager) | [IGenericDeviceManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IGenericDeviceManager.md) |  |
| [Initialize](#initialize) | `bool` |  |
| [ReleaseDevice](#releasedevice) | `void` |  |

### \_Finalize

*No description yet.*

```csharp
void _Finalize();
```

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

### AreDevicesPinCompatible

*No description yet.*

```csharp
bool AreDevicesPinCompatible(string argDeviceName1, string argDeviceName2);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDeviceName1` | `string` | value |
| `argDeviceName2` | `string` | value |

**Returns:** `bool`

### CanGetDevice

*No description yet.*

```csharp
bool CanGetDevice(string argDeviceName);
```

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

**Returns:** `bool`

### ChoosePhysicalDevice

*No description yet.*

```csharp
string ChoosePhysicalDevice(string argDeviceName, string argFilterParameters);
```

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

**Returns:** `string`

### CompareIdCodes

*No description yet.*

```csharp
bool CompareIdCodes(uint argIdCodeA, uint argIdCodeB);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIdCodeA` | `uint` | value |
| `argIdCodeB` | `uint` | value |

**Returns:** `bool`

### GetAllVendors

*No description yet.*

```csharp
string GetAllVendors();
```

**Returns:** `string`

### GetDevice

*No description yet.*

```csharp
INexusDevice GetDevice(string argDeviceName);
```

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

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

Extension method of `IDeviceManagerHelper` (`using SCH;`).

### GetDeviceCachedInfo

*No description yet.*

```csharp
bool GetDeviceCachedInfo(string argDeviceName, out DeviceCachedInformation argInformation);
bool GetDeviceCachedInfo(string argDeviceName, out IDeviceCachedInformation argInformation);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDeviceName` | `string` | value |
| `argInformation` | [DeviceCachedInformation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/DeviceCachedInformation.md) | out |

**Returns:** `bool`

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

### GetDeviceFamilyManager

*No description yet.*

```csharp
IDeviceFamilyManager GetDeviceFamilyManager();
```

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

Extension method of `IDeviceManagerHelper` (`using SCH;`).

### GetDeviceFromDeviceId

*No description yet.*

```csharp
INexusDevice GetDeviceFromDeviceId(string argnId);
```

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

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

Extension method of `IDeviceManagerHelper` (`using SCH;`).

### GetDeviceInformation

*No description yet.*

```csharp
IDeviceInformation GetDeviceInformation(string argDeviceName);
```

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

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

Extension method of `IDeviceManagerHelper` (`using SCH;`).

### GetDeviceNamesForIdCode

*No description yet.*

```csharp
string GetDeviceNamesForIdCode(uint argIdCode);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIdCode` | `uint` | value |

**Returns:** `string`

### GetDevicesForFamily

*No description yet.*

```csharp
string GetDevicesForFamily(string argFamily);
```

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

**Returns:** `string`

### GetFamiliesForDeviceType

*No description yet.*

```csharp
string GetFamiliesForDeviceType(string argDeviceType);
```

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

**Returns:** `string`

### GetFamiliesForVendor

*No description yet.*

```csharp
string GetFamiliesForVendor(string argVendor);
```

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

**Returns:** `string`

### GetGenericDeviceManager

*No description yet.*

```csharp
IGenericDeviceManager GetGenericDeviceManager();
```

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

Extension method of `IDeviceManagerHelper` (`using SCH;`).

### Initialize

*No description yet.*

```csharp
bool Initialize();
```

**Returns:** `bool`

### ReleaseDevice

*No description yet.*

```csharp
void ReleaseDevice(INexusDevice argNexusDevice);
void ReleaseDevice(object argNexusDevice);
```

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

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

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