/***************************************************************************
                          pk2cmdProgrammer.h  -  description
                             -------------------
    begin                : ven fév 3 2006
    copyright            : (C) 2006 by Gibaud Alain
    email                : alain.gibaud@free.fr
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef PK2CMDPROGRAMMER_H
#define PK2CMDPROGRAMMER_H

#include "ProgrammerBase.h"
#include "ConsoleClient.h"

/**Prototype class for testing external programmers support
  *@author Gibaud Alain
  */

class pk2cmdProgrammer : public ProgrammerBase, public ConsoleClient
{
public:
    pk2cmdProgrammer();
    ~pk2cmdProgrammer();
    /** configurator widget for this programmer */
    virtual ConfigWidget *configWidget() ;
    /** name of this programmer */
    virtual QString longName() ;
    virtual QString shortName() ;
    /** List of supported devices */
    virtual QStringList devices() ;
    /** Select a device. return true if ok */
    virtual bool  selectDevice(const QString& devname) ;
    /**  start using this programmer */
    virtual QString enter() ;
    /**  stop using this programmer */
    virtual QString exit() ;
    /** true if connexion media available */
    virtual bool connectionOK() ;
    virtual QString extraFct() ;
    virtual bool executeExtraFct(int function_number) ;
};

#endif
