libzypp 17.37.17
zypp::ExternalProgramWithSeperatePgid Class Reference

ExternalProgram extended to change the progress group ID after forking. More...

#include <zypp-core/ExternalProgram.h>

Inheritance diagram for zypp::ExternalProgramWithSeperatePgid:

Public Member Functions

 ExternalProgramWithSeperatePgid (const char *const *argv, Stderr_Disposition stderr_disp=Normal_Stderr, int stderr_fd=-1, bool default_locale=false, const Pathname &root="")
Public Member Functions inherited from zypp::ExternalProgram
 ExternalProgram (const std::string &commandline, Stderr_Disposition stderr_disp=Normal_Stderr, bool use_pty=false, int stderr_fd=-1, bool default_locale=false, const Pathname &root="")
 Start the external program by using the shell /bin/sh with the option -c.
 ExternalProgram ()
 Start an external program by giving the arguments as an arry of char *pointers.
 ExternalProgram (const Arguments &argv, Stderr_Disposition stderr_disp=Normal_Stderr, bool use_pty=false, int stderr_fd=-1, bool default_locale=false, const Pathname &root="")
 ExternalProgram (const Arguments &argv, const Environment &environment, Stderr_Disposition stderr_disp=Normal_Stderr, bool use_pty=false, int stderr_fd=-1, bool default_locale=false, const Pathname &root="")
 ExternalProgram (const char *const *argv, Stderr_Disposition stderr_disp=Normal_Stderr, bool use_pty=false, int stderr_fd=-1, bool default_locale=false, const Pathname &root="")
 ExternalProgram (const char *const *argv, const Environment &environment, Stderr_Disposition stderr_disp=Normal_Stderr, bool use_pty=false, int stderr_fd=-1, bool default_locale=false, const Pathname &root="")
 ExternalProgram (const char *binpath, const char *const *argv_1, bool use_pty=false)
 ExternalProgram (const char *binpath, const char *const *argv_1, const Environment &environment, bool use_pty=false)
 ~ExternalProgram () override
int close () override
 Wait for the progamm to complete.
bool kill ()
 Kill the program.
bool kill (int sig)
 Send a signal to the program.
bool running ()
 Return whether program is running.
pid_t getpid ()
 return pid
const std::string & command () const
 The command we're executing.
const std::string & execError () const
 Some detail telling why the execution failed, if it failed.
std::ostream & operator>> (std::ostream &out_r)
 Redirect all command output to an ostream.
Public Member Functions inherited from zypp::externalprogram::ExternalDataSource
 ExternalDataSource (FILE *inputfile=0, FILE *outputfile=0)
 Create a new instance.
virtual ~ExternalDataSource ()
 Implicitly close the connection.
bool send (const char *buffer, size_t length)
 Send some data to the output stream.
bool send (std::string s)
 Send some data down the stream.
size_t receive (char *buffer, size_t length)
 Read some data from the input stream.
std::string receiveLine ()
 Read one line from the input stream.
std::string receiveLine (io::timeout_type timeout)
 Read one line from the input stream.
std::string receiveUpto (char c)
 Read characters into a string until delimiter c or EOF is read.
std::string receiveUpto (char c, io::timeout_type timeout)
 Read characters into a string until delimiter c or EOF is read or the timeout is reached.
void setBlocking (bool mode)
 Set the blocking mode of the input stream.
FILE * inputFile () const
 Return the input stream.
FILE * outputFile () const
 Return the output stream.

Additional Inherited Members

Public Types inherited from zypp::ExternalProgram
enum  Stderr_Disposition { Normal_Stderr , Discard_Stderr , Stderr_To_Stdout , Stderr_To_FileDesc }
 Define symbols for different policies on the handling of stderr. More...
using Arguments = std::vector<std::string>
using Environment = std::map<std::string, std::string>
 For passing additional environment variables to set.
Static Public Member Functions inherited from zypp::ExternalProgram
static void renumber_fd (int origfd, int newfd)
 origfd will be accessible as newfd and closed (unless they were equal)
Protected Member Functions inherited from zypp::ExternalProgram
void start_program (const char *const *argv, const Environment &environment, Stderr_Disposition stderr_disp=Normal_Stderr, int stderr_fd=-1, bool default_locale=false, const char *root=NULL, bool switch_pgid=false, bool die_with_parent=false, bool usePty=false)
Protected Attributes inherited from zypp::externalprogram::ExternalDataSource
FILE * inputfile
FILE * outputfile

Detailed Description

ExternalProgram extended to change the progress group ID after forking.

See also
ExternalProgram

Definition at line 311 of file ExternalProgram.h.

Constructor & Destructor Documentation

◆ ExternalProgramWithSeperatePgid()

zypp::ExternalProgramWithSeperatePgid::ExternalProgramWithSeperatePgid ( const char *const * argv,
Stderr_Disposition stderr_disp = Normal_Stderr,
int stderr_fd = -1,
bool default_locale = false,
const Pathname & root = "" )
inline

Definition at line 314 of file ExternalProgram.h.


The documentation for this class was generated from the following file: