#:use-module (oop goops)
#:use-module (system foreign)
#:export (<irrlicht-base>
- irr-pointer))
+ irr-class
+ irr-pointer
+ is-empty?))
(define-class <irrlicht-base> ()
- (irr-pointer #:init-value %null-pointer #:accessor irr-pointer #:init-keyword #:irr-pointer))
+ (irr-class #:init-value "")
+ (irr-pointer #:init-value %null-pointer #:getter irr-pointer #:init-keyword #:irr-pointer))
+
+;; irr-class getter is defined in this way to avoid problems with multiple getters
+;; in multiple inherited classes
+(define-method (irr-class (obj <irrlicht-base>))
+ (slot-ref obj 'irr-class))
+
+(define-method (is-empty? (obj <irrlicht-base>))
+ (equal? (irr-pointer obj) %null-pointer))