/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */


#ifndef	__NMANAGER_SCRIPT_BINDING__
#define	__NMANAGER_SCRIPT_BINDING__


		/// Squirrel API compatible version.
#define	__SQUIRREL_API_VERSION_COMPATIBILITY__	1
		/// Current Squirrel API version.
#define __SQUIRREL_API_VERSION__				2

typedef struct SQVM* HSQUIRRELVM;


void	RegisterAIBinding(HSQUIRRELVM);
void	RegisterAnimationBinding(HSQUIRRELVM);
void	RegisterCameraBinding(HSQUIRRELVM);
void	RegisterClockBinding(HSQUIRRELVM);
void	RegisterCollisionBinding(HSQUIRRELVM);
void	RegisterEmitterBinding(HSQUIRRELVM);
void	RegisterGeometryBinding(HSQUIRRELVM);
void	RegisterFontBinding(HSQUIRRELVM);
void	RegisterGroupBinding(HSQUIRRELVM);
void	RegisterHashBinding(HSQUIRRELVM);
void	RegisterHTTPBinding(HSQUIRRELVM);
void	RegisterWebSocketBinding(HSQUIRRELVM);
void	RegisterInstanceBinding(HSQUIRRELVM);
void	RegisterIOBinding(HSQUIRRELVM);
void	RegisterItemBinding(HSQUIRRELVM);
void	RegisterLightBinding(HSQUIRRELVM);
void	RegisterProfilerBinding(HSQUIRRELVM);
void	RegisterMaterialBinding(HSQUIRRELVM);
void	RegisterMatrixBinding(HSQUIRRELVM);
void	RegisterMixerBinding(HSQUIRRELVM);
void	RegisterMotionBinding(HSQUIRRELVM);
void	RegisterNMLBinding(HSQUIRRELVM);
void	RegisterObjectBinding(HSQUIRRELVM);
void	RegisterPhysicBinding(HSQUIRRELVM);
void	RegisterPictureBinding(HSQUIRRELVM);
void	RegisterProjectBinding(HSQUIRRELVM);
void	RegisterRaytracerBinding(HSQUIRRELVM);
void	RegisterRendererBinding(HSQUIRRELVM);
void	RegisterResourceFactoryBinding(HSQUIRRELVM);
void	RegisterSceneBinding(HSQUIRRELVM);
void	RegisterSoundBinding(HSQUIRRELVM);
void	RegisterSystemBinding(HSQUIRRELVM);
void	RegisterTextureBinding(HSQUIRRELVM);
void	RegisterTriggerBinding(HSQUIRRELVM);
void	RegisterUIBinding(HSQUIRRELVM);
void	RegisterPlatformBinding(HSQUIRRELVM);
void	RegisterMaterialShaderBinding(HSQUIRRELVM);

void	RegisterAllSquirrelBinding(HSQUIRRELVM);


#define	GetVMObject(__VM__)	((GS::Script::SquirrelVM *)sq_getforeignptr(__VM__))


#endif	// __NMANAGER_SCRIPT_BINDING__
