]> git.mxchange.org Git - simgear.git/commitdiff
Add SGPath to the Nasal conversion helpers.
authorJames Turner <jmt@Bishop.local>
Fri, 28 Dec 2012 14:53:31 +0000 (14:53 +0000)
committerJames Turner <jmt@Bishop.local>
Fri, 28 Dec 2012 14:53:31 +0000 (14:53 +0000)
simgear/nasal/cppbind/from_nasal.cxx
simgear/nasal/cppbind/from_nasal_detail.hxx
simgear/nasal/cppbind/to_nasal.cxx
simgear/nasal/cppbind/to_nasal.hxx

index 0cede8c1a98dc5e30e0ad06435d051066e822027..0c3fba95cf8c24c145fdb029388fd039a6fed7d7 100644 (file)
@@ -19,6 +19,8 @@
 #include "from_nasal_detail.hxx"
 #include "NasalHash.hxx"
 
+#include <simgear/misc/sg_path.hxx>
+
 namespace nasal
 {
   //----------------------------------------------------------------------------
@@ -53,6 +55,12 @@ namespace nasal
     return std::string(naStr_data(na_str), naStr_len(na_str));
   }
 
+  SGPath from_nasal_helper(naContext c, naRef ref, SGPath*)
+  {
+      naRef na_str = naStringValue(c, ref);
+      return SGPath(std::string(naStr_data(na_str), naStr_len(na_str)));
+  }
+
   //----------------------------------------------------------------------------
   Hash from_nasal_helper(naContext c, naRef ref, Hash*)
   {
index 21d354aec0e1809c0787dd50d228ce4c3a3d510e..aeec6e207952b65bde02837a076ac2b8467b928e 100644 (file)
@@ -31,6 +31,8 @@
 #include <typeinfo> // std::bad_cast
 #include <vector>
 
+class SGPath;
+
 namespace nasal
 {
   class Hash;
@@ -75,6 +77,11 @@ namespace nasal
    */
   std::string from_nasal_helper(naContext c, naRef ref, std::string*);
 
+  /**
+   * Convert a Nasal string to an SGPath
+   */
+  SGPath from_nasal_helper(naContext c, naRef ref, SGPath*);
+
   /**
    * Convert a Nasal hash to a nasal::Hash
    */
index ef5b1a2122d9ecaa4d104880ae7c5120ef32f855..40b3cd4f778fb803c84d0995d6d8f4dd05cf02fe 100644 (file)
@@ -19,6 +19,8 @@
 #include "to_nasal.hxx"
 #include "NasalHash.hxx"
 
+#include <simgear/misc/sg_path.hxx>
+
 namespace nasal
 {
   //----------------------------------------------------------------------------
@@ -53,4 +55,9 @@ namespace nasal
     return ref;
   }
 
+  //----------------------------------------------------------------------------
+  naRef to_nasal(naContext c, const SGPath& path)
+  {
+    return to_nasal(c, path.str());
+  }
 } // namespace nasal
index 45a274118f6e6bc78af732e5350b663370cc8673..20d989c617f46dbf47ceb0aeafbda81e3658b7bb 100644 (file)
@@ -30,6 +30,8 @@
 #include <string>
 #include <vector>
 
+class SGPath;
+
 namespace nasal
 {
   class Hash;
@@ -60,6 +62,8 @@ namespace nasal
    */
   naRef to_nasal(naContext c, naRef ref);
 
+  naRef to_nasal(naContext c, const SGPath& path);
+    
   /**
    * Convert a numeric type to Nasal number
    */