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