summaryrefslogtreecommitdiff
path: root/Ivy
diff options
context:
space:
mode:
authorfcolin2007-02-01 13:00:29 +0000
committerfcolin2007-02-01 13:00:29 +0000
commit8e63bb805a09c8c1bd019347071dad478ea034b9 (patch)
treebc925b65e53235b207bf051f3531808ae9d13cff /Ivy
parent4a8451ff484c9fe7656acab4edd61713e2212ed6 (diff)
downloadivy-cplusplus-8e63bb805a09c8c1bd019347071dad478ea034b9.zip
ivy-cplusplus-8e63bb805a09c8c1bd019347071dad478ea034b9.tar.gz
ivy-cplusplus-8e63bb805a09c8c1bd019347071dad478ea034b9.tar.bz2
ivy-cplusplus-8e63bb805a09c8c1bd019347071dad478ea034b9.tar.xz
Utilisateur : Fcolin Date : 1/06/06 Heure : 10:14 Archivé dans $/Bus/Ivy Commentaire: ajout Binding Callback et SetFilter (vss 31)
Diffstat (limited to 'Ivy')
-rw-r--r--Ivy/IvyApplication.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/Ivy/IvyApplication.cxx b/Ivy/IvyApplication.cxx
index c4de075..c3f6f02 100644
--- a/Ivy/IvyApplication.cxx
+++ b/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