Index: trunk/console/lib/Console.pm
===================================================================
--- trunk/console/lib/Console.pm	(revision 24600)
+++ trunk/console/lib/Console.pm	(revision 24610)
@@ -8,7 +8,11 @@
 
 use Config::YAML;
+use Params::Validate qw(:all);
+
 
 sub find_rcfile
 {
+    validate_pos(@_);
+
     my $rcname = "." . __PACKAGE__ . "rc";
     my $rcfile;
@@ -25,4 +29,6 @@
 sub read_rcfile
 {
+    validate_pos(@_, 1);
+
     my $rcfile = shift;
 
@@ -40,4 +46,43 @@
 }
 
+sub add_host
+{
+    my %p = validate(@_,
+        {
+            config      => { isa => 'Config::YAML', },
+            hostname    => { type => SCALAR, },
+            console     => { type => SCALAR, },
+         },
+    );
+
+    my $c = $p{config};
+
+    my $hosts = $c->get_hosts;
+    $hosts->{$p{hostname}} = { console => $p{console} };
+    $c->set_hosts($hosts);
+    $c->write;
+
+    return 1;
+}
+
+sub delete_host
+{
+    my %p = validate(@_,
+        {
+            config      => { isa => 'Config::YAML', },
+            hostname    => { type => SCALAR, },
+         },
+    );
+
+    my $c = $p{config};
+
+    my $hosts = $c->get_hosts;
+    delete $hosts->{$p{hostname}};
+    $c->set_hosts($hosts);
+    $c->write;
+
+    return 1;
+}
+
 
 1;
