Author: dylan
Date: 2004-12-17 00:16:52 -0500 (Fri, 17 Dec 2004)
New Revision: 426

Modified:
   trunk/main/server/lib/Haver/Server/Event.pm
   trunk/main/server/lib/Haver/Server/Event/Login.pm
   trunk/main/server/lib/Haver/Server/Plugin.pm
Log:
hmm, Events is a better name. I'll do that after this commit.


Modified: trunk/main/server/lib/Haver/Server/Event/Login.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Event/Login.pm   2004-12-17 05:07:04 UTC 
(rev 425)
+++ trunk/main/server/lib/Haver/Server/Event/Login.pm   2004-12-17 05:16:52 UTC 
(rev 426)
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this module; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-package Haver::Server::Commands::Connection;
+package Haver::Server::Events::Connection;
 use strict;
 use warnings;
 
@@ -38,7 +38,7 @@
        );
 }
 
-sub commands {
+sub events {
        qw(
                HAVER
                IDENT
@@ -48,7 +48,7 @@
        );
 }
 
-sub cmd_HAVER {
+sub evt_HAVER {
        my ($me, $kernel, $heap, $args) = @_[OBJECT, KERNEL, HEAP, ARG0];
        my $client = $args->[0];
        
@@ -64,7 +64,7 @@
        $kernel->yield('want', 'IDENT');
 }
 
-sub cmd_IDENT {
+sub evt_IDENT {
        my ($me, $kernel, $heap, $args) = @_[OBJECT, KERNEL, HEAP, ARG0];
        my ($id, $ns) = @$args;
 
@@ -120,7 +120,7 @@
        $kernel->yield('accept', $id, $user);
 }
 
-sub cmd_AUTH {
+sub evt_AUTH {
        my ($me, $kernel, $heap, $args) = @_[OBJECT, KERNEL, HEAP, ARG0];
        my $method = $args->[0];
 
@@ -137,7 +137,7 @@
        }       
 }
 
-sub cmd_AUTH_PASS {
+sub evt_AUTH_PASS {
        my ($me, $kernel, $heap, $args) = @_[OBJECT, KERNEL, HEAP, ARG0];
        my ($pass) = @$args;
        my $user   = delete $heap->{user};

Modified: trunk/main/server/lib/Haver/Server/Event.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Event.pm 2004-12-17 05:07:04 UTC (rev 
425)
+++ trunk/main/server/lib/Haver/Server/Event.pm 2004-12-17 05:16:52 UTC (rev 
426)
@@ -1,5 +1,5 @@
 # vim: set ft=perl ts=4 sw=4:
-# Commands - description
+# Haver::Server::Event - Base class for 
 # 
 # Copyright (C) 2004 Dylan William Hardison.
 # 
@@ -16,24 +16,27 @@
 # You should have received a copy of the GNU General Public License
 # along with this module; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-package Haver::Server::Commands;
+package Haver::Server::Event;
 use strict;
 use warnings;
 
 our $VERSION = '0.01';
 
-sub setup {
-       my $me = shift;
+sub new {
+    my $me = shift->SUPER::new(@_);
 
        if (ref($me) eq __PACKAGE__) {
                croak __PACKAGE__ . " is a virtual base class!";
        }
+}
 
-       $me->SUPER::setup();
-       $me->provide_prefix_both('cmd_', $me->commands);
+sub setup {
+       my $me = shift;
+
+    $me->provide_prefix('on_', $me->states);
+       $me->provide_prefix_both('evt_', $me->events);
 }
 
 
 
 1;
-

Modified: trunk/main/server/lib/Haver/Server/Plugin.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Plugin.pm        2004-12-17 05:07:04 UTC 
(rev 425)
+++ trunk/main/server/lib/Haver/Server/Plugin.pm        2004-12-17 05:16:52 UTC 
(rev 426)
@@ -26,14 +26,18 @@
 
 our $VERSION = '0.01';
 
-sub initialize {
-       my ($me) = @_;
+sub new {
+    my $me = shift->SUPER::new(@_);
 
        if (ref($me) eq __PACKAGE__) {
                croak __PACKAGE__ . " is a virtual base class!";
        }
+}
 
-       $me->{provided} = [];
+sub initialize {
+       my ($me) = @_;
+
+    $me->{provided} = [];
        $me->{registry} = {};
 
        $me->setup();
@@ -57,6 +61,24 @@
     }
 }
 
+sub provide_prefix {
+    my $me     = shift;
+    my $prefix = shift;
+
+    $me->provide (
+        map { [ $_, $prefix . $_ ] } @_
+    );
+}
+
+sub provide_prefix_both {
+    my $me     = shift;
+    my $prefix = shift;
+
+    $me->provide (
+        map [ $prefix . $_, $prefix . $_ ], @_
+    );
+}
+
 sub provided {
     my $me = shift;
     return @{ $me->{provided} };


Reply via email to