+ SCM
+ irr_getID (SCM wrapped_obj,
+ SCM index)
+ {
+ if (file_list_p (wrapped_obj))
+ {
+ return scm_from_uint32 (unwrap_file_list (wrapped_obj)->getID (scm_to_uint32 (index)));
+ }
+ else if (gui_element_p (wrapped_obj))
+ {
+ return scm_from_int32 (unwrap_gui_element (wrapped_obj)->getID ());
+ }
+ else if (scene_node_p (wrapped_obj))
+ {
+ return scm_from_int32 (unwrap_scene_node (wrapped_obj)->getID ());
+ }
+ else
+ {
+ scm_error (scm_arg_type_key, NULL, "Cannot get id from object: ~S",
+ scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+ }
+ }
+