Commit | Line | Data |
---|---|---|
8c15b8c7 TJ |
1 | /* |
2 | The software in this package is distributed under the GNU General | |
3 | Public License version 2 (with a special exception described below). | |
4 | ||
5 | A copy of GNU General Public License (GPL) is included in this distribution, | |
6 | in the file COPYING.GPL. | |
7 | ||
8 | As a special exception, if other files instantiate templates or use macros | |
9 | or inline functions from this file, or you compile this file and link it | |
10 | with other works to produce a work based on this file, this file | |
11 | does not by itself cause the resulting work to be covered | |
12 | by the GNU General Public License. | |
13 | ||
14 | However the source code for this file must still be made available | |
15 | in accordance with section (3) of the GNU General Public License. | |
16 | ||
17 | This exception does not invalidate any other reasons why a work based | |
18 | on this file might be covered by the GNU General Public License. | |
19 | */ | |
5c8a3d40 RP |
20 | /** @file |
21 | * | |
22 | * (c) Copyright 2007 by Intra2net AG | |
5c8a3d40 RP |
23 | */ |
24 | ||
42b7c46d RP |
25 | #ifndef __ASYNC_PIPE_HPP__ |
26 | #define __ASYNC_PIPE_HPP__ | |
5c8a3d40 | 27 | |
42b7c46d | 28 | #include "async_io.hpp" |
5c8a3d40 | 29 | |
42b7c46d | 30 | namespace AsyncIo |
5c8a3d40 RP |
31 | { |
32 | ||
33 | ||
34 | class SimplePipe : public IOImplementation | |
35 | { | |
36 | public: | |
37 | SimplePipe(); | |
38 | virtual ~SimplePipe(); | |
39 | ||
40 | bool makePipe(SimplePipe& peer); | |
41 | ||
42 | void sendString(const std::string& data); | |
43 | ||
983acc1f | 44 | boost::signals2::signal<void(const std::string&)> signal_received_string; |
5c8a3d40 RP |
45 | |
46 | protected: | |
47 | ||
48 | private: | |
49 | ||
50 | void slotReceived(); | |
51 | ||
52 | }; // eo SimplePipe | |
53 | ||
54 | ||
42b7c46d | 55 | } // eo namespace AsyncIo |
5c8a3d40 RP |
56 | |
57 | ||
58 | #endif |