First work on Pipe class
[metaproxy-moved-to-github.git] / src / pipe.hpp
1 /* $Id: pipe.hpp,v 1.1 2005-11-07 12:32:01 adam Exp $
2    Copyright (c) 2005, Index Data.
3
4 %LICENSE%
5  */
6
7 #ifndef YP2_PIPE_HPP
8 #define YP2_PIPE_HPP
9
10 #include <boost/scoped_ptr.hpp>
11
12 #include <yaz/yconfig.h>
13
14 namespace yp2 {
15     class Pipe {
16         class Error : public std::runtime_error {
17         public:
18             Error(const std::string msg) 
19                 : std::runtime_error("Pipe error: " + msg) {};
20         };
21         class Rep;
22     public:
23         Pipe(int port_to_use);
24         ~Pipe();
25         int &read_fd() const;
26         int &write_fd() const;
27     private:
28         boost::scoped_ptr<Rep> m_p;
29     };
30 }
31 #endif
32 /*
33  * Local variables:
34  * c-basic-offset: 4
35  * indent-tabs-mode: nil
36  * c-file-style: "stroustrup"
37  * End:
38  * vim: shiftwidth=4 tabstop=8 expandtab
39  */
40