#!/usr/bin/env perl

# Use mandatory external modules
use strict;
use Cwd;
use File::Basename;
use Data::Dumper;
use POSIX;
use Config;
use DBI;

# Determine installation dir name
our $SELF_DIR = dirname(dirname(dirname(Cwd::abs_path(__FILE__))));

# Include parts of the system
require $SELF_DIR . '/lib/config.pm';
require $SELF_DIR . '/lib/log.pm';
require $SELF_DIR . '/lib/roles.pm';

# Read config file
our $config = ReadConfig("mmm_agent.conf");

if (scalar(@ARGV) < 1) {
    print "Usage: $0 <role>\n\n";
    exit(1);
}

my $role = $ARGV[0];
$role =~ /^(.*)\((.*);(.*)\)$/;
my $role_name = $1;
my $ip = $2;
my $master_host = $3;

my $res = CheckRole($role_name, $ip, $master_host);

print "$res\n";
exit(0);

#-----------------------------------------------------------------
sub CheckRole($$$) {
    my $role = shift;
    my $ip = shift;
    my $master_host = shift;
    
    if ($role eq 'reader') {
        CheckIP($ip);
        return "OK: Role 'reader' is here!";
    }
    
    if ($role eq 'writer') {
        AllowWrite();
        CheckIP($ip);
        return "OK: Role 'writer' is here!"
    }
    
    return "ERROR: Unknown role: $role!";
}
