From eab14ee9f9fb92a8550c1e6245beb4a7d5686a3e Mon Sep 17 00:00:00 2001 From: fcolin Date: Thu, 1 Feb 2007 13:00:29 +0000 Subject: Utilisateur : Fcolin Date : 1/06/06 Heure : 10:14 Archivé dans $/Bus/Ivy Commentaire: ajout Binding Callback et SetFilter (vss 31) --- Bus/Ivy/IvyApplication.cxx | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Bus/Ivy') diff --git a/Bus/Ivy/IvyApplication.cxx b/Bus/Ivy/IvyApplication.cxx index c4de075..c3f6f02 100644 --- a/Bus/Ivy/IvyApplication.cxx +++ b/Bus/Ivy/IvyApplication.cxx @@ -157,6 +157,7 @@ void IvyApplication::OnReceive(char * line) #ifdef IVY_DEBUG TRACE("Warning exp='%s' can't match removing from %s\n",arg,appname.c_str()); #endif //IVY_DEBUG + bus->CallBindingFilterCallback( this, id, arg ); return; } #ifdef USE_PCRE @@ -185,11 +186,16 @@ void IvyApplication::OnReceive(char * line) } #endif if ( regexp_in.size() < (id + 1) ) + { regexp_in.resize( id + 1 ); + regexp_str_in.resize( id + 1 ); + } regexp_in[ id ] = exp; + regexp_str_in[ id ] = arg; #ifdef IVY_DEBUG TRACE("Adding regexp[%d]='%s' size: %d\n",id,arg,regexp_in.size()); #endif //IVY_DEBUG + bus->CallBindingAddCallback( this, id, arg ); break; case DelRegexp: @@ -199,6 +205,7 @@ void IvyApplication::OnReceive(char * line) if ( regexp_in[id] ) { exp = regexp_in[ id ]; + bus->CallBindingRemoveCallback( this, id, regexp_str_in[id].c_str() ); #ifdef USE_PCRE pcre_free( exp ); #else -- cgit v1.1