aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects/class_process.cpp
diff options
context:
space:
mode:
authorGravatar Noldor2008-10-16 12:28:36 +0000
committerGravatar Noldor2008-10-16 12:28:36 +0000
commit9e0effdc52a48f6ffe9ee04451b762c639fff688 (patch)
tree164e8410bc97a71420dcfef8a9b018e8adb7ee2f /src/modules/objects/class_process.cpp
parentsome fixes on the notifier (diff)
downloadKVIrc-9e0effdc52a48f6ffe9ee04451b762c639fff688.tar.gz
KVIrc-9e0effdc52a48f6ffe9ee04451b762c639fff688.tar.bz2
KVIrc-9e0effdc52a48f6ffe9ee04451b762c639fff688.zip
more works on objects module (locale stuff+some fixes+code clean)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2742 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/class_process.cpp')
-rw-r--r--src/modules/objects/class_process.cpp70
1 files changed, 37 insertions, 33 deletions
diff --git a/src/modules/objects/class_process.cpp b/src/modules/objects/class_process.cpp
index 049a0867e..14cd63b08 100644
--- a/src/modules/objects/class_process.cpp
+++ b/src/modules/objects/class_process.cpp
@@ -161,21 +161,21 @@
KVSO_BEGIN_REGISTERCLASS(KviKvsObject_process,"process","object")
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"addArg", functionaddArgument);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"start", functionstartProcess);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"readStdout", functionreadStdout);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"readStderr", functionreadStderr);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"writeToStdin", functionwriteToStdin);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"closekill", functionclosekill);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"kill", functionkill);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"tryTerminate", functiontryTerminate);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"closeStdin", functioncloseStdin);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"isRunning",functionisRunning);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"normalExit",functionnormalExit);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,addArgument);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,startProcess);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,readStdout);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,readStderr);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,writeToStdin);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,closekill);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,kill);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,tryTerminate);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,closeStdin);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,isRunning);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,normalExit);
// Events
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"readyReadStdoutEvent",functionreadyReadStdoutEvent);
- KVSO_REGISTER_HANDLER(KviKvsObject_process,"readyReadStderrEvent",functionreadyReadStderrEvent);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,readyReadStdoutEvent);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_process,readyReadStderrEvent);
KVSO_END_REGISTERCLASS(KviKvsObject_process)
@@ -196,7 +196,7 @@ KVSO_END_CONSTRUCTOR(KviKvsObject_process)
-bool KviKvsObject_process::functionaddArgument(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,addArgument)
{
QString szArgument;
@@ -208,8 +208,9 @@ bool KviKvsObject_process::functionaddArgument(KviKvsObjectFunctionCall *c)
}
//->Start the process.
-bool KviKvsObject_process::functionstartProcess(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,startProcess)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
QString szcmd;
szcmd = args.takeFirst();
@@ -217,44 +218,42 @@ bool KviKvsObject_process::functionstartProcess(KviKvsObjectFunctionCall *c)
if(m_pProcess->state()==KviProcess::NotRunning)
{
- c->warning( __tr2qs("Process could not be starded."));
+ c->warning( __tr2qs_ctx("Process could not be starded.","objects"));
}
return true;
}
//-->Read the standard output.
-bool KviKvsObject_process::functionreadStderr(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,readStderr)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
QString ng_Process = m_pProcess->readAllStandardError();
c->returnValue()->setString(ng_Process);
return true;
}
//-->Read the standard error.
-bool KviKvsObject_process::functionreadStdout(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,readStdout)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
QString ng_Process =m_pProcess->readAllStandardOutput();
c->returnValue()->setString(ng_Process);
return true;
}
//-->Signals and slot to manage reading output and error from the process.
-bool KviKvsObject_process::functionreadyReadStdoutEvent(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,readyReadStdoutEvent)
{
-
emitSignal("readyReadStdout",c);
return true;
-
}
-bool KviKvsObject_process::functionreadyReadStderrEvent(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,readyReadStderrEvent)
{
-
emitSignal("readyReadStderr",c);
return true;
-
}
-bool KviKvsObject_process::functionwriteToStdin(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,writeToStdin)
{
-
+ CHECK_INTERNAL_POINTER(m_pProcess)
QString szCommand;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("command",KVS_PT_STRING,0,szCommand)
@@ -263,40 +262,45 @@ bool KviKvsObject_process::functionwriteToStdin(KviKvsObjectFunctionCall *c)
return true;
}
//-->The 3 Closing process functions
-bool KviKvsObject_process::functionclosekill(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,closekill)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
//I try to to terminate the process the nice way....
m_pProcess->terminate();
//If the process is still running after 5 seconds, I'll terminate the process in the hard way.
QTimer::singleShot( 5000, m_pProcess, SLOT( kill() ) );
return true;
}
-bool KviKvsObject_process::functionkill(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,kill)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
m_pProcess->kill();
return true;
}
-bool KviKvsObject_process::functiontryTerminate(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,tryTerminate)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
m_pProcess->terminate();
return true;
}
//-->Close the standard input.
-bool KviKvsObject_process::functioncloseStdin(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,closeStdin)
{
-
+ CHECK_INTERNAL_POINTER(m_pProcess)
m_pProcess->closeReadChannel(KviProcess::StandardOutput);
return true;
}
//->Returns if the process still runnig
-bool KviKvsObject_process::functionisRunning(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,isRunning)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
c->returnValue()->setBoolean(m_pProcess->state()==KviProcess::Running);
return true;
}
//->Returns if the process exited.
-bool KviKvsObject_process::functionnormalExit(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(process,normalExit)
{
+ CHECK_INTERNAL_POINTER(m_pProcess)
c->returnValue()->setBoolean(m_pProcess->state()==KviProcess::NotRunning && m_pProcess->exitStatus()==KviProcess::NormalExit);
return true;
}