package Greenstone::Interface;

use strict;
use warnings;
use utf8;
use Greenstone::Directory;
use Greenstone::XML::Tidy;
use Hash::Ordered;
use parent 'Greenstone::Directory';

my $dir = "interfaces";

sub new {
    return Greenstone::Directory::new ($dir, @_);
}

sub list {
    return Greenstone::Directory::list $dir;
}

my $configTemplate;

sub create {
    my $self = shift;
    $self->SUPER::create or return 0;
    my $dir = $self->dir;
    my $config = read_xml "$dir/../default/interfaceConfig.xml";
    my $root = $config->get ('interfaceConfig');
    unless ($root->exists ('.attr')) {
        $root->set ('.attr' => Hash::Ordered->new);
    }
    $root->get ('.attr')->set ('baseInterface' => "default");

    return write_xml $config, "$dir/interfaceConfig.xml";
}

1;
