summaryrefslogtreecommitdiffstats
path: root/libk9copy/k9process.cpp
blob: 5b175451a3a3ca7f57ac47473ba4709c174d2858 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//
// C++ Implementation: k9process
//
// Description: 
//
//
// Author: Jean-Michel PETIT <k9copy@free.fr>, (C) 2007
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "k9process.h"
#include <qobject.h>
#include <qapplication.h>
#include <qeventloop.h>

k9Process::k9Process(QObject *parent, const char *name)
 : KProcess(parent, name),m_waitSync(false)
{
   connect(this,SIGNAL(processExited( KProcess* )),this,SLOT(slotProcessExited( KProcess* )));
 
}


k9Process::~k9Process()
{
}

void k9Process::sync() {
  m_waitSync=true;
  QApplication::eventLoop()->enterLoop();
}


void k9Process::slotProcessExited( KProcess * proc) {
   if (m_waitSync) {
   	QApplication::eventLoop()->exitLoop();
   	m_waitSync=false;	
   }
}

const QString & k9Process::debug() {
    m_debug="";
    for (int i=0;i<arguments.count();i++ ){
        m_debug +=" "+ *(arguments.at(i));
    }
    return m_debug;
}

bool  k9Process::start (RunMode runmode, Communication comm) {
  m_elapsed.start();
  return KProcess::start(runmode,comm);
}
#include "k9process.moc"


int k9Process::getElapsed() const {
    return m_elapsed.elapsed();
}