Avis Client Libraries
The Avis project provides client libaries for development of applications that wish to interact with an Elvin router. There are currently libraries for Java and C, both available under the terms of the LGPL version 3.
Java Library
The Avis Java Client Library provides a high level API for Java clients communicating with an Elvin router. It is based on the same foundations as the Avis router, but is made available under the terms of the GNU Lesser General Public License (LGPL) rather than the GPL used by the router.
Download the Java client library (latest stable version 1.1.0: see the Sourceforge download page for older releases).
Javadoc API documentation for the latest version of the library.
Examples
The Java client library package contains a number of programming
examples in src/examples and documentation on how to use them in
doc/examples.txt. The examples are:
HelloWorld.java. A single class creates two Elvin client connections, one sending the traditional "Hello World" message as a greeting, the other one listening for all greetings and printing them to the console.
WallBroadcaster.java and WallReceiver.java. This example uses two console applications to simulate a simple Unix "wall"-style command that broadcasts text to a number of consoles.
SecureSender.java and SecureReceiver.java. In this example we set up a situation where a sender wants to ensure that only receivers it trusts can see its messages.
You can also see a demonstration of the Java client library in a realistic scenario at the examples page.
C Library
The Avis client library for C is a very small, portable C library for accessing Elvin router services from native applications. It is actively supported on Mac OS X (10.4 and 10.5), Linux (Fedora Core 3 and later), Solaris (5.9 and later), and Microsoft Windows (XP and later).
Download the C client library (source, release 1.0.0).
C API documentation for the latest version of the library.
Examples
The C client library package contains programming examples in
src/examples, including the traditional "Hello World":
- hello_world.c. A single applicatinon creates two Elvin client connections, one sending the traditional "Hello World" message as a greeting, the other one listening for greetings and printing them to the console.
Other Documentation
- A description of the Elvin subscription language.