text: /*
  	Copyright (C) 2005-2007 Feeling Software Inc.
  	Portions of the code are:
  	Copyright (C) 2005-2007 Sony Computer Entertainment America
  	
  	MIT License: http://www.opensource.org/licenses/mit-license.php
  */
  
  #ifndef _FU_PLUGIN_H_
  #define _FU_PLUGIN_H_
  
  #ifndef _FU_TRACKER_H_
  #include "FUtils/FUTracker.h"
  #endif // _FU_TRACKER_H_
  
  /**
  	A generic plug-in interface structure.
  	Used by FCollada within the FCPlugin structure.
  	@ingroup FUtils
  */
  class FCOLLADA_EXPORT FUPlugin : public FUTrackable
  {
  private:
  	DeclareObjectType(FUTrackable);
  
  protected:
  	/** Destructor.
  		This destructor is protected as no application should
  		release the memory of a plug-in directly. Instead, use
  		the FUObject::Release function. */
  	virtual ~FUPlugin() {}
  
  public:
  	/** Retrieves the name of the plug-in.
  		@return The name of the plug-in. */
  	virtual const char* GetPluginName() const = 0;
  
  	/** Retrieves the version of the plug-in.
  		For now, no version string formatting is suggested for this integer.
  		It is unused and exists for future expansion only.
  		@return The version number of the plug-in. */
  	virtual uint32 GetPluginVersion() const = 0;
  };
  
  #endif // _FU_PLUGIN_H_
  