diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCService.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCService.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCService.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCService.cs new file mode 100644 index 000000000..5dfe5335c --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCService.cs @@ -0,0 +1,36 @@ +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."); + } + } +} |
