Thursday, October 21, 2010

The conditional PARAMs is implemented

The PARAM can be enabled or disabled relying on result of condition evaluation. The 'test' field is added to PARAM tag. The 'test' field syntax is similar to /bin/test utility. So the visibility of parameter can depend  on previous PARAMs values.

The example:
...
                <PARAM name="proto"
                        help="Protocol to use for the ping"
                        optional="true"
                        mode="switch"
                        ptype="STRING">
                        <PARAM name="ip"
                                help="Send ICMP IPv4 messages to network hosts"
                                mode="subcommand"
                                ptype="SUBCOMMAND"/>
                        <PARAM name="ipv6"
                                help="Send ICMP IPv6 messages to network hosts"
                                mode="subcommand"
                                ptype="SUBCOMMAND"/>
                        <PARAM name="arp"
                                help="Send ICMP IPv6 messages to network hosts"
                                mode="subcommand"
                                ptype="SUBCOMMAND"/>
                </PARAM>

                <PARAM name="resolve"
                        help="Resolve names"
                        ptype="SUBCOMMAND"
                        mode="subcommand"
                        optional="true"
                        test="${proto} = ip -o ${proto} = ipv6"/>
...

No comments:

Post a Comment