--- nfo/perl/libs/Data/Transfer/Sync.pm 2003/01/20 16:58:07 1.15 +++ nfo/perl/libs/Data/Transfer/Sync.pm 2003/05/13 08:09:04 1.17 @@ -1,24 +1,40 @@ -## ------------------------------------------------------------------------ +## ------------------------------------------------------------------------- ## -## $Id: Sync.pm,v 1.15 2003/01/20 16:58:07 joko Exp $ +## $Id: Sync.pm,v 1.17 2003/05/13 08:09:04 joko Exp $ ## -## Copyright (c) 2002 Andreas Motl +## Copyright (c) 2002, 2003 Andreas Motl ## -## See COPYRIGHT section in pod text below for usage and distribution rights. +## This module is licensed under the same terms as Perl itself. ## -## ------------------------------------------------------------------------ -## $Log: Sync.pm,v $ -## Revision 1.15 2003/01/20 16:58:07 joko -## + loading new plugin-modules on startup: 'Metadata' and 'StorageInterface' - both refactored from other - already established - plugin-modules +## ------------------------------------------------------------------------- +## $Log: Sync.pm,v $ +## Revision 1.17 2003/05/13 08:09:04 joko +## new child-module "Map" +## added comments ## -## Revision 1.14 2003/01/19 03:25:54 joko -## + modified header +## Revision 1.16 2003/02/09 04:56:03 joko +## + modified header +## + api versioning mechanism ## -## Revision 1.13 2003/01/19 01:23:03 joko -## + new from Data/Transfer/Sync.pm -## ------------------------------------------------------------------------ +## Revision 1.15 2003/01/20 16:58:07 joko +## + loading new plugin-modules on startup: 'Metadata' and 'StorageInterface' +## both refactored from other - already established - plugin-modules +## +## Revision 1.14 2003/01/19 03:25:54 joko +## + modified header +## +## Revision 1.13 2003/01/19 01:23:03 joko +## + new from Data/Transfer/Sync.pm +## ------------------------------------------------------------------------- +# This module is a bootstrap container. +# It doesn't contain any code, everything is loaded on (demand)/startup. +# The magic behind that solves "Mix-in inheritance", implemented in Perl by +# Michael G Schwern. You won't find any usage of "mixin.pm" itself inside here, +# since it is encapsulated behind DesignPattern::Bridge->load("{module}"). +# Please visit C. + package Data::Transfer::Sync; use strict; @@ -28,19 +44,32 @@ use base qw( DesignPattern::Bridge ); -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - main +use Data::Dumper; # get logger instance my $logger = Log::Dispatch::Config->instance; -sub _init { + +sub constructor { my $self = shift; - $logger->debug( __PACKAGE__ . "->new" ); + + # debug point + #print Dumper($self); + #exit; + $logger->debug( __PACKAGE__ . "->constructor" ); + + # Load "plugin" modules. $self->load('Core'); $self->load('Metadata'); - $self->load('API'); + $self->load('API', { method => 'api_constructor' } ); $self->load('StorageInterface'); + $self->load('Compare::Checksum'); + # new of 2003-05-12: Split topic from Metadata module. + $self->load('Map'); + + # Propagate all arguments. $self->configure(@_); } 1; +__END__