#!/usr/bin/perl -w

use Socket;

if (scalar @ARGV == 2) {
    ($channel, $username) = @ARGV;
    if ($username eq "available") {
	$available = 1;
    } else {
	die;
    }
} elsif (scalar @ARGV == 3) {
    ($channel, $username, $timeout) = @ARGV;
    $available = 0;
} else {
    die;
}

socket( CLIENT, PF_UNIX, SOCK_DGRAM, 0 ) or die;
connect( CLIENT, sockaddr_un( "/tmp/lamp-display-socket" )) or die;

select CLIENT;

$|=1;

$username =~ s/\@.*//g;

if ($available) {
    $message = pack "CC", 0, $channel;
    $message .= "Available. Visit http://lamp.mit.edu to use.";
    print $message;
    $message = pack "CC", 2, $channel;
    print $message;
    $message = pack "CC", 3, $channel;
    print $message;
    $message = pack "CCx", 1, $channel;
    print $message;
} else {
    $message = pack "CC", 0, $channel;
    $message .= "Reserved. ";
    print $message;
    $message = pack "CC", 2, $channel;
    $message .= $username;
    print $message;
    $message = pack "CCV", 3, $channel, $timeout;
    print $message;
    $message = pack "CCx", 1, $channel;
    print $message;
}

