/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * This file is not intended to be easily readable and contains a number of
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG
 * interface file instead.
 * ----------------------------------------------------------------------------- */

#ifndef SWIG_libsbml_WRAP_H_
#define SWIG_libsbml_WRAP_H_

class SwigDirector_IdentifierTransformer : public IdentifierTransformer, public Swig::Director {

public:
    SwigDirector_IdentifierTransformer();
    virtual ~SwigDirector_IdentifierTransformer();
    virtual int transform(SBase *element);

    typedef int (SWIGSTDCALL* SWIG_Callback0_t)(void *);
    void swig_connect_director(SWIG_Callback0_t callbacktransform);

private:
    SWIG_Callback0_t swig_callbacktransform;
    void swig_init_callbacks();
};

class SwigDirector_ElementFilter : public ElementFilter, public Swig::Director {

public:
    SwigDirector_ElementFilter();
    virtual ~SwigDirector_ElementFilter();
    virtual bool filter(SBase const *element);

    typedef unsigned int (SWIGSTDCALL* SWIG_Callback0_t)(void *);
    void swig_connect_director(SWIG_Callback0_t callbackfilter);

private:
    SWIG_Callback0_t swig_callbackfilter;
    void swig_init_callbacks();
};

class SwigDirector_SBMLConverter : public SBMLConverter, public Swig::Director {

public:
    SwigDirector_SBMLConverter();
    SwigDirector_SBMLConverter(std::string const &name);
    SwigDirector_SBMLConverter(SBMLConverter const &orig);
    virtual ~SwigDirector_SBMLConverter();
    virtual SBMLConverter *clone() const;
    virtual SBMLDocument *getDocument();
    virtual SBMLDocument const *getDocument() const;
    virtual ConversionProperties getDefaultProperties() const;
    virtual SBMLNamespaces *getTargetNamespaces();
    virtual bool matchesProperties(ConversionProperties const &props) const;
    virtual int setDocument(SBMLDocument const *doc);
    virtual int setDocument(SBMLDocument *doc);
    virtual int setProperties(ConversionProperties const *props);
    virtual ConversionProperties *getProperties() const;
    virtual int convert();

    typedef void * (SWIGSTDCALL* SWIG_Callback0_t)();
    typedef void * (SWIGSTDCALL* SWIG_Callback1_t)();
    typedef void * (SWIGSTDCALL* SWIG_Callback2_t)();
    typedef void * (SWIGSTDCALL* SWIG_Callback3_t)();
    typedef void * (SWIGSTDCALL* SWIG_Callback4_t)();
    typedef unsigned int (SWIGSTDCALL* SWIG_Callback5_t)(void *);
    typedef int (SWIGSTDCALL* SWIG_Callback6_t)(void *);
    typedef int (SWIGSTDCALL* SWIG_Callback7_t)(void *);
    typedef void * (SWIGSTDCALL* SWIG_Callback8_t)();
    typedef int (SWIGSTDCALL* SWIG_Callback9_t)();
    void swig_connect_director(SWIG_Callback0_t callbackclone, SWIG_Callback1_t callbackgetDocument__SWIG_0, SWIG_Callback2_t callbackgetDocument__SWIG_1, SWIG_Callback3_t callbackgetDefaultProperties, SWIG_Callback4_t callbackgetTargetNamespaces, SWIG_Callback5_t callbackmatchesProperties, SWIG_Callback6_t callbacksetDocument, SWIG_Callback7_t callbacksetProperties, SWIG_Callback8_t callbackgetProperties, SWIG_Callback9_t callbackconvert);

private:
    SWIG_Callback0_t swig_callbackclone;
    SWIG_Callback1_t swig_callbackgetDocument__SWIG_0;
    SWIG_Callback2_t swig_callbackgetDocument__SWIG_1;
    SWIG_Callback3_t swig_callbackgetDefaultProperties;
    SWIG_Callback4_t swig_callbackgetTargetNamespaces;
    SWIG_Callback5_t swig_callbackmatchesProperties;
    SWIG_Callback6_t swig_callbacksetDocument;
    SWIG_Callback7_t swig_callbacksetProperties;
    SWIG_Callback8_t swig_callbackgetProperties;
    SWIG_Callback9_t swig_callbackconvert;
    void swig_init_callbacks();
};

class SwigDirector_SBMLValidator : public SBMLValidator, public Swig::Director {

public:
    SwigDirector_SBMLValidator();
    SwigDirector_SBMLValidator(SBMLValidator const &orig);
    virtual ~SwigDirector_SBMLValidator();
    virtual SBMLValidator *clone() const;
    virtual SBMLDocument *getDocument();
    virtual SBMLDocument const *getDocument() const;
    virtual int setDocument(SBMLDocument const *doc);
    virtual unsigned int validate();
    virtual void clearFailures();

    typedef void * (SWIGSTDCALL* SWIG_Callback0_t)();
    typedef void * (SWIGSTDCALL* SWIG_Callback1_t)();
    typedef void * (SWIGSTDCALL* SWIG_Callback2_t)();
    typedef int (SWIGSTDCALL* SWIG_Callback3_t)(void *);
    typedef long long (SWIGSTDCALL* SWIG_Callback4_t)();
    typedef void (SWIGSTDCALL* SWIG_Callback5_t)();
    void swig_connect_director(SWIG_Callback0_t callbackclone, SWIG_Callback1_t callbackgetDocument__SWIG_0, SWIG_Callback2_t callbackgetDocument__SWIG_1, SWIG_Callback3_t callbacksetDocument, SWIG_Callback4_t callbackvalidate__SWIG_0, SWIG_Callback5_t callbackclearFailures);

private:
    SWIG_Callback0_t swig_callbackclone;
    SWIG_Callback1_t swig_callbackgetDocument__SWIG_0;
    SWIG_Callback2_t swig_callbackgetDocument__SWIG_1;
    SWIG_Callback3_t swig_callbacksetDocument;
    SWIG_Callback4_t swig_callbackvalidate__SWIG_0;
    SWIG_Callback5_t swig_callbackclearFailures;
    void swig_init_callbacks();
};


#endif
