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 to support Java clients communicating with any Elvin-compatible router (including, of course, Avis).

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 - 10.6), iPhone OS, Linux, Solaris (5.9 and later), and Microsoft Windows (XP and later).

Examples

The C client library package contains programming examples in src/examples, including the traditional "Hello World":

  • hello_world.c. A single application 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