#!/usr/bin/perl -w
# Author: Ferdi Franceschini
#
# dpid control program
# Currently allows
# register: Tells dpid to register all available dpis
# stop: Stops dpid.

use strict;
use IO::Socket::UNIX;

# Get socket directory name
open(DSD, "<$ENV{HOME}/.dillo/dpi_socket_dir");
my $dir = <DSD>;
close(DSD);

my $socket = IO::Socket::UNIX->new(Peer => "$dir/dpid.srs", Type => SOCK_STREAM, Timeout => 1000 ) or die "new: $@";

$socket->autoflush(1);

my %dpi_command = ( 
        "register" => "<dpi cmd='register_all'>",
        "stop" => "<dpi cmd='DpiBye'>",
        );

if ( exists($dpi_command{$ARGV[0]}) ) {
        print $socket $dpi_command{$ARGV[0]};
} else {
        close($socket);
        print "Usage: dpidc register|stop\n";
}
