sd-bus返回复杂结果

1.常用简单结果返回

static int readvalue(sd_bus_message *m, void *misc, sd_bus_error *err)
{
    return sd_bus_reply_method_return(m, "s", "HelloWorld!");
}

static const sd_bus_vtable vtable[] = {
    SD_BUS_VTABLE_START(0),
    SD_BUS_METHOD("ReadValue", "a{sv}", "s", readvalue, SD_BUS_VTABLE_UNPRIVILEGED)
    SD_BUS_VTABLE_END
};

2.复杂结构结果返回

const char *value[] = { 0x31, 0x32 };

static int readvalue(sd_bus_message *m, void *misc, sd_bus_error *err)
{
    sd_bus_message *reply;
    int r;

    r = sd_bus_message_new_method_return(m, &reply);
    if (r < 0) {
        return r;
    }

    r = sd_bus_message_append_array(reply, 'y', value, 2);
    if (r < 0) {
        return r;
    }

    return sd_bus_send(g_bus, reply, NULL);
}

static const sd_bus_vtable vtable[] = {
    SD_BUS_VTABLE_START(0),
    SD_BUS_METHOD("ReadVa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值