You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.1 KiB
71 lines
2.1 KiB
This directory contains a very basic example of usage of the generic
|
|
package.
|
|
|
|
Our goal
|
|
========
|
|
|
|
We want to write the line parsing code for a program that is supposed
|
|
to contact a remote host, authenticating with a username and,
|
|
possibly, a password. By default the remote host listens on port
|
|
4242, but a different port can be specified. The main procedure in
|
|
basic_example-main.adb implements the required command line parsing
|
|
and prints the result on the standard output.
|
|
|
|
More precisely, the parameters on the command line are to be specified
|
|
as follows
|
|
|
|
* The host address will be specified with the parameter "host" (only
|
|
numerical addresses are accepted)
|
|
|
|
* The optional port will be specified with the parameter "port", if
|
|
not specified, the port defaults to 4242
|
|
|
|
* The username can be specified, equivalently, with the parameter
|
|
"user" or with the parameter "username"
|
|
|
|
* The optional password can be specified, equivalently, with the parameter
|
|
"pwd" or with the parameter "password". If not specified, the
|
|
password defaults to ""
|
|
|
|
Examples
|
|
--------
|
|
|
|
Therefore, for example, the following command lines are accepted
|
|
|
|
basic_example-main host=196.18.1.34 user=pippo
|
|
|
|
Contact host 196.18.1.34 on port 4242 with username pippo and no password
|
|
|
|
basic_example-main host=196.18.1.34 username=pippo
|
|
|
|
Equivalent to the command line above
|
|
|
|
basic_example-main host=196.18.1.34 user=pippo pwd=pluto
|
|
|
|
Contact host 196.18.1.34 with username pippo and password pluto
|
|
|
|
basic_example-main host=196.18.1.34 user=pippo password=pluto
|
|
|
|
Equivalent to the command line above
|
|
|
|
basic_example-main host=196.18.1.34 port=12345 user=pippo
|
|
|
|
Contact host 196.18.1.34 on port 12345 with username pippo and no password
|
|
|
|
|
|
Structure of the program
|
|
========================
|
|
|
|
It is very simple:
|
|
|
|
* basic_example-main.adb
|
|
|
|
Contains the main procedure
|
|
|
|
* basic_example-parameters.adb
|
|
|
|
Defines a record that holds the four parameters (host, port,
|
|
username and password) that can be specified by the user. It
|
|
defines also procedures that set the four parameters and that
|
|
can be used as callbacks for the line parsers.
|