diff src/procstream.h @ 1380:79f80c6229be

[project @ 1995-09-12 07:03:33 by jwe]
author jwe
date Tue, 12 Sep 1995 07:06:14 +0000
parents 611d403c7f3d
children 067f11a46742
line wrap: on
line diff
--- a/src/procstream.h
+++ b/src/procstream.h
@@ -28,41 +28,46 @@
 #pragma interface
 #endif
 
-#include <iostream.h>
-#include <procbuf.h>
+#include <fstream.h>
+
+class procbuf;
 
 class
-procstreambase : virtual public ios
+iprocstream : public ifstream
 {
- public:
-  procstreambase (void);
-  procstreambase (const char *command, int mode = ios::out);
+public:
+  iprocstream (void);
+  iprocstream (const char *command, int mode=ios::in);
+
+  ~iprocstream (void);
 
-  procbuf *rdbuf (void) const { return (procbuf *) _strbuf; }
+  void open (const char *command, int mode=ios::in);
+
+  int is_open (void);
 
-  void open (const char *command, int mode = ios::out);
-  int is_open (void) { return rdbuf()->is_open (); }
   int close (void);
+
+private:
+  procbuf *pbuf;
 };
 
 class
-iprocstream : public procstreambase, public istream
+oprocstream : public ofstream
 {
- public:
-  iprocstream (void) : procstreambase () {}
-  iprocstream (const char *command) : procstreambase (command, ios::in) {}
+public:
+  oprocstream (void);
+  oprocstream (const char *command, int mode=ios::out);
 
-  void open (const char *command) { procstreambase::open (command, ios::in); }
-};
+  ~oprocstream (void);
 
-class
-oprocstream : public procstreambase, public ostream
-{
- public:
-  oprocstream (void) : procstreambase () {}
-  oprocstream (const char *command) : procstreambase (command, ios::out) {}
+  void open (const char *command, int mode=ios::out);
+
+  int is_open (void);
 
-  void open (const char *command) { procstreambase::open (command, ios::out); }
+  int close (void);
+
+private:
+  procbuf *pbuf;
 };
 
 #endif
@@ -73,6 +78,3 @@
 ;;; page-delimiter: "^/\\*" ***
 ;;; End: ***
 */
-
-
-