//---------------------------------------------------------------------------
#ifndef kiss_importH
#define kiss_importH
//---------------------------------------------------------------------------
#include "kiss_parser.h"
#include "import.h"
#include "hub/location.h"
//---------------------------------------------------------------------------
class KissImport: public KissParserClient, public Import {
private:
    KissParser parser_;
    std::string fn;
    hub::Location* dest_;
protected:
    virtual void haveDescription(int, int, std::list<hub::StateTableRow>&, std::string& resetState, int stateCount, int productCount);
public:
    virtual void operator() (std::istream*, const std::string&, Import::Destinations&);
    KissImport(hub::Hub* h): parser_(this) {}
   ~KissImport() {}
};
// ==========================================================================
class KissImpLang: public ImportLang {
public:
    static void enregister (void);
    KissImpLang (const std::string& n): ImportLang(n) {}
    Import* getImporter (hub::Hub* theHub) { return new KissImport (theHub); }
    void getDefaults (hub::Hub*, const std::string&, Import::Destinations&);
};


#endif
