首页 > 其他分享 >OpenHarmony——4.1release代码走读——dsoftbus/core/discovery/coap

OpenHarmony——4.1release代码走读——dsoftbus/core/discovery/coap

时间:2024-02-04 15:44:18浏览次数:35  
标签:OpenHarmony 4.1 dsoftbus src 走读 coap disc path root

这是dsoftbus/core/discovery/coap目录的结构

.
├── common
│   ├── include
│   │   └── disc_coap_parser.h
│   └── src
│       └── disc_coap_parser.c
├── disc_coap.gni
├── interface
│   ├── disc_coap.h
│   └── disc_coap_virtual.c
└── nstackx_coap
    ├── include
    │   ├── disc_coap_capability.h
    │   └── disc_nstackx_adapter.h
    └── src
        ├── disc_coap.c
        ├── disc_coap_capability.c
        └── disc_nstackx_adapter.c

说说disc_coap.gni

# 导入相关模块
import("../../../dsoftbus.gni")
import("../../common/dfx/dsoftbus_dfx.gni")

# 根据dsoftbus_feature_disc_coap的值判断是否需要加载disc_coap_src列表
if (dsoftbus_feature_disc_coap == true) {
  # 如果dsoftbus_feature_disc_coap为true,则加载disc_coap_src列表
  disc_coap_src = [
    "$dsoftbus_root_path/core/discovery/coap/common/src/disc_coap_parser.c",
    "$dsoftbus_root_path/core/discovery/coap/nstackx_coap/src/disc_coap.c",
    "$dsoftbus_root_path/core/discovery/coap/nstackx_coap/src/disc_nstackx_adapter.c",
  ]
} else {
  # 如果dsoftbus_feature_disc_coap为false,则加载disc_coap_src列表
  disc_coap_src = [
    "$dsoftbus_root_path/core/discovery/coap/interface/disc_coap_virtual.c",
  ]
}

# 定义disc_coap_inc列表,包含需要引入的头文件路径
# 我们可以发现头文件不受dsoftbus_feature_disc_coap的影响,只有实现受到影响
disc_coap_inc = [
  "$dsoftbus_root_path/core/discovery/coap/interface",
  "$dsoftbus_root_path/core/discovery/coap/common/include",
  "$dsoftbus_root_path/core/discovery/coap/nstackx_coap/include",
  "$dsoftbus_root_path/interfaces/kits/bus_center",
  "$dsoftbus_root_path/interfaces/kits/common",
  "$dsoftbus_root_path/interfaces/kits/discovery",
  "$dsoftbus_root_path/core/common/include",
  "$dsoftbus_root_path/core/common/dfx/hisysevent_adapter/include",
  "//third_party/cJSON",
]

# 根据dsoftbus_feature_ex_kits的值判断是否需要加载coap_enhance_src和coap_enhance_inc
if (dsoftbus_feature_ex_kits) {
  # 如果dsoftbus_feature_ex_kits为true,则导入coap_enhance.gni文件
  import("$dsoftbus_root_path/dsoftbus_enhance/core/discovery/coap/coap_enhance.gni")

  # 将coap_enhance_src添加到disc_coap_src列表中
  disc_coap_src += coap_enhance_src

  # 将coap_enhance_inc添加到disc_coap_inc列表中
  disc_coap_inc += coap_enhance_inc
} else {
  # 如果dsoftbus_feature_ex_kits为false,则将disc_coap_src列表添加一个文件路径
  # 显然,上面的coap_enhance_src和coap_enhance_inc是coap_enhance.gni中定义的
  disc_coap_src += [ "$dsoftbus_root_path/core/discovery/coap/nstackx_coap/src/disc_coap_capability.c" ]
}

# 定义disc_coap_deps列表,包含需要依赖的模块
disc_coap_deps = [
  "$dsoftbus_dfx_path/anonymize:softbus_dfx_anonymizer",
  "$dsoftbus_dfx_path/log:softbus_dfx_log",
  "$dsoftbus_root_path/components/nstackx/nstackx_ctrl:nstackx_ctrl",
]

