#!/usr/bin/perl -I/usr/sausalito/perl
# $Id: ccedel,v 1.1 2001/08/20 19:42:55 jeffb Exp $
# Copyright (c) 1999,2000 Cobalt Networks, Inc. 
# http://www.cobalt.com/
#

use lib qw(/usr/sausalito/perl);

require Shell;
require ShellCfg;
use Getopt::Std;
use strict;

my $opts = {};
getopts('n:h', $opts);
my $ref = ShellCfg::mapOpts('delete', $opts);

my $prog = `basename $0`;
chomp($prog);

my $class;
if($prog eq 'cdeluser') {
	$class = "User";
	if($ref->{name} eq 'admin') {
		die "Cannot delete admin user\n";
	}
} elsif($prog eq 'cdelgroup') {
	$class = "Workgroup";
	if($ref->{name} eq 'home' || 
		$ref->{name} eq 'restore' || 
		$ref->{name} eq 'guest-share') {
		die "Cannot delete group ", $ref->{name}, "\n";
	}
} elsif($prog eq 'cdelmailList') {
	$class = "MailList";
}
unless($ref->{name}) {
	die "You must provide a name\n";
}

# no need to use Shell here
my $cce = new Shell;
$cce->connectuds();
my ($oid) = $cce->find($class, { name => $ref->{name} });
unless($oid) {
	die "Cannot find ", $ref->{name}, " in $class\n";
}
$cce->destroy($oid);
print "You have destroyed ", $ref->{name}, "\n";
$cce->bye("see ya soon");
exit 0;

sub usage 
{
print <<EOF;
$0: Copyright (c) 1999,2000,2001 Cobalt Networks, Inc.
usage: $0 [-n name]
	-n The name of the object you want to delete
	-h show this help
EOF
    exit 0;
}


