Author: dylan
Date: 2005-01-01 02:31:33 -0500 (Sat, 01 Jan 2005)
New Revision: 502

Modified:
   trunk/clients/termvisual/termvisual.pl
   trunk/dev-tools/do-haver-snapshots
   trunk/docs/manual/chap/events.texi
   trunk/main/server/lib/Haver/Server/Object.pm
Log:
termvisual client now uses the current Haver::Config and Haver::Config
has a different, not yet documented, API.



Modified: trunk/clients/termvisual/termvisual.pl
===================================================================
--- trunk/clients/termvisual/termvisual.pl      2005-01-01 06:23:27 UTC (rev 
501)
+++ trunk/clients/termvisual/termvisual.pl      2005-01-01 07:31:33 UTC (rev 
502)
@@ -18,6 +18,7 @@
 use Curses;
 use Haver::Protocol;
 use Haver::Config;
+use Haver::OS;
 
 my ($config, %ucommands, %scommands);
 
@@ -25,7 +26,7 @@
     channel => 'bright cyan on black',
     nick    => 'white on black',
     nickdecs    => 'bright black on black',
-    ncolor  => 'bright white on black',
+    ncolor  => 'white on black',
 );
 
 our %Bindings = (
@@ -52,10 +53,10 @@
 sub handle_start {
     my ($kernel, $heap) = @_[KERNEL, HEAP];
 
-    $heap->{config} = Haver::Config->new(
+    $heap->{config_handle} = Haver::Config->new(
         file => "config",
         default => {
-            UID     => 'blah' || 'A_User',
+            UID     => Haver::OS->current_user,
             Channel => 'lobby',
             HistSize    => 50,
             BufferSize  => 1000,
@@ -64,6 +65,7 @@
             CommandChars    => '/.',
         },
     );
+    $heap->{config} = $heap->{config_handle}->config;
 
     $heap->{vt} = Term::Visual->new( Alias => "user_interface" );
 
@@ -91,7 +93,7 @@
 
 sub handle_shutdown {
     my ($kernel, $heap) = @_[KERNEL, HEAP];
-    $heap->{config}->save;
+    $heap->{config_handle}->save;
     $heap->{vt}->delete_window($heap->{window_id});
     $heap->{vt}->shutdown;
     exit;

Modified: trunk/dev-tools/do-haver-snapshots
===================================================================
--- trunk/dev-tools/do-haver-snapshots  2005-01-01 06:23:27 UTC (rev 501)
+++ trunk/dev-tools/do-haver-snapshots  2005-01-01 07:31:33 UTC (rev 502)
@@ -1,6 +1,5 @@
 #!/bin/zsh
 
-
 home=/home/dylan/src/Haver/download/snapshots/
 base=file:///var/svn
 

Modified: trunk/docs/manual/chap/events.texi
===================================================================
--- trunk/docs/manual/chap/events.texi  2005-01-01 06:23:27 UTC (rev 501)
+++ trunk/docs/manual/chap/events.texi  2005-01-01 07:31:33 UTC (rev 502)
@@ -28,8 +28,6 @@
 send to each other.
 @end ifnottex
 
-
-
 @menu
 * Connection Events::  How to connect, disconnect, and stay connected.
 * Channel Events:: How to join and part channels.

Modified: trunk/main/server/lib/Haver/Server/Object.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Object.pm        2005-01-01 06:23:27 UTC 
(rev 501)
+++ trunk/main/server/lib/Haver/Server/Object.pm        2005-01-01 07:31:33 UTC 
(rev 502)
@@ -29,7 +29,7 @@
 use File::Path ();
 
 # Subclass Haver::Savable
-use base 'Haver::Savable';
+use base 'Haver::Base';
 
 use overload (
        '==' => 'equals',
@@ -48,8 +48,6 @@
 our $StorageDir ||= './store';
 
 
-our $IdPattern ||= qr/&?[A-Za-z][A-Za-z0-9_'[EMAIL PROTECTED]/;
-our $NsPattern ||= qr/[a-z]+/;
 our %Types = (
        # '' => 'public',
        '+'  => 'broadcast',
@@ -85,8 +83,8 @@
 
        $me->SUPER::initialize();
 
+       $me->{_objects} = {};
        $me->{_fields}  = {};
-       $me->{_loc}     = {};
        $me->{id}       ||= $ID++;
 
        my @ns = @{ (delete $me->{namespaces}) || [] };
@@ -106,74 +104,6 @@
        return $me->{id};
 }
 
-sub filename {
-       my ($me) = @_;
-       return File::Spec->catfile($StorageDir, $me->namespace, $me->id);
-}
-
-sub directory {
-       my ($me) = @_;
-       
-       return File::Spec->catdir($StorageDir, $me->namespace);
-}
-
-
-sub saved_ids {
-       my ($me) = @_;
-       my $dir = $me->directory;
-       my $dh;
-       opendir $dh, $dir or return ();
-       my @dirs = readdir $dh;
-       closedir $dh;
-       return wantarray ? @dirs : [EMAIL PROTECTED];
-}
-
-## Methods for accessing fields.
-sub set {
-       my ($me, @set) = @_;
-       
-       while (my ($k,$v) = splice(@set, 0, 2)) {
-               $me->{_fields}{$k} = $v;
-       }
-}
-
-sub lset {
-       my ($me, $loc, @set) = @_;
-       
-       while (my ($k,$v) = splice(@set, 0, 2)) {
-               $me->{_loc}{$loc}{$k} = $v;
-       }
-}
-
-sub get {
-       my ($me, @keys) = @_;
-
-       if (@keys <= 1) {
-               return _val($me->{_fields}{$keys[0]}, $me);
-       }
-       my @values;
-       
-       foreach my $key (@keys) {
-               push(@values, _val($me->{_fields}{$key}, $me));
-       }
-
-       return wantarray ? @values : [EMAIL PROTECTED] ;
-}
-
-sub lget {
-       my ($me, $loc, @keys) = @_;
-
-       if (@keys <= 1) {
-               return _val($me->{_loc}{$loc}{$keys[0]}, $me);
-       }
-       my @values;
-       
-       foreach my $key (@keys) {
-               push(@values, _val($me->{_loc}{$loc}{$key}, $me));
-       }
-
-       return wantarray ? @values : [EMAIL PROTECTED] ;
-}
 sub _val {
        return $_[0] if not ref $_[0];
        
@@ -184,83 +114,6 @@
        }
 }
 
-sub has {
-       my ($me, @keys) = @_;
-
-       if (@keys <= 1) {
-               return exists $me->{_fields}{$keys[0]};
-       }
-       
-       foreach my $key (@keys) {
-               unless (exists $me->{_fields}{$key}) {
-                       return undef;
-               }
-       }
-
-       return 1;
-}
-sub del {
-       my ($me, @keys) = @_;
-       
-       if (@keys <= 1) {
-               return delete $me->{_fields}{$keys[0]};
-       }
-       
-       foreach my $key (@keys) {
-               delete $me->{_fields}{$key};
-       }
-       
-       
-       return 1;
-}
-sub list_fields {
-       my ($me) = @_;
-       return keys %{ $me->{_fields} };
-}
-
-
-
-sub _save_data {
-       my ($me) = @_;
-       my (%fields, %flags);
-       my %data = (
-               Class  => ref($me),
-               ID     => $me->id,
-               NS     => $me->namespace,
-               fields => \%fields,
-       );
-
-       foreach my $f ($me->list_fields) {
-               $fields{$f} = $me->{_fields}{$f};
-       }
-
-       File::Path::mkpath($me->directory);
-       return \%data;
-}
-
-sub _init_data {
-       my ($me) = @_;
-       
-       $me->{_fields} = (delete $me->{'-default'}{fields}) || {};
-       delete $me->{'-default'};
-
-       1;
-}
-
-sub _load_data {
-       my ($me, $data) = @_;
-       
-       no warnings;
-       ASSERT: $data->{ID}    eq $me->id;
-       ASSERT: $data->{NS}    eq $me->namespace;
-       ASSERT: $data->{Class} eq ref($me);
-       use warnings;
-
-       %{$me->{_fields}} = (%{$me->{_fields}}, %{delete $data->{fields}});
-
-       1;
-}
-
 ## Operator overload methods
 sub equals {
        my ($me, $what) = @_;
@@ -268,59 +121,11 @@
        return (($me->namespace eq $what->namespace) and ($me->id eq 
$what->id));
 }
 
-sub as_string {
-       my ($me) = @_;
-
-       return $me->namespace . '/' . $me->id;
-}
-
-
-sub write_file {
-       my ($me, $file, $data) = @_;
-       Storable::nstore($data, $file);
-}
-
-sub read_file {
-       my ($me, $file) = @_;
-       Storable::retrieve($file);
-}
-
-
-
 sub has_namespace {
        my ($me, $ns) = @_;
        return exists $me->{".$ns"};
 }
 
-sub is_valid_id {
-       my ($this, $id) = @_;
-
-       return 1 if $id eq '&';
-       if (defined $id && ($id =~ /^$IdPattern$/)) {
-               if (length($id) > 2 and length($id) < 20) {
-                       return 1;
-               } else {
-                       return 0;
-               }
-       } else {
-               return 0;
-       }
-}
-
-sub is_valid_ns {
-       my ($this, $ns) = @_;
-
-       if (defined $ns && $ns =~ /^$NsPattern$/) {
-               if (length($ns) > 2 and length($ns) < 20) {
-                       return 1;
-               } else {
-                       return 0;
-               }
-       } else {
-               return 0;
-       }
-}
-
 sub namespaces {
        my ($me) = @_;
        my @ns = ();


Reply via email to