首页 > 编程语言 >bluez glib编程 --- signal 信号的监听

bluez glib编程 --- signal 信号的监听

时间:2024-07-22 14:32:18浏览次数:7  
标签:glib freedesktop signal --- bluez org NULL DBus

监听添加新对象的信号

    objectManager = g_dbus_proxy_new_sync(conn,
                      G_DBUS_PROXY_FLAGS_NONE,
                      NULL,
                      "org.bluez",
                      "/",
                      "org.freedesktop.DBus.ObjectManager",
                      NULL,
                      &error);
    PRINT_ERROR_LOG("ObjectManager");

    g_signal_connect(objectManager, "g-signal", G_CALLBACK(objectManager_handler), NULL);

对象使用的是 /,接口使用的是标准接口 org.freedesktop.DBus.ObjectManager

监听属性改变的信号

                properties1 = g_dbus_proxy_new_sync(conn,
                                G_DBUS_PROXY_FLAGS_NONE,
                                NULL,
                                "org.bluez",
                                path,
                                "org.freedesktop.DBus.Properties",
                                NULL,
                                &error);
                PRINT_WARN_LOG("Properties");
                g_signal_connect(properties1, "g-signal::PropertiesChanged", G_CALLBACK(properties_handler), NULL);

如果使用的对象是 /org/bluez/hci0/dev_A4_C1_38_10_09_2C/service0021/char0022,则监听接口 org.bluez.GattCharacteristic1 的属性变化,此对象有三个接口:

interface_name: org.freedesktop.DBus.Introspectable
interface_name: org.bluez.GattCharacteristic1
interface_name: org.freedesktop.DBus.Properties 

通过标准接口 org.freedesktop.DBus.Properties 监听接口 org.bluez.GattCharacteristic1 的属性变化

 

标签:glib,freedesktop,signal,---,bluez,org,NULL,DBus
From: https://www.cnblogs.com/god-of-death/p/18315904

相关文章

  • 数据结构-C语言-排序(3)
            代码位置:test-c-2024:对C语言习题代码的练习(gitee.com)一、前言:1.1-排序定义:        排序就是将一组杂乱无章的数据按照一定的规律(升序或降序)组织起来。(注:我们这里的排序采用的都为升序)1.2-排序分类:常见的排序算法:插入排序a. 直接插......
  • “点点通”餐饮点餐小程序-计算机毕业设计源码11264
    "点点通"餐饮点餐小程序XXX专业XX级XX班:XXX   指导教师:XXX摘要 随着中国经济的飞速增长,消费者的智能化水平不断提高,许多智能手机和相关的软件正在得到更多的关注和支持。其中,微信的餐饮点餐小程序更是深得消费者的喜爱,它的出现极大地改善了消费者的生活质量,同时,它还创......
  • SSM泰华超市商品管理系统-计算机毕业设计源码11946
    目 录摘要1绪论1.1研究背景1.2 研究意义1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1数据新增流程3.2.2 数据删除流程2.3 系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4 系统用例分析2.5本章小结3 系......
  • SSM小说阅读网站-计算机毕业设计源码11362
    摘 要本文介绍了一个基于SSM框架和MySQL数据库的小说阅读网站的设计与实现。该网站旨在为用户提供一个方便、舒适的在线小说阅读平台。该小说阅读网站具有以下主要功能:用户注册与登录、小说分类浏览、小说搜索、阅读历史记录、小说畅听等。通过该网站,用户可以根据自己的兴......
  • 用navicat导入数据时,报错: [Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:0
    原因这是因为当前的MySQL(作者是5.7.23)不支持datetime为0的情况。解决方法1:修改sql_modesql_mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。查看全局sql_mode:select@@global.sql_mode;可以看到,O_ZERO_DATE、NO_ZERO_I......
  • Warning[204-68] 以及 Vivado HLS与Vivado的资源差异
            这篇学习记录起源于项目以ip导出后,在HLS综合(synthesis)资源与Vivado内ip综合(synthesis)存在巨大差异,本文没有数据仅以文字记录。        所有问题均基于VivadoHLS2019.1。目录1、资源差异1.1、首先vivado内的ip综合分为Global和Out-Of-Context两......
  • NVIDIA Omniverse Isaac Sim (1) - 开发环境
    Windows开发环境(只支持Win10)参考文档: Windows(binary)—ROS2Documentation:Humbledocumentation安装Chocolatey和其它PackageInstallingChocolatey::安装Python3.8.3,注意需要安装到这个目录: C:\Python38 chocoinstall-ypython--version3.8.3::......
  • 2024-07-22 如何让宽度和高度一致(flex布局)
    <template><divclass="demo-container"><divclass="demo-item"><divclass="demo-title">方向指示类图标</div><divclass="demo-content">......
  • 01-Scala开发环境搭建
    Scala开发环境搭建1.安装JDK:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html2.IDEA安装Scala插件3.添加Scala的全局的Libraries4.打印HelloWorldTips:Scala中为什么要在object中才能使用Main方法?Scala中将“静态”与“类”区分的......
  • ansible-install-log
    [jing@CJVM01~]$cat/etc/redhat-releaseCentOSLinuxrelease8.0.1905(Core)[jing@CJVM01~]$rpm-qa|greppythonpython3-libxml2-2.9.7-5.el8.x86_64python3-dateutil-2.6.1-6.el8.noarchpython3-libcomps-0.1.8-13.el8.x86_64python3-pyyaml-3.12-12.el8.x86......