|
4 | 4 | #include <libmodbus_cpp/master_rtu.h> |
5 | 5 | #include <libmodbus_cpp/slave_rtu.h> |
6 | 6 |
|
7 | | -libmodbus_cpp::MasterTcp *libmodbus_cpp::Factory::createTcpMaster(const char *address, int port) |
| 7 | +std::unique_ptr<libmodbus_cpp::MasterTcp> libmodbus_cpp::Factory::createTcpMaster(const char *address, int port) |
8 | 8 | { |
9 | | - MasterTcpBackend *b = new MasterTcpBackend(); |
| 9 | + std::unique_ptr<MasterTcpBackend> b(new MasterTcpBackend()); |
10 | 10 | b->init(address, port); |
11 | | - MasterTcp *m = new MasterTcp(b); |
12 | | - return m; |
| 11 | + return std::unique_ptr<MasterTcp>(new MasterTcp(b.release())); |
13 | 12 | } |
14 | 13 |
|
15 | | -libmodbus_cpp::SlaveTcp *libmodbus_cpp::Factory::createTcpSlave(const char *address, int port) |
| 14 | +std::unique_ptr<libmodbus_cpp::SlaveTcp> libmodbus_cpp::Factory::createTcpSlave(const char *address, int port) |
16 | 15 | { |
17 | | - SlaveTcpBackend *b = new SlaveTcpBackend(); |
| 16 | + std::unique_ptr<SlaveTcpBackend> b(new SlaveTcpBackend()); |
18 | 17 | b->init(address, port); |
19 | | - SlaveTcp *s = new SlaveTcp(b); |
20 | | - return s; |
| 18 | + return std::unique_ptr<SlaveTcp>(new SlaveTcp(b.release())); |
21 | 19 | } |
22 | 20 |
|
23 | | -libmodbus_cpp::MasterRtu *libmodbus_cpp::Factory::createRtuMaster(const char *device, int baud, libmodbus_cpp::Parity parity, DataBits dataBits, StopBits stopBits) |
| 21 | +std::unique_ptr<libmodbus_cpp::MasterRtu> libmodbus_cpp::Factory::createRtuMaster(const char *device, int baud, libmodbus_cpp::Parity parity, DataBits dataBits, StopBits stopBits) |
24 | 22 | { |
25 | | - MasterRtuBackend *b = new MasterRtuBackend(); |
| 23 | + std::unique_ptr<MasterRtuBackend> b(new MasterRtuBackend()); |
26 | 24 | b->init(device, baud, parity, dataBits, stopBits); |
27 | | - MasterRtu *m = new MasterRtu(b); |
28 | | - return m; |
| 25 | + return std::unique_ptr<MasterRtu>(new MasterRtu(b.release())); |
29 | 26 | } |
30 | 27 |
|
31 | | -libmodbus_cpp::SlaveRtu *libmodbus_cpp::Factory::createRtuSlave(const char *device, int baud, libmodbus_cpp::Parity parity, DataBits dataBits, StopBits stopBits) |
| 28 | +std::unique_ptr<libmodbus_cpp::SlaveRtu> libmodbus_cpp::Factory::createRtuSlave(const char *device, int baud, libmodbus_cpp::Parity parity, DataBits dataBits, StopBits stopBits) |
32 | 29 | { |
33 | | - SlaveRtuBackend *b = new SlaveRtuBackend(); |
| 30 | + std::unique_ptr<SlaveRtuBackend> b(new SlaveRtuBackend()); |
34 | 31 | b->init(device, baud, parity, dataBits, stopBits); |
35 | | - SlaveRtu *s = new SlaveRtu(b); |
36 | | - return s; |
| 32 | + return std::unique_ptr<SlaveRtu>(new SlaveRtu(b.release())); |
37 | 33 | } |
0 commit comments