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
38
39
40
41
42
43
44
45
46
47
48
49
50
//            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.ComponentModel;
using System.Xml.Serialization;
 
namespace OpenTap
{
    /// <summary>
    /// Base interface for resources. Specializations include Dut, Instrument and ResultListener.
    /// </summary>
    public interface IResource : INotifyPropertyChanged
    {
        /// <summary>
        /// A short name to display in the user interface in areas with limited space.
        /// </summary>
        [Display("Name",Group: "Common", Order: -1)]
        string Name { get; set; }
 
        /// <summary>
        /// When overridden in a derived class, opens a connection to the resource represented by this class.
        /// </summary>
        void Open();
 
        /// <summary>
        /// When overridden in a derived class, closes the connection made to the resource represented by this class.
        /// </summary>
        void Close();
 
        /// <summary>
        /// Indicates whether this DUT is currently connected.
        /// This value should be set by Open() and Close().
        /// </summary>
        [XmlIgnore]
        [Browsable(false)]
        bool IsConnected { get; }
    }
 
    /// <summary>
    /// Resources that can be enabled and disabled. Currently this is only supported for ResultListeners.
    /// </summary>
    public interface IEnabledResource : IResource
    {
        /// <summary>
        /// Gets or sets if this resources is enabled.
        /// </summary>
        bool IsEnabled { get; set; }
    }
}