]> git.mxchange.org Git - flightgear.git/commitdiff
add deleteModule() method
authormfranz <mfranz>
Wed, 8 Mar 2006 10:35:20 +0000 (10:35 +0000)
committermfranz <mfranz>
Wed, 8 Mar 2006 10:35:20 +0000 (10:35 +0000)
src/Scripting/NasalSys.cxx
src/Scripting/NasalSys.hxx

index 2cbedf80f986a4055d6f128a163a4859242ae1d5..539ac763b00a426138b51d71af5077d318e89952 100644 (file)
@@ -500,6 +500,15 @@ void FGNasalSys::createModule(const char* moduleName, const char* fileName,
     hashset(_globals, moduleName, locals);
 }
 
+void FGNasalSys::deleteModule(const char* moduleName)
+{
+    naRef modname = naNewString(_context);
+    naStr_fromdata(modname, (char*)moduleName, strlen(moduleName));
+    naModLock();
+    naHash_delete(_globals, modname);
+    naModUnlock();
+}
+
 naRef FGNasalSys::parse(const char* filename, const char* buf, int len)
 {
     int errLine = -1;
index ec9b8d3d00d4029573f31c3d49abb69b1d39b8df..669b26eea68f82f5de0fbd5ae7a31836d46d02bc 100644 (file)
@@ -54,6 +54,8 @@ public:
     void createModule(const char* moduleName, const char* fileName,
                     const char* src, int len);
 
+    void deleteModule(const char* moduleName);
+
 private:
     friend class FGNasalScript;
     friend class FGNasalListener;
@@ -101,6 +103,7 @@ private:
     public: void handleTimer(NasalTimer* t);
 };
 
+
 class FGNasalScript {
 public:
     ~FGNasalScript() { _nas->gcRelease(_gcKey); }
@@ -118,6 +121,7 @@ private:
     FGNasalSys* _nas;
 };
 
+
 class FGNasalListener : public SGPropertyChangeListener {
 public:
     FGNasalListener(SGPropertyNode_ptr node, naRef handler,