Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

CmdPipe.h

Go to the documentation of this file.
00001 /*
00002  *  CmdPipe.h
00003  *
00004  *  Frodo (C) 1994-1997 Christian Bauer
00005  *  Tcl/Tk stuff by Lutz Vieweg
00006  */
00007 
00008 #ifndef CmdPipe_h
00009 #define CmdPipe_h
00010 
00011 extern "C" {
00012         #include <stdio.h>
00013         #include <sys/types.h>
00014 }
00015 
00016 class Pipe {
00017 
00018 protected:
00019 
00020         int fds[2];
00021 
00022 public:
00023         
00024         bool fail;
00025 
00026         Pipe(void);
00027         Pipe(int fdin, int fdout) : fail(false) {
00028                 fds[0] = fdin;
00029                 fds[1] = fdout;
00030         }
00031         ~Pipe(void);
00032         
00033         unsigned long ewrite(const void * buf, unsigned long len);
00034         unsigned long eread (void * buf, unsigned long len);
00035         
00036         int get_read_fd(void) const {
00037                 return fds[0];
00038         }
00039         
00040         int get_write_fd(void) const {
00041                 return fds[1];
00042         }
00043         
00044         int probe(void) const;
00045 };
00046 
00047 class CmdPipe {
00048         
00049 protected:
00050 
00051         Pipe tocmd;
00052         Pipe fromcmd;
00053         
00054         int childpid;
00055         
00056 public:
00057         
00058         bool fail;
00059         
00060         CmdPipe(const char * command, const char * arg, int nicediff = 0);
00061         ~CmdPipe(void);
00062         
00063         unsigned long ewrite(const void * buf, unsigned long len) {
00064                 return tocmd.ewrite(buf, len);
00065         }
00066         
00067         unsigned long eread (void * buf, unsigned long len) {
00068                 return fromcmd.eread(buf, len);
00069         }
00070         
00071         int get_read_fd(void) const {
00072                 return fromcmd.get_read_fd();
00073         }
00074         
00075         int get_write_fd(void) const {
00076                 return tocmd.get_write_fd();
00077         }
00078         
00079         int probe(void) const {
00080                 return fromcmd.probe();
00081         }
00082 
00083 };
00084 
00085 #endif // CmdPipe_h

Generated on Tue Feb 8 04:07:29 2005 for E32frodo by doxygen 1.3.3