Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2013-2018
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 :
7 : #pragma once
8 :
9 : #include "client_tcp_config.hpp"
10 : #include <wfc/domain_object.hpp>
11 : #include <wfc/iinterface.hpp>
12 : #include <wfc/workflow.hpp>
13 : #include <string>
14 : #include <memory>
15 :
16 : namespace wfc{ namespace io{
17 :
18 : class client_tcp_map;
19 :
20 0 : class client_tcp
21 : : public ::wfc::domain_object< iinterface, client_tcp_config>
22 : {
23 : public:
24 : // domain_object
25 : virtual void configure() override;
26 : virtual void initialize() override;
27 : virtual void stop() override;
28 :
29 : // iinterface
30 : virtual void reg_io(io_id_t /*io_id*/, std::weak_ptr<iinterface> /*itf*/) override;
31 :
32 : virtual void unreg_io(io_id_t /*io_id*/) override;
33 :
34 : virtual void perform_io(data_ptr /*d*/, io_id_t /*io_id*/, output_handler_t handler) override;
35 :
36 : private:
37 : std::shared_ptr<client_tcp_map> _client_map;
38 : };
39 :
40 : }}
|