8 |
## |
## |
9 |
## ------------------------------------------------------------------------- |
## ------------------------------------------------------------------------- |
10 |
## $Log$ |
## $Log$ |
11 |
|
## Revision 1.17 2003/05/13 08:09:04 joko |
12 |
|
## new child-module "Map" |
13 |
|
## added comments |
14 |
|
## |
15 |
## Revision 1.16 2003/02/09 04:56:03 joko |
## Revision 1.16 2003/02/09 04:56:03 joko |
16 |
## + modified header |
## + modified header |
17 |
## + api versioning mechanism |
## + api versioning mechanism |
28 |
## ------------------------------------------------------------------------- |
## ------------------------------------------------------------------------- |
29 |
|
|
30 |
|
|
31 |
|
# This module is a bootstrap container. |
32 |
|
# It doesn't contain any code, everything is loaded on (demand)/startup. |
33 |
|
# The magic behind that solves "Mix-in inheritance", implemented in Perl by |
34 |
|
# Michael G Schwern. You won't find any usage of "mixin.pm" itself inside here, |
35 |
|
# since it is encapsulated behind DesignPattern::Bridge->load("{module}"). |
36 |
|
# Please visit C<perldoc DesignPattern::Bridge>. |
37 |
|
|
38 |
package Data::Transfer::Sync; |
package Data::Transfer::Sync; |
39 |
|
|
40 |
use strict; |
use strict; |
44 |
use base qw( DesignPattern::Bridge ); |
use base qw( DesignPattern::Bridge ); |
45 |
|
|
46 |
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - main |
|
|
|
|
47 |
use Data::Dumper; |
use Data::Dumper; |
48 |
|
|
49 |
# get logger instance |
# get logger instance |
50 |
my $logger = Log::Dispatch::Config->instance; |
my $logger = Log::Dispatch::Config->instance; |
51 |
|
|
52 |
|
|
53 |
sub constructor { |
sub constructor { |
54 |
my $self = shift; |
my $self = shift; |
55 |
|
|
56 |
|
# debug point |
57 |
#print Dumper($self); |
#print Dumper($self); |
58 |
#exit; |
#exit; |
59 |
$logger->debug( __PACKAGE__ . "->constructor" ); |
$logger->debug( __PACKAGE__ . "->constructor" ); |
60 |
|
|
61 |
|
# Load "plugin" modules. |
62 |
$self->load('Core'); |
$self->load('Core'); |
63 |
$self->load('Metadata'); |
$self->load('Metadata'); |
64 |
$self->load('API', { method => 'api_constructor' } ); |
$self->load('API', { method => 'api_constructor' } ); |
65 |
$self->load('StorageInterface'); |
$self->load('StorageInterface'); |
66 |
$self->load('Compare::Checksum'); |
$self->load('Compare::Checksum'); |
67 |
|
# new of 2003-05-12: Split topic from Metadata module. |
68 |
|
$self->load('Map'); |
69 |
|
|
70 |
|
# Propagate all arguments. |
71 |
$self->configure(@_); |
$self->configure(@_); |
72 |
} |
} |
73 |
|
|
74 |
1; |
1; |
75 |
|
__END__ |