sdbusplus:method同步调用通用函数

dbus的method操作的方式也比较类似,可以尝试封装成通用函数:

//dbus_call.hpp
#pragma once

#include <utility>
#include <boost/asio.hpp>
#include <sdbusplus/asio/connection.hpp>
#include <sdbusplus/bus.hpp>
#include <sdbusplus/message/native_types.hpp>
#include <string>
#include <tuple>

using namespace sdbusplus;

template<class T, class... Args>
std::tuple<int, std::string> dbusCall(const std::string& service, const std::string& obj, const std::string& interFace, const std::string& method, T& t, Args... args)
{
    std::string errMsg = "ok";
    int ret = 0;
    boost::asio::io_context io;
    auto conn = make_shared<sdbusplus::asio::connection>(io);

    auto methodCall = conn->new_method_call(
        service.c_str(), obj.c_str(), interFace.c_str(), method.c_str());

    if(sizeof...(args) > 0)
    {
        methodCall.append(args...);
    }
    t

相关推荐

  1. sdbusplus:method同步调用通用函数

    2024-01-12 16:14:02       27 阅读
  2. 拷贝函数调用时机

    2024-01-12 16:14:02       15 阅读
  3. Android调用C++函数

    2024-01-12 16:14:02       9 阅读
  4. 函数调用约定

    2024-01-12 16:14:02       4 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 16:14:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 16:14:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 16:14:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 16:14:02       18 阅读

热门阅读

  1. python第三节:Str字符串类型(4)

    2024-01-12 16:14:02       35 阅读
  2. 「BUG」启动jar配置文件里的参数无法替换。

    2024-01-12 16:14:02       42 阅读
  3. 如何识别bootstrap版本?

    2024-01-12 16:14:02       31 阅读
  4. Golang 单元测试

    2024-01-12 16:14:02       34 阅读
  5. go语言的http post推送

    2024-01-12 16:14:02       34 阅读