#ifndef __C_IRRLICHT_DEVICE_H_INCLUDED__
#define __C_IRRLICHT_DEVICE_H_INCLUDED__
+#include "IFileSystem.h"
+#include "IGUIEnvironment.h"
+#include "ISceneManager.h"
+#include "IVideoDriver.h"
+
+typedef void irr_IrrlichtDevice;
+
#ifdef __cplusplus
extern "C" {
#endif
- void* irr_IrrlichtDevice_getSceneManager(void* device);
- void* irr_IrrlichtDevice_getVideoDriver(void* device);
- void irr_IrrlichtDevice_setWindowCaption(void* device, const char* text);
- int irr_IrrlichtDevice_run(void* device);
- int irr_IrrlichtDevice_drop(void* device);
+ irr_io_IFileSystem*
+ irr_getFileSystem(irr_IrrlichtDevice* device);
+
+ irr_gui_IGUIEnvironment*
+ irr_getGUIEnvironment(irr_IrrlichtDevice* device);
+
+ irr_scene_ISceneManager*
+ irr_getSceneManager(irr_IrrlichtDevice* device);
+
+ irr_video_IVideoDriver*
+ irr_getVideoDriver(irr_IrrlichtDevice* device);
+
+ void
+ irr_setWindowCaption(irr_IrrlichtDevice* device,
+ const char* text);
+
+ int
+ irr_run(irr_IrrlichtDevice* device);
+
+ int
+ irr_drop(irr_IrrlichtDevice* device);
#ifdef __cplusplus
}