标签:OpenHarmony,4.1,dsoftbus,src,走读,coap,disc,path,root
From: https://www.cnblogs.com/Hubugui/p/18006363

相关文章

  • (2024.1.29-2024.2.4)C语言学习小结
    本周主要围绕《HeadfirstC》这本书展开C语言学习,按照计划,我学习了的内容。基本内容这周学习的内容像是上学期最后的内容的扩展、延申、深入,高级函数那块有点绕但慢慢啃下来还可以接受。以下是思维导图:遇到的问题与解决、经验教训等问题0(上周的问题这周才解决):看到书里......
  • Invicti v24.1.0 for Windows - 企业应用安全测试
    Invictiv24.1.0forWindows-企业应用安全测试InvictiStandard30Jan2024v24.1.0.43434请访问原文链接:Invictiv24.1.0forWindows-企业应用安全测试,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgInvicti是一种自动化但完全可配置的Web应用程序安全扫......
  • 2024.1.30 总结
    上午重新编写了一下自己的缺省源晚上听吴队讲实验舱\(07\)的比赛题。\(A\)倒着考虑,用\(Tarjan\)求强联通分量。\(B\)有点结论,答案是所有边双联通分量内部的极差最大值。\(C\)建圆方树,然后在树上进行\(DFS\)预处理。之后是\(CF\)\(1925\)的讲题。这次感觉\(B\)......
  • 2024.1.31 总结
    上午接到姜\(sir\)通知后就开始召集讲题组并开始写题解。\(B\)属于结论题,题解和我赛时的结论不一样,然后就都证明了一下。Link\(D\)有一点难,借鉴了Register_int的题解,\(dp\)那段卡了一小段时间。Link晚上吴队讲题(实验舱\(06\))\(A\)其实很简单,只需要统计奇数度数的点,最......
  • 2024.1.29 总结
    早上起来先打\(USACO\)\(Cu\)。\(A\)一眼秒,\(10\)\(min\)过。\(B\)一眼模拟,模拟后\(T\)掉\(6\)个点,知道怎么死循环但是懒得判,于是直接卡时过掉,用时\(15\)\(min\)。\(C\)第一眼没思路,先敲了\(\frac{2}{3}\)的暴力,之后一直在推规律。然后换了个思路,统计正负次数和......
  • 2024.1.28 总结
    昨晚有事没上课,今早起来大致浏览了一遍课件,纠结了一下,最终决定不管\(rating\)直接打。先通读了一遍,最终决定先搞\(A\)。\(A\)感觉像板子题,为了使答案最大,肯定不选重心,两遍\(dfs\)找出重心后直接统计答案即可。切了。看\(BC\)之后还是感觉没上课不大会,所以就口胡后就去......
  • Flutter for OpenHarmony
    OpenHarmonySIG组织在Gitee开源了兼容OpenHarmony的Flutter。该组织主要用于孵化OpenHarmony相关的开源生态项目。▲仓库地址:https://gitee.com/openharmony-sig/flutter_flutter根据README的描述,此仓库是基于FlutterSDK对OpenHarmony的兼容拓展,可支持使用Flutte......
  • OpenHarmony—开发及引用动态共享包
    对于企业大型应用开发,有部分公共的资源和代码,只能在开发态静态共享,并且打包到每个依赖的HAP里,这样导致包体积较大,且有重复多份公共资源和代码重复打包到应用中。为了解决运行态状态无法共享,以及减少包体积,让多个HAP能够共享同一公共资源代码,DevEcoStudio支持动态共享包HSP(Harmon......
  • 2024.1.31题目选讲
    CF1753C首先求出整个数列有多少个0,设为sum0,再求出\(1--sum0\)中有多少个1,设为\(sum1\)显然,我们的目标就是把\(1--sum0\)中全部变成0那么考虑有意义的一步的期望次数,由于线性性,可以全部加起来设左边还有x个1(左边就是\(1--sum0\))交换到的概率为\(\dfrac{x^2}{n(n+1)/2}\),那么......
  • 2023 OpenHarmony年度运营报告
                                 ......