// Copyright Keysight Technologies 2012-2019
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, you can obtain one at http://mozilla.org/MPL/2.0/.
using System;
namespace OpenTap
{
///
/// Specifies the device address used to establish a connection. Use inheritance to define a custom device address. />.
///
[AttributeUsage(AttributeTargets.Property)]
public abstract class DeviceAddressAttribute : Attribute
{ }
/// Interface for defining a custom device address discovery system. Implement this along with a specialization of .
[Display("Device Discovery")]
public interface IDeviceDiscovery : ITapPlugin
{
/// Returns true if this IDeviceDiscovery can look up addresses for the type of device address supplied.
/// The device address kind.
///
bool CanDetect(DeviceAddressAttribute DeviceAddress);
/// Looks up all the device addresses available for a given device address type.
/// Type of the address.
/// A string[].
string[] DetectDeviceAddresses(DeviceAddressAttribute AddressType);
}
///
/// Identifies a string as a VISA address and finds a list of discovered VISA addresses.
///
public class VisaAddressAttribute : DeviceAddressAttribute
{ }
}