//****************************************************************************************************** // ClientRequestHandler.cs - Gbtc // // Copyright © 2012, Grid Protection Alliance. All Rights Reserved. // // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See // the NOTICE file distributed with this work for additional information regarding copyright ownership. // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may // not use this file except in compliance with the License. You may obtain a copy of the License at: // // http://www.opensource.org/licenses/MIT // // Unless agreed to in writing, the subject software distributed under the License is distributed on an // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the // License for the specific language governing permissions and limitations. // // Code Modification History: // ---------------------------------------------------------------------------------------------------- // 05/02/2007 - Pinal C. Patel // Generated original version of source code. // 09/30/2008 - J. Ritchie Carroll // Converted to C#. // 03/09/2009 - Pinal C. Patel // Edited code comments. // 09/14/2009 - Stephen C. Wills // Added new header and license agreement. // 12/20/2012 - Starlynn Danyelle Gilliam // Modified Header. // //****************************************************************************************************** using System; namespace GSF.ServiceProcess { /// /// Represents a handler for s sent by . /// /// /// /// public class ClientRequestHandler { #region [ Constructors ] /// /// Initializes a new instance of the class. /// /// Command text that the will process. /// Description of the . /// method that will be invoked for processing the . /// Optional alias names to command. public ClientRequestHandler(string requestCommand, string requestDescription, Action handlerMethod, string[] aliases = null) : this(requestCommand, requestDescription, handlerMethod, true, aliases) { } /// /// Initializes a new instance of the class. /// /// Command text that the will process. /// Description of the . /// method that will be invoked for processing the . /// true if the is to be published by the ; otherwise false. /// Optional alias names to command. public ClientRequestHandler(string requestCommand, string requestDescription, Action handlerMethod, bool isAdvertised, string[] aliases = null) { Command = requestCommand; CommandDescription = requestDescription; HandlerMethod = handlerMethod; IsAdvertised = isAdvertised; Aliases = aliases; } #endregion #region [ Properties ] /// /// Gets the command text that the will process. /// public string Command { get; private set; } /// /// Gets any aliases for the command. /// public string[] Aliases { get; private set; } /// /// Gets the description of the . /// public string CommandDescription { get; private set; } /// /// Gets the method that gets invoked for processing the . /// public Action HandlerMethod { get; private set; } /// /// Gets a boolean value that indicates whether the will be published by the . /// public bool IsAdvertised { get; private set; } #endregion } }