- Timestamp:
- Oct 27, 2009, 12:41:17 AM (15 years ago)
- Branches:
- master, release-1.10, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- 18fdd5f9
- Parents:
- df0138f
- git-author:
- Alejandro R. Sedeño <asedeno@mit.edu> (10/24/09 14:56:01)
- git-committer:
- Alejandro R. Sedeño <asedeno@mit.edu> (10/27/09 00:41:17)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/lib/BarnOwl.pm
r3c428d4 rffc4df6 13 13 error debug 14 14 create_style getnumcolors wordwrap 15 add_dispath remove_dispatch 15 add_dispatch remove_dispatch 16 add_io_dispatch remove_io_dispatch 16 17 new_command 17 18 new_variable_int new_variable_bool new_variable_string … … 62 63 Returns the current message as a C<BarnOwl::Message> subclass, or 63 64 undef if there is no message selected 64 65 65 =head2 getnumcols 66 66 … … 160 160 read from C<FD>. 161 161 162 C<add_dispatch> has been deprecated in favor of C<add_io_dispatch>, 163 and is now a wrapper for it called with C<mode> set to C<'r'>. 164 165 =cut 166 167 sub add_dispatch { 168 my $fd = shift; 169 my $cb = shift; 170 add_io_dispatch($fd, 'r', $cb); 171 } 172 162 173 =head2 remove_dispatch FD 163 174 164 175 Remove a file descriptor previously registered via C<add_dispatch> 176 177 C<remove_dispatch> has been deprecated in favor of 178 C<remove_io_dispatch>. 179 180 =cut 181 182 *remove_dispatch = \&remove_io_dispatch; 183 184 =head2 add_io_dispatch FD MODE CB 185 186 Adds a file descriptor to C<BarnOwl>'s internal C<select()> 187 loop. <MODE> can be 'r', 'w', or 'rw'. C<CALLBACK> will be invoked 188 whenever C<FD> becomes ready, as specified by <MODE>. 189 190 Only one callback can be registered per FD. If a new callback is 191 registered, the old one is removed. 192 193 =cut 194 195 sub add_io_dispatch { 196 my $fd = shift; 197 my $modeStr = shift; 198 my $cb = shift; 199 my $mode = 0; 200 201 $mode |= 0x1 if ($modeStr =~ /r/i); # Read 202 $mode |= 0x2 if ($modeStr =~ /w/i); # Write 203 if ($mode) { 204 $mode |= 0x4; # Exceptional 205 BarnOwl::Internal::add_io_dispatch($fd, $mode, $cb); 206 } else { 207 die("Invalid I/O Dispatch mode: $modeStr"); 208 } 209 } 210 211 =head2 remove_io_dispatch FD 212 213 Remove a file descriptor previously registered via C<add_io_dispatch> 165 214 166 215 =head2 create_style NAME OBJECT
Note: See TracChangeset
for help on using the changeset viewer.