Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #if !defined (octave_octave_procbuf_h)
00027 #define octave_octave_procbuf_h 1
00028
00029 #include <sys/types.h>
00030
00031 #include "c-file-ptr-stream.h"
00032
00033 class
00034 octave_procbuf : public c_file_ptr_buf
00035 {
00036 public:
00037
00038 octave_procbuf (void)
00039 : c_file_ptr_buf (0), wstatus (-1), open_p (false), proc_pid (-1),
00040 next (0) { }
00041
00042 octave_procbuf (const char *command, int mode)
00043 : c_file_ptr_buf (0), wstatus (-1), open_p (false), proc_pid (-1),
00044 next (0) { open (command, mode); }
00045
00046 ~octave_procbuf (void) { close (); }
00047
00048 octave_procbuf *open (const char *command, int mode);
00049
00050 octave_procbuf *close (void);
00051
00052 int wait_status (void) const { return wstatus; }
00053
00054 bool is_open (void) const { return open_p; }
00055
00056 pid_t pid (void) const { return proc_pid; }
00057
00058 protected:
00059
00060 int wstatus;
00061
00062 bool open_p;
00063
00064 pid_t proc_pid;
00065
00066 octave_procbuf *next;
00067
00068 private:
00069
00070
00071
00072 octave_procbuf (const octave_procbuf&);
00073
00074 octave_procbuf& operator = (const octave_procbuf&);
00075 };
00076
00077 extern void symbols_of_oct_procbuf (void);
00078
00079 #endif