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
)
);