//! Defines various variables and the create method, common for all importers.
//! To be used in the private part of the importer class definition.
-#define SYNFIG_IMPORTER_MODULE_EXT public: static const char name__[], version__[], ext__[],cvs_id__[]; static Importer *create(const char *filename);
+#define SYNFIG_IMPORTER_MODULE_EXT \
+ public: static const char name__[], version__[], ext__[],cvs_id__[]; \
+ static Importer *create(const char *filename);
//! Sets the name of the importer.
#define SYNFIG_IMPORTER_SET_NAME(class,x) const char class::name__[]=x
//! Sets the CVS ID of the importer.
#define SYNFIG_IMPORTER_SET_CVS_ID(class,x) const char class::cvs_id__[]=x
-//! Defines de implementation of the create method for the importer.
+//! Defines de implementation of the create method for the importer
+//! \param filename The file name to be imported by the importer.
#define SYNFIG_IMPORTER_INIT(class) synfig::Importer* class::create(const char *filename) { return new class(filename); }
/* === T Y P E D E F S ===================================================== */
*
* It is the base class for all the importers. It defines the has a static Book
* pointer class that is a map for the importers factory creators and the strings
-* of the importers class names. It allows to create the a pointer to a particular
-* importer just by using the string of the name of the importer.
-* Also it creates a virtual member get_frame that must be declared in the inherited
-* classes.
-*
+* of the extension that the importer can understand. It allows to create the a
+* pointer to a particular importer just by using the extension of the name of file
+* to import. Also it creates a virtual member get_frame that must be declared in
+* the inherited classes.
+* \see module.h
** \
*/
class Importer : public etl::shared_object
{
public:
+ //! Type that represents a pointer to a Importer's constructor.
+ //! As a pointer to the constructor, it represents a "factory" of importers.
typedef Importer* (*Factory)(const char *filename);
typedef std::map<String,Factory> Book;
static Book* book_;
typedef etl::handle<const Importer> ConstHandle;
private:
- //! Gamm of the imoporter.
+ //! Gamma of the importer.
//! \todo Do not hardcode the gamma to 2.2
Gamma gamma_;