-
Notifications
You must be signed in to change notification settings - Fork 14
/
methodHelp.code
44 lines (40 loc) · 1.13 KB
/
methodHelp.code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
###############################################################################
#
# Sub Name: methodHelp
#
# Description: Retrieve any help text for the specified methods.
#
# Arguments: NAME IN/OUT TYPE DESCRIPTION
# $srv in ref Server object instance
# $arg in ref/sc Listref or scalar specification
#
# Globals: None.
#
# Environment: None.
#
# Returns: Success: string or listref
# Failure: fault object
#
###############################################################################
sub methodHelp
{
use strict;
my $srv = shift;
my $arg = shift;
my $name = $srv->{method_name};
my @list = (ref $arg) ? @$arg : ($arg);
my @results = ();
my $method;
for (@list)
{
if (ref($method = $srv->get_method($_)) and (! $method->hidden))
{
push(@results, $method->help() || '');
}
else
{
return RPC::XML::fault->new(302, "$name: Method $_ unknown");
}
}
return (ref $arg) ? \@results : $results[0];
}