chr
2026-04-05 fe750b791d5b517cc4e9bc8e99a9a75139a0cfba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//            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
{
    /// <summary>
    /// Specifies the device address used to establish a connection. Use inheritance to define a custom device address. />. 
    /// </summary>
    [AttributeUsage(AttributeTargets.Property)]
    public abstract class DeviceAddressAttribute : Attribute
    { }
 
    /// <summary>   Interface for defining a custom device address discovery system. Implement this along with a specialization of <see cref="DeviceAddressAttribute"/>.  </summary>
    [Display("Device Discovery")]
    public interface IDeviceDiscovery : ITapPlugin
    {
        /// <summary> Returns true if this IDeviceDiscovery can look up addresses for the type of device address supplied.   </summary>
        /// <param name="DeviceAddress"> The device address kind. </param>
        /// <returns></returns>
        bool CanDetect(DeviceAddressAttribute DeviceAddress);
 
        /// <summary> Looks up all the device addresses available for a given device address type. </summary>
        /// <param name="AddressType">  Type of the address. </param>
        /// <returns>   A string[]. </returns>
        string[] DetectDeviceAddresses(DeviceAddressAttribute AddressType);
    }
 
    /// <summary> 
    /// Identifies a string as a VISA address and finds a list of discovered VISA addresses. 
    /// </summary>
 
    public class VisaAddressAttribute : DeviceAddressAttribute
    { }
}