/[cvs]/nfo/perl/libs/OEF/API/Abstract.pm
ViewVC logotype

Diff of /nfo/perl/libs/OEF/API/Abstract.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by joko, Thu Mar 27 15:39:10 2003 UTC revision 1.3 by joko, Fri Jun 6 03:22:34 2003 UTC
# Line 2  Line 2 
2  ##  $Id$  ##  $Id$
3  ## -------------------------------------------------------------------------  ## -------------------------------------------------------------------------
4  ##  $Log$  ##  $Log$
5    ##  Revision 1.3  2003/06/06 03:22:34  joko
6    ##  new: now capable of registering symbols along with api methods
7    ##
8    ##  Revision 1.2  2003/04/04 17:25:51  joko
9    ##  minor update regarding debugging output
10    ##
11  ##  Revision 1.1  2003/03/27 15:39:10  joko  ##  Revision 1.1  2003/03/27 15:39:10  joko
12  ##  initial commit, api metadata registration helper  ##  initial commit, api metadata registration helper
13  ##  ##
# Line 24  sub register { Line 30  sub register {
30    my $self = shift;    my $self = shift;
31    my $payload = shift;    my $payload = shift;
32    #print ref($self), " [$self] registers its API", "\n";    #print ref($self), " [$self] registers its API", "\n";
33    print ref($self), " registers its API", "\n";    print __PACKAGE__, ": ", ref($self), " registers its API", "\n";
34    #$logger->info( ref($self), " [$self]", " registers its API" );    #$logger->info( ref($self), " [$self]", " registers its API" );
35    #print Dumper($payload);    #print Dumper($payload);
36    $self->_push_api($payload);    $self->_push_api($payload);
37  }  }
38    
39    sub register_symbols {
40      my $self = shift;
41      my $payload = shift;
42      print __PACKAGE__, ": ", ref($self), " registers its Symbols", "\n";
43      #print Dumper($payload);
44      $self->_push_symbols($payload);
45    }
46    
47  sub _push_api {  sub _push_api {
48    my $self = shift;    my $self = shift;
49    my $payload = shift;    my $payload = shift;
50    push @{$self->{api}}, @$payload;    push @{$self->{api}}, @$payload;
51  }  }
52    
53    sub _push_symbols {
54      my $self = shift;
55      my $payload = shift;
56      foreach (@$payload) {
57        push @{$self->{symbols}}, $_;
58      }
59    }
60    
61  sub build {  sub build {
62    my $self = shift;    my $self = shift;
63    my $plugins = shift;    my $plugins = shift;
64    # base api    
65      # 1. base api & symbols
66    $self->_api_init();    $self->_api_init();
67    # api extensions (plugins)    $self->_sym_init() if $self->can("_sym_init");
68      
69      # 2. api extensions (plugins)
70    #my @api_ext;    #my @api_ext;
71    foreach (@$plugins) {    foreach (@$plugins) {
72      my $subapi = DesignPattern::Object->fromPackage($_);      my $subapi = DesignPattern::Object->fromPackage($_);
# Line 50  sub build { Line 75  sub build {
75        #push @api_ext, @$subapi_metadata;        #push @api_ext, @$subapi_metadata;
76        #$self->register($subapi->getApiMetadata());        #$self->register($subapi->getApiMetadata());
77        $self->_push_api($subapi->getApiMetadata());        $self->_push_api($subapi->getApiMetadata());
78          $self->_push_symbols($subapi->getSymbolMetadata()) if $subapi->can("getSymbolMetadata");
79      }      }
80    }    }
81    #my @api_merged = (@$api_base, @api_ext);    #my @api_merged = (@$api_base, @api_ext);
82    #print Dumper(@api_merged);    #print Dumper(@api_merged);
83    #return \@api_merged;    #return \@api_merged;
84      
85    return 1;    return 1;
86  }  }
87    
88  sub getApiMetadata {  sub getApiMetadata {
89    my $self = shift;    my $self = shift;
   #print Dumper($self);  
90    return $self->{api};    return $self->{api};
91  }  }
92    
93    sub getSymbolMetadata {
94      my $self = shift;
95      return $self->{symbols};
96    }
97    
98  1;  1;
99  __END__  __END__

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed