Changeset 3dcccba
- Timestamp:
- Jul 7, 2008, 6:23:18 AM (17 years ago)
- Branches:
- barnowl_perlaim
- Children:
- 61abb18
- Parents:
- 7d63a6c
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
commands.c
r403198c r3dcccba 2470 2470 void owl_command_editresponse_done(owl_editwin *e) 2471 2471 { 2472 char *text = owl_strdup(owl_editwin_get_text(e)); 2473 void (*callback)(void *, char *) = owl_editwin_get_callback(e); 2474 void *cbdata = owl_editwin_get_cbdata(e); 2475 2472 2476 owl_global_set_typwin_inactive(&g); 2473 2477 owl_editwin_fullclear(e); … … 2475 2479 owl_global_set_needrefresh(&g); 2476 2480 2477 owl_function_run_buffercommand(); 2481 callback(cbdata, text); 2482 owl_free(text); 2478 2483 } 2479 2484 … … 2486 2491 owl_history_reset(hist); 2487 2492 2488 owl_ function_run_buffercommand();2493 owl_editwin_do_callback(e); 2489 2494 owl_editwin_new_style(e, OWL_EDITWIN_STYLE_ONELINE, NULL); 2490 2495 owl_editwin_fullclear(e); -
editwin.c
r2d4ff14 r3dcccba 94 94 } 95 95 96 void owl_editwin_set_callback(owl_editwin *e, void (*cb)( owl_editwin*)) {96 void owl_editwin_set_callback(owl_editwin *e, void (*cb)(void*, char*)) { 97 97 e->callback = cb; 98 98 } 99 99 100 void (*owl_editwin_get_callback(owl_editwin *e))(owl_editwin*) {100 void (*owl_editwin_get_callback(owl_editwin*))(void *cbdata, char *text) { 101 101 return e->callback; 102 102 } … … 111 111 112 112 void owl_editwin_do_callback(owl_editwin *e) { 113 void (*cb)(owl_editwin*); 113 /* XXX get rid of me */ 114 void (*cb)(void*, char*); 114 115 cb=owl_editwin_get_callback(e); 115 116 if(!cb) { … … 117 118 } else { 118 119 /* owl_function_error("text: |%s|", owl_editwin_get_text(e)); */ 119 cb(e );120 cb(e->cbdata, e->text); 120 121 } 121 122 } -
functions.c
rc453ada r3dcccba 1129 1129 { 1130 1130 owl_global_set_resize_pending(&g); 1131 }1132 1133 void owl_function_run_buffercommand()1134 {1135 owl_editwin_do_callback(owl_global_get_typwin(&g));1136 1131 } 1137 1132 -
owl.h
rc453ada r3dcccba 453 453 454 454 char *command; 455 void (*callback)( struct _owl_editwin*);455 void (*callback)(void *, char *); 456 456 void *cbdata; 457 457 } owl_editwin; -
perl/modules/AIM/lib/BarnOwl/Module/AIM.pm
r7d63a6c r3dcccba 37 37 38 38 sub cmd_aimlogin { 39 =comment40 39 my ($cmd, $user, $pass) = @_; 41 40 if (!defined $user) { … … 48 47 }); 49 48 } else { 50 =cut51 {52 49 my $oscar = Net::OSCAR->new(); 53 my ($user, $pass) = ('...', '...');54 50 $oscar->set_callback_im_in(\&on_im_in); 55 51 $oscar->set_callback_signon_done(sub ($) { -
perlconfig.c
rdb0ac7e r3dcccba 472 472 } 473 473 474 void owl_perlconfig_edit_callback( owl_editwin *e)475 { 476 SV *cb = (SV*) (e->cbdata);474 void owl_perlconfig_edit_callback(void *cbdata, char *c_text); 475 { 476 SV *cb = (SV*)cbdata; 477 477 SV *text; 478 478 unsigned int n_a; 479 479 dSP; 480 480 481 e->cbdata = NULL; 481 482 if(cb == NULL) { 482 483 owl_function_error("Perl callback is NULL!"); 483 484 } 484 text = newSVpv( owl_editwin_get_text(e), 0);485 text = newSVpv(c_text, 0); 485 486 SvUTF8_on(text); 486 487 … … 502 503 503 504 SvREFCNT_dec(cb); 504 e->cbdata = NULL;505 505 } 506 506
Note: See TracChangeset
for help on using the changeset viewer.