#include <QtCore>
#include <QString>

class IpcProcessInterface
{
    SLOT( start() );
    SLOT( terminate() );
    SLOT( kill() );
    SLOT( close() );

    SLOT( setArguments(const QStringList &arguments) );
    SLOT( setInputChannelMode(QProcess::InputChannelMode mode) );
    SLOT( setNativeArguments(const QString &arguments) );
    SLOT( setProcessChannelMode(QProcess::ProcessChannelMode mode) );
    SLOT( setProgram(int programId) );
    SLOT( setWorkingDirectory(const QString &dir) );

    SLOT( QByteArray readAll() );
    SLOT( QByteArray readAllStandardError() );
    SLOT( QByteArray readAllStandardOutput() );

    SLOT( bool waitForFinished() );
    SLOT( bool waitForFinished(int msecs) );
    SLOT( bool waitForStarted() );
    SLOT( bool waitForStarted(int msecs) );


    SIGNAL( errorOccurred(QProcess::ProcessError error) );
    SIGNAL( finished(int exitCode, QProcess::ExitStatus exitStatus) );
    SIGNAL( readyRead() );
    SIGNAL( readyReadStandardError() );
    SIGNAL( readyReadStandardOutput() );
    SIGNAL( started() );
    SIGNAL( stateChanged(QProcess::ProcessState newState) );
};
