]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/io.scm
Some doc
[guile-irrlicht.git] / irrlicht / io.scm
index 0229ac32316b68e7a26c784da7da1a931152f837..e062e7340ce5a5cc188f54ea935c03fd9cd50ef2 100644 (file)
 
 (define-module (irrlicht io)
   #:use-module (oop goops)
+  #:use-module (ice-9 optargs)
   #:use-module (irrlicht foreign)
-  #:use-module (irrlicht irr))
+  #:use-module ((irrlicht irr) #:select (<reference-counted>)))
 
 
 ;; IAttributeExchangingObject
 (define-class <attribute-exchanging-object> (<reference-counted>)
-  (irr-class #:init-value "IAttributeExchangingObject" #:getter irr-class))
+  (irr-class #:init-value "IAttributeExchangingObject"))
 
 (export <attribute-exchanging-object>)
+
+
+;;IFileArchive
+(define-class <file-archive> (<reference-counted>)
+  (irr-class #:init-value "IFileArchive"))
+
+(export <file-archive>)
+
+
+;;IFileSystem
+(define-class <file-system> (<reference-counted>)
+  (irr-class #:init-value "IFileSystem"))
+
+(define-method (add-file-archive! (file-system <file-system>) filename . rest)
+  (let-keywords rest #f
+        ((ignore-case #t)
+         (ignore-paths #t)
+         (archive-type 'unknown)
+         (password "")
+         (ret-archive (make <file-archive>)))
+    (let ((addFileArchive (get-irrlicht-proc "addFileArchive" file-system)))
+      (addFileArchive
+       file-system filename ignore-case ignore-paths archive-type password ret-archive))))
+
+(export <file-system> add-file-archive!)