]> git.jsancho.org Git - guile-irrlicht.git/commitdiff
file-archive
authorJavier Sancho <jsf@jsancho.org>
Fri, 8 May 2020 15:40:04 +0000 (17:40 +0200)
committerJavier Sancho <jsf@jsancho.org>
Fri, 8 May 2020 15:40:04 +0000 (17:40 +0200)
src/file-archive.cpp
src/file-archive.h

index 97d842bbe02b6978e3960992dac937cdddeba0a1..10d3dbde2162924920f2ea92efd442c5f54a95da 100644 (file)
 #include <libguile.h>
 #include "file-archive.h"
 
-extern "C" {
 
-  void
-  init_file_archive (void)
-  {
-    init_file_archive_type ();
-  }
+using namespace irr;
 
-  DEFINE_WRAPPED_TYPE (irr::io::IFileArchive*, "file-archive",
-                       init_file_archive_type, file_archive_p,
-                       wrap_file_archive, unwrap_file_archive);
-
-  irr::io::E_FILE_ARCHIVE_TYPE
-  scm_to_file_archive_type (SCM file_archive_type)
-  {
-    char* type = scm_to_utf8_stringn (scm_symbol_to_string (file_archive_type), NULL);
-    if (!strcmp (type, "zip"))
-      {
-        return irr::io::EFAT_ZIP;
-      }
-    else if (!strcmp (type, "gzip"))
-      {
-        return irr::io::EFAT_GZIP;
-      }
-    else if (!strcmp (type, "folder"))
-      {
-        return irr::io::EFAT_FOLDER;
-      }
-    else if (!strcmp (type, "pak"))
-      {
-        return irr::io::EFAT_PAK;
-      }
-    else if (!strcmp (type, "npk"))
-      {
-        return irr::io::EFAT_NPK;
-      }
-    else if (!strcmp (type, "tar"))
-      {
-        return irr::io::EFAT_TAR;
-      }
-    else if (!strcmp (type, "wad"))
-      {
-        return irr::io::EFAT_WAD;
-      }
-    else if (!strcmp (type, "unknown"))
-      {
-        return irr::io::EFAT_UNKNOWN;
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Wrong file archive type: ~S",
-                   scm_list_1 (file_archive_type), scm_list_1 (file_archive_type));
-      }
-  }
 
+io::E_FILE_ARCHIVE_TYPE
+scm_to_file_archive_type (SCM file_archive_type)
+{
+  char* type = scm_to_utf8_stringn (scm_symbol_to_string (file_archive_type), NULL);
+  if (!strcmp (type, "zip"))
+    {
+      return io::EFAT_ZIP;
+    }
+  else if (!strcmp (type, "gzip"))
+    {
+      return io::EFAT_GZIP;
+    }
+  else if (!strcmp (type, "folder"))
+    {
+      return io::EFAT_FOLDER;
+    }
+  else if (!strcmp (type, "pak"))
+    {
+      return io::EFAT_PAK;
+    }
+  else if (!strcmp (type, "npk"))
+    {
+      return io::EFAT_NPK;
+    }
+  else if (!strcmp (type, "tar"))
+    {
+      return io::EFAT_TAR;
+    }
+  else if (!strcmp (type, "wad"))
+    {
+      return io::EFAT_WAD;
+    }
+  else if (!strcmp (type, "unknown"))
+    {
+      return io::EFAT_UNKNOWN;
+    }
+  else
+    {
+      scm_error (scm_arg_type_key, NULL, "Wrong file archive type: ~S",
+                 scm_list_1 (file_archive_type), scm_list_1 (file_archive_type));
+    }
 }
index 1679ad124c5f79e8340a980f439d74a649031f36..5c0635c98f374ab59bb63e42e2891453e1cdac53 100644 (file)
 
 #include <irrlicht/irrlicht.h>
 #include <libguile.h>
-#include "wrapped.h"
 
-extern "C" {
-
-  void
-  init_file_archive (void);
-
-  DECLARE_WRAPPED_TYPE (irr::io::IFileArchive*, init_file_archive_type,
-                        file_archive_p, wrap_file_archive, unwrap_file_archive);
-
-  irr::io::E_FILE_ARCHIVE_TYPE
-  scm_to_file_archive_type (SCM file_archive_type);
-
-}
+irr::io::E_FILE_ARCHIVE_TYPE
+scm_to_file_archive_type (SCM file_archive_type);
 
 #endif