11#ifndef IFW_FCF_DEVMGR_DEVICES_MOCK_HELPERS_HPP_
12#define IFW_FCF_DEVMGR_DEVICES_MOCK_HELPERS_HPP_
14#include <ifw/fnd/defs/iCommAdapter.hpp>
21 inline ifw::fnd::defs::CallResult
22 MakeRpcReply(
short code, ifw::fnd::defs::Status batch_status =
23 ifw::fnd::defs::Status::Ok) {
24 ifw::fnd::defs::CallResult res;
25 res.status = batch_status;
26 ifw::fnd::defs::CallArgumentResult arg;
27 arg.data.value = code;
28 res.output_arguments.push_back(std::move(arg));
32 inline ifw::fnd::defs::ReadResult
34 ifw::fnd::defs::Value>> items) {
35 ifw::fnd::defs::ReadResult res;
36 for (
auto& [addr, val] : items) {
37 ifw::fnd::defs::ReadItemResult ir;
38 ir.address = std::move(addr);
39 ifw::fnd::defs::DataValue dv;
40 dv.value = std::move(val);
41 ir.data = std::move(dv);
42 res.items.push_back(std::move(ir));
47 inline ifw::fnd::defs::Result
MakeOk() {
48 return ifw::fnd::defs::Result{};
51 inline ifw::fnd::defs::WriteResult
52 MakeWriteOk(
const ifw::fnd::defs::WriteRequest& req) {
53 ifw::fnd::defs::WriteResult res;
54 for (
const auto& item : req.items) {
55 ifw::fnd::defs::WriteItemResult wr;
56 wr.address = item.address;
57 res.items.push_back(std::move(wr));
62 inline ifw::fnd::defs::SubscribeResult
64 ifw::fnd::defs::SubscribeResult res;
65 for (
const auto& addr : nodes) {
66 ifw::fnd::defs::SubscribeItemResult sr;
68 res.items.push_back(std::move(sr));
76 inline ifw::fnd::defs::Notification
78 const ifw::fnd::defs::Value& value) {
79 ifw::fnd::defs::Notification note;
80 note.address = address;
81 note.data.value = value;
Definition mockHelpers.hpp:21
ifw::fnd::defs::Notification MakeNotification(const std::string &address, const ifw::fnd::defs::Value &value)
Build a single-attribute Notification suitable for feeding to a Listener that uses m_ua_status_map....
Definition mockHelpers.hpp:77
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