/***************************************************************************
                           commandengine.h  -  kfr commands feature class
                                      -------------------
    begin                : fri aug  13 15:29:46 CEST 2004

    copyright            : (C) 2004 Emiliano Gulmini
    email                : emi_barbarossa@yahoo.it
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 COMMANDENGINE_H
#define COMMANDENGINE_H

// QT
class TQString;
#include <tqobject.h>

//KDE
class TDEProcess;

class CommandEngine : public TQObject
{
  TQ_OBJECT
  
  private:
    TQString m_processOutput;
  public:
    CommandEngine() {}

  public:

    /** 
    These functions implement the KFR commands 
    */
    TQString datetime(const TQString& opt, const TQString& arg);
    TQString user(const TQString& opt, const TQString& arg);
    TQString loadfile(const TQString& opt, const TQString& arg);
    TQString empty(const TQString& opt, const TQString& arg);
    TQString mathexp(const TQString& opt, const TQString& arg);
    TQString random(const TQString& opt, const TQString& arg);
    TQString stringmanip(const TQString& opt, const TQString& arg);
    TQString variableValue(const TQString &variable);

  private slots:
    void slotGetScriptOutput(TDEProcess*,char*,int);
    void slotGetScriptError(TDEProcess*,char*,int);
    void slotProcessExited(TDEProcess*);
};

#endif // COMMANDENGINE_H
