7#include <simgear/debug/BufferedLogCallback.hxx>
8#include <simgear/nasal/nasal.h>
9#include <simgear/props/props.hxx>
10#include <simgear/threads/SGQueue.hxx>
11#include <simgear/xml/easyxml.hxx>
30 int key,
int id,
int init,
int type);
34 virtual void childAdded(SGPropertyNode* parent, SGPropertyNode* child);
35 virtual void childRemoved(SGPropertyNode* parent, SGPropertyNode* child);
38 bool changed(SGPropertyNode* node);
39 void call(SGPropertyNode* which, naRef mode);
42 SGPropertyNode_ptr _node;
53 std::string _last_string;
62 virtual void startElement(
const char* tag,
const XMLAttributes& a);
64 virtual void data(
const char* str,
int len);
65 virtual void pi(
const char* target,
const char*
data);
68 void call(naRef
func,
int num, naRef a = naNil(), naRef b = naNil());
69 naRef make_string(
const char* s,
int n = -1);
72 naRef _start_element, _end_element, _data, _pi;
127 std::unique_ptr<simgear::BufferedLogCallback>
_log;
naRef initNasalUnitTestCppUnit(naRef globals, naContext c)
int nasalStructEqual(naContext ctx, naRef a, naRef b)
@breif wrapper for naEqual which recursively checks vec/hash equality Probably not very performant.
naRef initNasalUnitTestInSim(naRef globals, naContext c)
virtual ~FGNasalListener()
FGNasalListener(SGPropertyNode *node, naRef code, FGNasalSys *nasal, int key, int id, int init, int type)
virtual void childRemoved(SGPropertyNode *parent, SGPropertyNode *child)
virtual void valueChanged(SGPropertyNode *node)
virtual void childAdded(SGPropertyNode *parent, SGPropertyNode *child)
std::unique_ptr< simgear::BufferedLogCallback > _log
std::vector< TimerObj * > _persistentTimers
NasalCommandDict _commands
std::vector< FGNasalModuleListener * > _moduleListeners
std::vector< FGNasalListener * > _dead_listener
SGLockedQueue< SGSharedPtr< FGNasalModelData > > _loadList
std::map< std::string, NasalCommand * > NasalCommandDict
std::map< int, FGNasalListener * > _listener
SGLockedQueue< SGSharedPtr< FGNasalModelData > > _unloadList
std::vector< NasalTimer * > _nasalTimers
SGPropertyNode_ptr _cmdArg
virtual void endElement(const char *tag)
virtual void startElement(const char *tag, const XMLAttributes &a)
virtual ~NasalXMLVisitor()
virtual void data(const char *str, int len)
NasalXMLVisitor(naContext c, int argc, naRef *args)
NasalTimer(naRef handler, FGNasalSys *sys)