/usr/include/bobcat/cininserter is in libbobcat-dev 4.08.02-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 60 | #ifndef INCLUDED_BOBCAT_CININSERTER_
#define INCLUDED_BOBCAT_CININSERTER_
#include <iosfwd>
#include <ostream>
#include <thread>
#include <future>
#include <type_traits>
#include <sstream>
#include <bobcat/pipe>
#include <bobcat/ofdstreambuf>
#include <bobcat/exec>
#include <iostream>
using namespace std;
namespace FBB
{
class CinInserter: public IUO::CloseMode, private Exec,
private OFdStreambuf, public std::ostream
{
size_t d_bufSize;
Pipe d_oChildInPipe; // cin read by the CHILD
void (*d_modeFun)();
bool d_stopped = true;
public:
CinInserter(size_t bufSize = 100);
CinInserter(StdMode mode, size_t bufSize = 100);
~CinInserter() override;
void execute(std::string const &cmd);
bool execute(std::string const &cmd, std::string const &txt);
int stop();
using Exec::ret;
protected:
Pipe &childInPipe();
private:
void childRedirections() override;
void parentRedirections() override;
void parentProcess() override;
static void stdClose();
};
inline Pipe &CinInserter::childInPipe()
{
return d_oChildInPipe;
}
} // namespace FBB
#endif
|