]> git.mxchange.org Git - simgear.git/blobdiff - simgear/nasal/cppbind/NasalHash.hxx
First working version of DOM like Canvas event handling
[simgear.git] / simgear / nasal / cppbind / NasalHash.hxx
index 0e48a9dd335523a326f4d6926d754c52388b5c25..4cc15642acd3fde349279b6d7cb09fa2c5b24dfe 100644 (file)
@@ -19,6 +19,7 @@
 #ifndef SG_NASAL_HASH_HXX_
 #define SG_NASAL_HASH_HXX_
 
+#include "from_nasal.hxx"
 #include "to_nasal.hxx"
 
 namespace nasal
@@ -44,7 +45,7 @@ namespace nasal
        * @param hash  Existing Nasal Hash
        * @param c     Nasal context for creating new Nasal objects
        */
-      Hash(const naRef& hash, naContext c);
+      Hash(naRef hash, naContext c);
 
       /**
        * Set member
@@ -66,6 +67,25 @@ namespace nasal
         set(name, to_nasal(_context, val));
       }
 
+      /**
+       * Get member
+       *
+       * @param name    Member name
+       */
+      naRef get(const std::string& name);
+
+      /**
+       * Get member converted to given type
+       *
+       * @tparam T      Type to convert to (using from_nasal)
+       * @param name    Member name
+       */
+      template<class T>
+      T get(const std::string& name)
+      {
+        return from_nasal<T>(_context, get(name));
+      }
+
       /**
        * Create a new child hash (module)
        *