Author: dylan
Date: 2005-06-20 03:43:46 -0400 (Mon, 20 Jun 2005)
New Revision: 777

Removed:
   trunk/main/core/lib/Haver/Factory.pm
   trunk/main/core/t/006_factory.t
Modified:
   trunk/
   trunk/main/server/bin/haverd.pl
   trunk/main/server/lib/Haver/Server/Listener.pm
   trunk/main/server/lib/Haver/Server/Talker.pm
   trunk/main/server/lib/Haver/Server/Wheel/Login.pm
   trunk/main/server/lib/Haver/Server/Wheel/Main.pm
Log:
merge


Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/havercurs-objc:43050
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:1103
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238
   + 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/havercurs-objc:43050
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:1106
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238

Deleted: trunk/main/core/lib/Haver/Factory.pm
===================================================================
--- trunk/main/core/lib/Haver/Factory.pm        2005-06-20 00:45:20 UTC (rev 
776)
+++ trunk/main/core/lib/Haver/Factory.pm        2005-06-20 07:43:46 UTC (rev 
777)
@@ -1,44 +0,0 @@
-# vim: set ts=4 sw=4 expandtab si ai sta tw=104:
-# This module is copyrighted, see end of file for details.
-package Haver::Factory;
-use strict;
-use warnings;
-use Haver::Base -base;
-our $VERSION = 0.01;
-
-field classes  => { };
-field _cache    => { };
-
-sub make {
-       my $self   = shift;
-    my $name   = shift;
-       my $class  = $self->class($name);
-    my $object = $class->new(@_);
-    
-    if ($object->can('factory')) {
-        $object->factory($self);
-    }
-
-    return $object;
-}
-
-sub cache {
-    my $self  = shift;
-    my $name  = shift;
-    my $class = $self->class($name);
-
-    return $self->{_cache}{$name} || ($self->{_cache}{$name} = 
$class->new(@_));
-}
-
-sub class {
-    my ($self, $name) = @_;
-    $self->{classes}{$name};
-}
-
-sub register_class {
-    my ($self, $name, $class) = @_;
-    $self->{classes}{$name} = $class;
-}
-
-
-1;

Deleted: trunk/main/core/t/006_factory.t
===================================================================
--- trunk/main/core/t/006_factory.t     2005-06-20 00:45:20 UTC (rev 776)
+++ trunk/main/core/t/006_factory.t     2005-06-20 07:43:46 UTC (rev 777)
@@ -1,30 +0,0 @@
-#!/usr/bin/perl
-# vim: set ft=perl:
-
-#########################
-
-# change 'tests => 1' to 'tests => last_test_to_print';
-
-use Test::More tests => 6;
-BEGIN {
-       use_ok('Haver::Factory');
-       use_ok('Haver::Config');
-};
-
-can_ok('Haver::Factory', 'new', 'make', 'cache', 'register_class');
-
-my $fac = new Haver::Factory (
-       classes => {
-               config => 'Haver::Config'
-       },
-);
-
-ok($fac, 'testing new()');
-
-my $config = $fac->make('config', file => 'foobar');
-ok($config->file eq 'foobar', "testing make()");
-
-my $c1 = $fac->cache('config', file => 'foobar');
-my $c2 = $fac->cache('config', file => 'foobar');
-
-ok($c1 == $c2, "testing cache() for sameness");

Modified: trunk/main/server/bin/haverd.pl
===================================================================
--- trunk/main/server/bin/haverd.pl     2005-06-20 00:45:20 UTC (rev 776)
+++ trunk/main/server/bin/haverd.pl     2005-06-20 07:43:46 UTC (rev 777)
@@ -22,23 +22,13 @@
 use Haver::Server::Entity::User;
 use Haver::Server::Entity::Channel;
 use Haver::Server::Entity::Lobby;
-use Haver::Factory;
 use Haver::Server::Listener;
 
 
 use POE;
 
-my $factory = new Haver::Factory (
-       classes => {
-               user    => 'Haver::Server::Entity::User',
-               channel => 'Haver::Server::Entity::Channel',
-               lobby   => 'Haver::Server::Entity::Lobby',
-               config  => 'Haver::Config',
-       },
-);
-
 create Haver::Server::Listener (
-       factory => $factory,
+       lobby => new Haver::Server::Entity::Lobby,
 );
 
 

Modified: trunk/main/server/lib/Haver/Server/Listener.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Listener.pm      2005-06-20 00:45:20 UTC 
(rev 776)
+++ trunk/main/server/lib/Haver/Server/Listener.pm      2005-06-20 07:43:46 UTC 
(rev 777)
@@ -25,9 +25,9 @@
 sub _start {
        my ($kernel, $heap, $opt) = @_[KERNEL, HEAP, ARG0];
 
-       $heap->{wheels}     = {};
-       $heap->{children}   = {};
-       $heap->{factory}    = $opt->{factory};
+       $heap->{wheels}   = {};
+       $heap->{children} = {};
+       $heap->{lobby}    = $opt->{lobby};
        $kernel->alias_set($Alias);
        
        Log("$Alias starts.");
@@ -77,7 +77,7 @@
                address   => Socket::inet_ntoa($address),
                port      => $port,
                sockinfo  => $heap->{info}{$wid},
-               factory   => $heap->{factory},
+               lobby     => $heap->{lobby},
        );
 }
 
@@ -96,7 +96,7 @@
        $kernel->alias_remove($Alias);
        
        foreach my $kid (keys %{ $heap->{children} }) {
-               $kernel->post($kid, 'shutdown');
+               $kernel->post($kid, 'shutdown', 'die');
        }
        
        delete $heap->{wheels};

Modified: trunk/main/server/lib/Haver/Server/Talker.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Talker.pm        2005-06-20 00:45:20 UTC 
(rev 776)
+++ trunk/main/server/lib/Haver/Server/Talker.pm        2005-06-20 07:43:46 UTC 
(rev 777)
@@ -42,9 +42,9 @@
        %$heap = (
                %$opt,
                client   => $client,
-               lobby    => $opt->{factory}->cache('lobby'),
                loader   => new Haver::Wheel::Loader,
        );
+       croak "no lobby!" unless defined $heap->{lobby};
        $heap->{loader}->load_wheel('Haver::Server::Wheel::Login');
 }
 

Modified: trunk/main/server/lib/Haver/Server/Wheel/Login.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Wheel/Login.pm   2005-06-20 00:45:20 UTC 
(rev 776)
+++ trunk/main/server/lib/Haver/Server/Wheel/Login.pm   2005-06-20 07:43:46 UTC 
(rev 777)
@@ -38,7 +38,7 @@
        } elsif ($ns eq 'user' and is_reserved_name($name)) {
                $kernel->yield('fail', "reserved.$ns", $name);
        } else {
-               my $user = $heap->{factory}->make($ns,
+               my $user = new Haver::Server::Entity::User (
                        name  => $name,
                        wheel => $heap->{client}, # weak reference!
                );

Modified: trunk/main/server/lib/Haver/Server/Wheel/Main.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Wheel/Main.pm    2005-06-20 00:45:20 UTC 
(rev 776)
+++ trunk/main/server/lib/Haver/Server/Wheel/Main.pm    2005-06-20 07:43:46 UTC 
(rev 777)
@@ -88,7 +88,7 @@
        }
 
        $lobby->add(
-               $heap->{factory}->make('channel',
+               new Haver::Server::Entity::Channel (
                        name => $name
                )
        );


Reply via email to