summaryrefslogtreecommitdiff
path: root/Bus/Ivy/IvyApplication.cxx
diff options
context:
space:
mode:
authorfcolin2007-02-01 13:00:29 +0000
committerfcolin2007-02-01 13:00:29 +0000
commiteab14ee9f9fb92a8550c1e6245beb4a7d5686a3e (patch)
treed3b7a37dbcb72b4c426b19d7f2c5d9647f154526 /Bus/Ivy/IvyApplication.cxx
parent1228999f13f18400c755ebccd9fd092ca7a03b18 (diff)
downloadivy-cplusplus-eab14ee9f9fb92a8550c1e6245beb4a7d5686a3e.zip
ivy-cplusplus-eab14ee9f9fb92a8550c1e6245beb4a7d5686a3e.tar.gz
ivy-cplusplus-eab14ee9f9fb92a8550c1e6245beb4a7d5686a3e.tar.bz2
ivy-cplusplus-eab14ee9f9fb92a8550c1e6245beb4a7d5686a3e.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 'Bus/Ivy/IvyApplication.cxx')
-rw-r--r--Bus/Ivy/IvyApplication.cxx7
1 files changed, 7 insertions, 0 deletions
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