Hyper Quantum's Ada Tools
Hyper Quantum have specialist expertise in Ada software development. The following details products that we have developed for the open source community.
LGPL Ada Tools
Ada Sockets additional routines to match the AdaSockets package
Calendar Extensions which provide UTC time and to provide string conversion functions for time. The standard Ada.Calendar functions are also made visible through this package through renaming. Note: this package requires String_Functions.
Configuration File Manager tool which provides reading and writing facilities for accessing a configuration file and the various sections therein. This package requires the dynamic strings (Strings) package.
Dynamic Lists is a Generic package for providing a binary tree list for any type. It is based on the dynamic lists in "Programming in Ada95" by John Barnes (a book worth owning).
dynamic length Strings package, which evolved from the Ada83 days. Much of this is supersceded by the unbounded strings built into Ada, but it contains a few nice string manipulation routines. One day I may get around to just making the extra bits a child package of the standard unbounded strings. It uses wide strings internally.
Error Log package which provides sophisitcated logging facilities, for example, to push location details on to a stack for later unwinding when an error occurs, debug logging by level. This package requires the Dynamic_Lists package.
General Message Types is a generic package for storing message numbers and associated types.
Generic Command Line Parameters is a generic package for accessing command line parameters. Parameters are specified in the usual -x or --xname format. The package verifies the command line is correctly formed and displays the usage message if not. See the extensive documentation in the package library for further details. The package requires the Strings_Functions package.
Generic Versions Generic package provides a storage mechanism for version numbering and, if used by an application's associated libraries, can yield up the version numbers of each such library.
Interlocks package provides an interlock facility for use by applications. The key elements of the Interlock protected type are the entry Lock and the procedure Release, and is essentially a classic interlock package. It also provides a termination status interlock, allowing a mainline package to wait on completion by independently running tasks before terminating.
String Functions package provides additional functions for the standard string type.
Strings Functions package uses the dynamic Strings package and provides additional functions for it.
The above software is licenced under the terms and conditions of the LGPL
GPL Ada Products
Port Logger tool for logging all communications on a particular port to a file and redirects the output to any other specified port on any machine.
Port Reflector tool reflects input on any particular port back to the client machine. It would be used, for instance, to test a firewall prior to connecting the firewall to the real world. The ports to be reflected are specified in a configuration file.
The above software is licenced under the terms and conditions of the GPL