Changeset 5602
- Timestamp:
- 06/26/09 09:48:38 (3 years ago)
- Location:
- trunk/Padre-Plugin-Swarm
- Files:
-
- 4 added
- 3 edited
-
announcer.pl (added)
-
lib/Padre/Plugin/Swarm.pm (modified) (6 diffs)
-
lib/Padre/Swarm/Service/Chat.pm (modified) (1 diff)
-
lib/Padre/Wx (added)
-
lib/Padre/Wx/Swarm (added)
-
lib/Padre/Wx/Swarm/Chat.pm (added)
-
listener.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Padre-Plugin-Swarm/lib/Padre/Plugin/Swarm.pm
r5598 r5602 9 9 use Padre::Wx::Icon (); 10 10 use Padre::Swarm::Service::Chat (); 11 use Padre::Wx::Swarm::Chat (); 11 12 use File::Spec (); 12 13 … … 15 16 get_config => 'config', 16 17 get_services => 'services', 18 # 19 get_chat => 'chat', 17 20 } 18 21 , … … 20 23 set_config => 'config', 21 24 set_services=>'services', 25 set_chat => 'chat', 22 26 }; 23 27 … … 73 77 my $config = $self->config_read; 74 78 $self->set_config( $config ); 75 79 76 80 $self->_load_everything; 77 81 $self->_start_services; … … 83 87 my $self = shift; 84 88 $self->_shutdown_services; 89 $self->_destroy_ui; 85 90 } 86 91 … … 127 132 ); 128 133 129 130 } 131 132 sub _start_transports { 133 my $self = shift; 134 my $transports = $self->get_transports; 135 while ( my ($name,$transport) = each %$transports ) { 136 $transport->start; 137 } 138 } 139 140 sub _shutdown_transports { 141 my $self = shift; 142 my $transports = $self->get_transports; 143 while ( my ($name,$transport) = each %$transports ) { 144 $transport->shutdown; 145 } 146 } 134 my $chatframe = Padre::Wx::Swarm::Chat->new($self->main); 135 136 $self->set_chat( $chatframe ); 137 $chatframe->enable; 138 } 139 140 sub _destroy_ui { 141 my $self = shift; 142 if ( my $chat = $self->get_chat ) { 143 $chat->disable; 144 } 145 $self->set_chat(undef); 146 147 } 148 149 #sub _start_transports { 150 # my $self = shift; 151 # my $transports = $self->get_transports; 152 # while ( my ($name,$transport) = each %$transports ) { 153 # $transport->start; 154 # } 155 #} 156 # 157 #sub _shutdown_transports { 158 # my $self = shift; 159 # my $transports = $self->get_transports; 160 # while ( my ($name,$transport) = each %$transports ) { 161 # $transport->shutdown; 162 # } 163 #} 147 164 148 165 sub _start_services { -
trunk/Padre-Plugin-Swarm/lib/Padre/Swarm/Service/Chat.pm
r5597 r5602 66 66 } 67 67 68 sub receive { 69 my $self = shift; 70 my $t = $self->get_transport; 71 if ( $t->poll(0) ) { 72 my ($channel,$client,$payload) = $t->receive_from( 12000 ); 73 my $message = eval { JSON::XS::decode_json( $payload ); } ; 74 if ($@) { 75 warn "cannot decode message from [$client], $@. Client said\t$message"; 76 return; 77 } 78 return $message; 79 } 80 return; 81 } 82 68 83 1; -
trunk/Padre-Plugin-Swarm/listener.pl
r5597 r5602 12 12 my $buffer; 13 13 my ($channel,$client,$payload) = $mc->receive_from( 12000 ); 14 print "[$client], $payload" ;14 print "[$client], $payload",$\; 15 15 }
Note: See TracChangeset
for help on using the changeset viewer.
