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
|
#ifndef INCLUDED_SPAWN_
#define INCLUDED_SPAWN_
#include <string>
#include <fstream>
#include <iostream>
#include <bobcat/fork>
#include <bobcat/pipe>
#include <bobcat/ifdbuf>
#include <bobcat/ofdbuf>
#include <bobcat/ifdstream>
class Spawn: public FBB::Fork, public std::ostream// , public std::istream
{
FBB::Pipe d_insertPipe;
// FBB::Pipe d_extractPipe;
// FBB::Pipe d_errPipe;
FBB::OFdBuf d_insertBuffer;
// FBB::IFdBuf d_extractBuffer;
// FBB::IFdStream d_errStream;
std::string d_command;
public:
Spawn(std::string const &command);
void end();
private:
void childProcess() override;
void parentProcess() override;
void childRedirections() override;
};
#endif
|