private void ShowRequestHelp(ClientRequestInfo requestInfo)
{
if (requestInfo.Request.Arguments.ContainsHelpRequest)
{
StringBuilder helpMessage = new StringBuilder();
helpMessage.Append("Displays a list of commands supported by the service.");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Usage:");
helpMessage.AppendLine();
helpMessage.Append(" Help -options");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Options:");
helpMessage.AppendLine();
helpMessage.Append(" -?".PadRight(20));
helpMessage.Append("Displays this help message");
helpMessage.AppendLine();
helpMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, helpMessage.ToString());
}
else
{
bool showAdvancedHelp = requestInfo.Request.Arguments.Exists("advanced");
StringBuilder responseMessage = new StringBuilder();
responseMessage.AppendFormat("Commands supported by {0}:", Name);
responseMessage.AppendLine();
responseMessage.AppendLine();
responseMessage.Append("Command".PadRight(20));
responseMessage.Append(' ');
responseMessage.Append("Description".PadRight(55));
responseMessage.AppendLine();
responseMessage.Append(new string('-', 20));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 55));
lock (m_clientRequestHandlers)
{
foreach (ClientRequestHandler handler in m_clientRequestHandlers)
{
if (m_secureRemoteInteractions && SecurityProviderUtility.IsResourceSecurable(handler.Command) && !SecurityProviderUtility.IsResourceAccessible(handler.Command))
continue;
if (!handler.IsAdvertised && !showAdvancedHelp)
continue;
responseMessage.AppendLine();
responseMessage.Append(handler.Command.PadRight(20));
responseMessage.Append(' ');
responseMessage.Append(handler.CommandDescription.PadRight(55));
}
}
responseMessage.AppendLine();
responseMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, responseMessage.ToString());
}
}