]> git.mxchange.org Git - flightgear.git/commitdiff
make listeners aware of their id, and output trigger message in
authormfranz <mfranz>
Fri, 27 Apr 2007 14:30:05 +0000 (14:30 +0000)
committermfranz <mfranz>
Fri, 27 Apr 2007 14:30:05 +0000 (14:30 +0000)
log levels "debug" and "bulk"

src/Scripting/NasalSys.cxx
src/Scripting/NasalSys.hxx

index d897a4f118d949e9849bc765efd8c048b305be07..70eb70002cb380fd29cf0dc9b2d8f2656f48bc37 100644 (file)
@@ -689,7 +689,7 @@ naRef FGNasalSys::setListener(naContext c, int argc, naRef* args)
     bool initial = argc > 2 && naTrue(args[2]);
 
     FGNasalListener *nl = new FGNasalListener(node, handler, this,
-            gcSave(handler));
+            gcSave(handler), _listenerId);
     node->addChangeListener(nl, initial);
 
     _listener[_listenerId] = nl;
@@ -725,10 +725,11 @@ naRef FGNasalSys::removeListener(naContext c, int argc, naRef* args)
 // FGNasalListener class.
 
 FGNasalListener::FGNasalListener(SGPropertyNode_ptr node, naRef handler,
-                                 FGNasalSys* nasal, int key) :
+                                 FGNasalSys* nasal, int key, int id) :
     _node(node),
     _handler(handler),
     _gcKey(key),
+    _id(id),
     _nas(nasal),
     _active(0),
     _dead(false)
@@ -747,6 +748,7 @@ void FGNasalListener::valueChanged(SGPropertyNode* node)
     if(_active || _dead)
         return;
 
+    SG_LOG(SG_NASAL, SG_DEBUG, "trigger listener #" << _id);
     _active++;
     _nas->_cmdArg = node;
     _nas->call(_handler, naNil());
index ec8cf886ee568bdcdefd834fad752805b3caf884..700b23011c902fde83270ae8be09112f64511f22 100644 (file)
@@ -131,7 +131,7 @@ private:
 class FGNasalListener : public SGPropertyChangeListener {
 public:
     FGNasalListener(SGPropertyNode_ptr node, naRef handler,
-                    FGNasalSys* nasal, int key);
+                    FGNasalSys* nasal, int key, int id);
 
     ~FGNasalListener();
     void valueChanged(SGPropertyNode* node);
@@ -141,6 +141,7 @@ private:
     SGPropertyNode_ptr _node;
     naRef _handler;
     int _gcKey;
+    int _id;
     FGNasalSys* _nas;
     unsigned int _active;
     bool _dead;