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


#ifndef	__IAUTOMATEDPROPERTYPROVIDER__
#define	__IAUTOMATEDPROPERTYPROVIDER__


		#include "motion/motion_channel.h"


namespace GS {
	struct Quaternion;

	namespace Automation {

/// Automated property provider interface.
struct	IPropertyProvider
{
virtual	bool		GetProperty(Core::MotionChannel::Type, float &);
virtual	bool		SetProperty(Core::MotionChannel::Type, float);

virtual	Quaternion	GetRotation() const;
virtual	bool		SetRotation(const Quaternion &);

virtual	~IPropertyProvider() {}
};

	} // Automation
} // GS


#endif	// __IAUTOMATEDPROPERTYPROVIDER__
