using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.PPC.Common;
namespace Tango.PPC.Common
{
/// <summary>
/// Represents a PPC remoting service.
/// </summary>
public interface IPPCService
{
/// <summary>
/// Gets or sets a value indicating whether this <see cref="IPPCService"/> is enabled.
/// </summary>
bool Enabled { get; set; }
}
}
public static class ExtensionMethods
{
/// <summary>
/// Throws an exception is the service is disabled.
/// </summary>
/// <param name="service">The service.</param>
/// <exception cref="System.InvalidOperationException"></exception>
public static void ThrowIfDisabled(this IPPCService service)
{
if (!service.Enabled)
{
throw new NotSupportedException($"The {service.GetType().Name} is currently disabled. Could not perform the requested action.");
}
}
}