kpipeprocess.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include "kpipeprocess.h"
00021
00022 KPipeProcess::KPipeProcess(
const QString& cmd,
int mode)
00023 :
QFile()
00024 {
00025 m_pipe = NULL;
00026
if (!cmd.isEmpty())
00027 open(cmd,mode);
00028 }
00029
00030 KPipeProcess::~KPipeProcess()
00031 {
00032 close();
00033 }
00034
00035
bool KPipeProcess::open(
const QString& cmd,
int mode)
00036 {
00037
00038 close();
00039
00040
if (mode != IO_ReadOnly && mode != IO_WriteOnly)
00041
return false;
00042
00043
00044 m_pipe = popen(cmd.latin1(),(mode == IO_WriteOnly ?
"w" :
"r"));
00045
if (m_pipe)
00046
if (!QFile::open(mode,m_pipe))
00047 close();
00048
return (m_pipe != NULL);
00049 }
00050
00051
void KPipeProcess::close()
00052 {
00053
if (m_pipe != NULL)
00054 {
00055 QFile::close();
00056
00057 pclose( m_pipe );
00058 m_pipe = NULL;
00059 }
00060 }
This file is part of the documentation for kdeprint Library Version 3.3.1.