ifw-fcf 8.0.2
 
Loading...
Searching...
No Matches
mockHelpers.hpp
Go to the documentation of this file.
1
12
13#ifndef IFW_FCF_DEVMGR_COMMON_MOCK_HELPERS_HPP_
14#define IFW_FCF_DEVMGR_COMMON_MOCK_HELPERS_HPP_
15
16#include <ifw/fnd/defs/iCommAdapter.hpp>
17#include <string>
18#include <utility>
19#include <vector>
20
22
26 inline ifw::fnd::defs::CallResult
27 MakeRpcReply(short code, ifw::fnd::defs::Status batch_status =
28 ifw::fnd::defs::Status::Ok) {
29 ifw::fnd::defs::CallResult res;
30 res.status = batch_status;
31 ifw::fnd::defs::CallArgumentResult arg;
32 arg.data.value = code;
33 res.output_arguments.push_back(std::move(arg));
34 return res;
35 }
36
40 inline ifw::fnd::defs::ReadResult
41 MakeReadReply(std::vector<std::pair<std::string,
42 ifw::fnd::defs::Value>> items) {
43 ifw::fnd::defs::ReadResult res;
44 for (auto& [addr, val] : items) {
45 ifw::fnd::defs::ReadItemResult ir;
46 ir.address = std::move(addr);
47 ifw::fnd::defs::DataValue dv;
48 dv.value = std::move(val);
49 ir.data = std::move(dv);
50 res.items.push_back(std::move(ir));
51 }
52 return res;
53 }
54
56 inline ifw::fnd::defs::Result MakeOk() {
57 return ifw::fnd::defs::Result{};
58 }
59
62 inline ifw::fnd::defs::WriteResult
63 MakeWriteOk(const ifw::fnd::defs::WriteRequest& req) {
64 ifw::fnd::defs::WriteResult res;
65 for (const auto& item : req.items) {
66 ifw::fnd::defs::WriteItemResult wr;
67 wr.address = item.address;
68 res.items.push_back(std::move(wr));
69 }
70 return res;
71 }
72
74 inline ifw::fnd::defs::SubscribeResult
75 MakeSubscribeOk(const std::vector<ifw::fnd::defs::Address>& nodes) {
76 ifw::fnd::defs::SubscribeResult res;
77 for (const auto& addr : nodes) {
78 ifw::fnd::defs::SubscribeItemResult sr;
79 sr.address = addr;
80 res.items.push_back(std::move(sr));
81 }
82 return res;
83 }
84
85} // namespace ifw::fcf::devmgr::test
86
87#endif // IFW_FCF_DEVMGR_COMMON_MOCK_HELPERS_HPP_
Definition mockHelpers.hpp:21
ifw::fnd::defs::ReadResult MakeReadReply(std::vector< std::pair< std::string, ifw::fnd::defs::Value > > items)
Build a ReadResult from a list of (address, value) pairs. Every item is marked Ok....
Definition mockHelpers.hpp:41
ifw::fnd::defs::Result MakeOk()
Build a generic "Ok" Result.
Definition mockHelpers.hpp:56
ifw::fnd::defs::CallResult MakeRpcReply(short code, ifw::fnd::defs::Status batch_status=ifw::fnd::defs::Status::Ok)
Build a CallResult that carries a single short reply code, matching the convention every FCF RPC uses...
Definition mockHelpers.hpp:27
ifw::fnd::defs::SubscribeResult MakeSubscribeOk(const std::vector< ifw::fnd::defs::Address > &nodes)
Build a SubscribeResult acknowledging every requested node.
Definition mockHelpers.hpp:75
ifw::fnd::defs::WriteResult MakeWriteOk(const ifw::fnd::defs::WriteRequest &req)
Build a WriteResult that succeeds for every item address in the request. Reflects the typical Write s...
Definition mockHelpers.hpp:63