Changeset 5594


Ignore:
Timestamp:
06/26/09 05:30:42 (3 years ago)
Author:
submersible_toaster
Message:

boilerplate swarm for start/stop transports and services. Like Padre-Plugins , transport_name for transports.

Location:
trunk/Padre-Plugin-Swarm/lib/Padre
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre-Plugin-Swarm/lib/Padre/Plugin/Swarm.pm

    r5264 r5594  
    77use Padre::Wx       (); 
    88use Padre::Plugin   (); 
     9use Padre::Wx::Icon (); 
     10use Padre::Swarm::Transport::Multicast (); 
     11use File::Spec      (); 
     12 
     13use Class::XSAccessor 
     14    getters => { 
     15        get_config => 'config', 
     16        get_services => 'services', 
     17        get_transports=>'transports', 
     18    } 
     19    , 
     20    setters => { 
     21        set_config => 'config', 
     22        set_services=>'services', 
     23        set_transports=>'transports', 
     24    }; 
    925 
    1026our $VERSION = '0.01'; 
    1127our @ISA     = 'Padre::Plugin'; 
     28 
     29 
    1230 
    1331 
     
    2644} 
    2745 
     46sub plugin_icon { 
     47    my $class = shift; 
     48    # What would be nice is if the icon finder 
     49    # let me pass my own sharedir to find icons in 
     50    #  Padre::Wx::Icon::find( 'plugin/padre-plugin-swarm', 
     51    #   sharedir => $class->plugin_share_directory 
     52    #  ); 
     53    Padre::Wx::Icon::find(  
     54            'status/padre-plugin-swarm', 
     55    ); 
     56} 
     57 
    2858sub menu_plugins_simple { 
    2959    my $self = shift; 
     
    3363} 
    3464 
     65sub plugin_enable { 
     66    my $self = shift; 
     67    my $config = $self->config_read; 
     68    $self->set_config( $config ); 
     69     
     70    $self->_start_transports; 
     71    $self->_start_services; 
     72     
     73     
     74} 
    3575 
    36  
    37  
     76sub plugin_disable { 
     77    my $self = shift; 
     78    $self->_shutdown_services; 
     79    $self->_shutdown_transports; 
     80} 
    3881 
    3982##################################################################### 
     
    5699} 
    57100 
     101 
     102### 
     103# Private 
     104 
     105sub _start_transports { 
     106    my $self = shift; 
     107    my $transports = $self->get_transports; 
     108    while ( my ($name,$transport) = each %$transports ) { 
     109        $transport->start; 
     110    } 
     111} 
     112 
     113sub _shutdown_transports { 
     114    my $self = shift; 
     115    my $transports = $self->get_transports; 
     116    while ( my ($name,$transport) = each %$transports ) { 
     117        $transport->shutdown; 
     118    } 
     119} 
     120 
     121sub _start_services { 
     122    my $self = shift; 
     123    my $services = $self->get_services; 
     124    while ( my ($name,$service) = each %$services ) { 
     125        $service->start; 
     126    } 
     127} 
     128 
     129sub _shutdown_services { 
     130    my $self = shift; 
     131    my $services = $self->get_services; 
     132    while ( my ($name,$service) = each %$services ) { 
     133        $service->shutdown; 
     134    } 
     135 
     136} 
    581371; 
    59138 
  • trunk/Padre-Plugin-Swarm/lib/Padre/Swarm/Transport/Multicast.pm

    r5533 r5594  
    7474    return bless \%obj , ref $class || $class; 
    7575} 
     76 
     77sub transport_name { 'multicast' } 
    7678 
    7779sub start { 
Note: See TracChangeset for help on using the changeset viewer.