You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.5 KiB
98 lines
2.5 KiB
//
|
|
// C++ Interface: kractionbase
|
|
//
|
|
// Description:
|
|
//
|
|
//
|
|
// Author: Shie Erlich and Rafi Yanai <>, (C) 2006
|
|
//
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
//
|
|
//
|
|
#ifndef KRACTIONBASE_H
|
|
#define KRACTIONBASE_H
|
|
|
|
#include <tqstring.h>
|
|
#include "expander.h"
|
|
class KrActionProc;
|
|
|
|
class KrActionBase
|
|
{
|
|
public:
|
|
KrActionBase() {}
|
|
virtual ~KrActionBase();
|
|
|
|
/** \brief Specifies the mode for executing the action */
|
|
enum ExecType {
|
|
Normal, ///< Run the command freely
|
|
Terminal, ///< Run the command in new terminal window
|
|
CollectOutput, ///< Collect output from this command
|
|
CollectOutputSeparateStderr, ///< Like #CollectOutput, but display stderr output separately
|
|
RunInTE ///< Run in built-in terminal emulator
|
|
};
|
|
|
|
/** \brief Command which runs this action
|
|
*
|
|
* The string of the command may contain placeholders
|
|
* which are parsed by the #Expander class, unless #doSubstitution
|
|
* returns false
|
|
*
|
|
* The command is run by the shell, which should be bash (see #Expander)
|
|
*
|
|
* @see Expander
|
|
* @see doSubstitution
|
|
*
|
|
* @return The command to execute
|
|
*/
|
|
virtual TQString command() const =0;
|
|
/** \brief Execution type of the action
|
|
*
|
|
* @see #ExecType
|
|
*/
|
|
virtual ExecType execType() const =0;
|
|
/** \brief Working directory of the command
|
|
*
|
|
* @return The working directory of the command. May be \a null,
|
|
* in which case the command is executed in current directory
|
|
*/
|
|
virtual TQString startpath() const =0;
|
|
/** \brief Username under which the command is run
|
|
*
|
|
* @return The username of the command. May be \a null,
|
|
* in which case the command is executed under the current user
|
|
*/
|
|
virtual TQString user() const=0;
|
|
/** \brief Name of the action
|
|
*
|
|
* @return The name of the action which will be shown to the user
|
|
* eg. any string will do
|
|
*/
|
|
virtual TQString text() const=0;
|
|
/** \brief Does the command accept URLs as filenames (like KDE apps)?
|
|
*
|
|
* @return \a true iff it does
|
|
*/
|
|
virtual bool acceptURLs() const=0;
|
|
/** \brief Confirm execution of this action by the user?
|
|
*
|
|
* @return \a true iff execution should be confirmed
|
|
*/
|
|
virtual bool confirmExecution() const=0;
|
|
/** \brief Can #command contain placeholders?
|
|
*
|
|
* @return \a true iff #command should be expanded by #Expander
|
|
*/
|
|
virtual bool doSubstitution() const=0;
|
|
/** \brief A factory method for creating KrActionProc
|
|
*
|
|
* @return A new instance of KrActionProc
|
|
*/
|
|
virtual KrActionProc* actionProcFactoryMethod();
|
|
virtual void handleError(const Error& err);
|
|
|
|
void exec();
|
|
|
|
};
|
|
|
|
#endif
|