精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony 電話子系統(tǒng)源碼解析之Cellular_Data

系統(tǒng) OpenHarmony
APP調(diào)用數(shù)據(jù)業(yè)務(wù)的流程會(huì)依次經(jīng)過(guò)Data Service,Core Service,RIL Adapter/RILD,再經(jīng)過(guò)AT命令的處理到達(dá)CP處理器。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一、電話子系統(tǒng)概述

電話服務(wù)子系統(tǒng)各個(gè)模塊主要作用如下:

核心服務(wù)模塊:主要功能是初始化RIL管理、SIM卡和搜網(wǎng)模塊。

數(shù)據(jù)服務(wù)模塊:主要功能是實(shí)現(xiàn)數(shù)據(jù)上網(wǎng)和路由管理相關(guān)的業(yè)務(wù)。

通話管理模塊:主要功能是管理CS(Circuit Switch,電路交換)、IMS(IP Multimedia Subsystem,IP多媒體子系統(tǒng))和OTT(over the top,OTT解決方案)三種類型的通話,申請(qǐng)通話所需要的音視頻資源,處理多路通話時(shí)產(chǎn)生的各種沖突。

蜂窩通話模塊:主要功能是實(shí)現(xiàn)基于運(yùn)營(yíng)商網(wǎng)絡(luò)的基礎(chǔ)通話。

短彩信模塊:主要功能是短信收發(fā)和彩信編解碼。

狀態(tài)注冊(cè)模塊:主要功能是提供電話服務(wù)子系統(tǒng)各種消息事件的訂閱以及取消訂閱的API。

1、 電話子系統(tǒng)框架圖

二、 Cellular_Data(數(shù)據(jù)服務(wù)模塊)

1、 代碼目錄

\base\telephony\ cellular_data
├─ frameworks # napi接口存放目錄
├─ interfaces # 對(duì)外部暴露的接口
├─ services # 服務(wù)內(nèi)部代碼
├─ apn_manager # apn管理
├─ state_machine # data 狀態(tài)機(jī)
├─ utils # 通用邏輯
└─ 外部files
├─ sa_profile # sa文件
├─ ohos.build # 編譯build
└─ test # 測(cè)試相關(guān)

2、 流程圖

APP調(diào)用數(shù)據(jù)業(yè)務(wù)的流程會(huì)依次經(jīng)過(guò)Data Service,Core Service,RIL Adapter/RILD,再經(jīng)過(guò)AT命令的處理到達(dá)CP處理器。

CP處理器處理完數(shù)據(jù)命令后,會(huì)依次將結(jié)果再返回,到達(dá)Data Service,最終將獲得的上網(wǎng)相關(guān)數(shù)據(jù),如ip,interface,gateway,dns等設(shè)置到netmanager/netd,最終配置到kernel中。

流程圖如下:

3、data service初始化流程

Data service的初始化流程如下圖所示:

具體的代碼調(diào)用流程如下:

\telephony\cellular_data\services\src\cellular_data_service.cpp

在OnStart函數(shù)中先等待CoreService啟動(dòng)成功WaitCoreServiceToInit,然后進(jìn)行data service的init初始化流程。

在初始化init流程中,會(huì)依次進(jìn)行InitModule的初始化,主要是生成CellularDataController和netd相關(guān)的對(duì)象的初始化.

\telephony\cellular_data\services\src\cellular_data_controller.cpp

在AsynchronousRegister函數(shù)中,會(huì)依次進(jìn)行CellularDataController的初始化、注冊(cè)監(jiān)聽(tīng)事件、注冊(cè)database監(jiān)聽(tīng)。還有要進(jìn)行CellularDataHandler的初始化。

注冊(cè)的監(jiān)聽(tīng)事件包括了網(wǎng)絡(luò)狀態(tài)的監(jiān)聽(tīng)、radio狀態(tài)的監(jiān)聽(tīng)和電話狀態(tài)的監(jiān)聽(tīng)等,這些都會(huì)對(duì)數(shù)據(jù)的狀態(tài)產(chǎn)生影響。

\telephony\cellular_data\services\src\cellular_data_handler.cpp

CellularDataHandler的Init函數(shù)中,主要是對(duì)apn管理相關(guān)的模塊進(jìn)行初始化,包含ApnManager和ApnHolder等。

\telephony\cellular_data\services\src\apn_manager\ apn_manager.cpp
\telephony\cellular_data\services\src\apn_manager\ apn_holder.cpp.cpp
\telephony\cellular_data\services\src\apn_manager\ apn_item.cpp

apn_manager負(fù)責(zé)對(duì)所有apn進(jìn)行管理,包括創(chuàng)建、查找和刪除等操作。

apn_holder就是一個(gè)apn profile。

4、data service建立流程

Data service的建立流程如下圖所示:

具體的代碼調(diào)用流程如下:

\telephony\core_service\interfaces\innerkits\cellular_data\ 
cellular_data_manager.cpp
\telephony\core_service\interfaces\innerkits\cellular_data\
cellular_data_service.cpp
\telephony\core_service\interfaces\innerkits\cellular_data\
cellular_data_controller.cpp
\telephony\core_service\interfaces\innerkits\cellular_data\
cellular_data_handler.cpp

按照上面的時(shí)序圖可以看出,從cellular_data_manager->cellular_data_service-> cellular_data_controller->cellular_data_handler,是直接調(diào)用Enable CellularData。主要的流程在cellular_data_handler中,具體說(shuō)明EstablishDataConnection過(guò)程中比較重要的流程,其中包含了data狀態(tài)機(jī)的創(chuàng)建EstablishDataConnection和connect event的發(fā)送:

\telephony\cellular_data\services\src\state_machine\ cellular_data_state_machine.cpp:

創(chuàng)建default data所需要的狀態(tài)機(jī),類似的,任何類型的數(shù)據(jù),應(yīng)該都會(huì)創(chuàng)建其所對(duì)應(yīng)的狀態(tài)機(jī):

std::shared_ptr<CellularDataStateMachine> CellularDataHandler::CreateCellularDataConnect()  
{
auto cellularDataStateMachine =
std::make_shared<CellularDataStateMachine>(connectionManager_, shared_from_this(), GetEventRunner());
if (cellularDataStateMachine == nullptr) {
TELEPHONY_LOGE("cellularDataStateMachine is null");
return nullptr;
}
sequence_++;
intStateMachineMap_[sequence_] = cellularDataStateMachine;
return cellularDataStateMachine;
}

接下來(lái)會(huì)進(jìn)行data狀態(tài)機(jī)的init初始化操作,會(huì)依次創(chuàng)建Active、Inactive等狀態(tài)到狀態(tài)機(jī)中,并設(shè)置初始狀態(tài)為Active,為后續(xù)的data connect做好準(zhǔn)備:

void CellularDataStateMachine::Init()  
{
activeState_ = std::make_unique<Active>(
std::weak_ptr<CellularDataStateMachine>(shared_from_this()), "Active").release();
inActiveState_ = std::make_unique<Inactive>(
std::weak_ptr<CellularDataStateMachine>(shared_from_this()), "Inactive").release();
activatingState_ = std::make_unique<Activating>(
std::weak_ptr<CellularDataStateMachine>(shared_from_this()), "Activating").release();
disconnectingState_ = std::make_unique<Disconnecting>(
std::weak_ptr<CellularDataStateMachine>(shared_from_this()), "Disconnecting").release();
defaultState_ = std::make_unique<Default>(
std::weak_ptr<CellularDataStateMachine>(shared_from_this()), "Default").release();
netProviderInfo_ = std::make_unique<NetProviderInfo>().release();
netLinkInfo_ = std::make_unique<NetLinkInfo>().release();
if (activeState_ == nullptr || inActiveState_ == nullptr || activatingState_ == nullptr ||
disconnectingState_ == nullptr || defaultState_ == nullptr || netProviderInfo_ == nullptr ||
netLinkInfo_ == nullptr) {
TELEPHONY_LOGE("memory allocation failed");
return;
}
activeState_->SetParentState(defaultState_);
inActiveState_->SetParentState(defaultState_);
activatingState_->SetParentState(defaultState_);
disconnectingState_->SetParentState(defaultState_);
StateMachine::SetOriginalState(inActiveState_);
StateMachine::Start();
}

在上面狀態(tài)機(jī)創(chuàng)建的過(guò)程中,最后會(huì)建立數(shù)據(jù)請(qǐng)求:

這個(gè)流程會(huì)按照狀態(tài)機(jī)當(dāng)前的狀態(tài)來(lái)執(zhí)行,會(huì)先走到inactive狀態(tài)中,執(zhí)行真正的DoConnect,并轉(zhuǎn)換狀態(tài)到Activating。

最終是通過(guò)狀態(tài)機(jī)的DoConnect來(lái)建立數(shù)據(jù)的:

\telephony\cellular_data\services\src\state_machine\ cellular_data_state_machine.cpp:

接下來(lái)就會(huì)將建立數(shù)據(jù)的請(qǐng)求發(fā)送給core,最終發(fā)送給ril_adapter,完成數(shù)據(jù)建立的流程。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2022-02-17 20:57:07

OpenHarmon操作系統(tǒng)鴻蒙

2021-11-08 15:04:47

鴻蒙HarmonyOS應(yīng)用

2022-01-06 16:17:58

鴻蒙HarmonyOS應(yīng)用

2021-09-18 14:40:37

鴻蒙HarmonyOS應(yīng)用

2021-12-17 16:42:09

鴻蒙HarmonyOS應(yīng)用

2023-04-12 15:31:11

系統(tǒng)服務(wù)管理鴻蒙

2022-01-10 15:30:11

鴻蒙HarmonyOS應(yīng)用

2021-11-18 10:28:03

鴻蒙HarmonyOS應(yīng)用

2022-05-24 15:46:51

Wi-FiSTA模式

2021-09-13 15:15:18

鴻蒙HarmonyOS應(yīng)用

2023-04-06 09:14:11

多模輸入子系統(tǒng)鴻蒙

2022-01-13 10:11:59

鴻蒙HarmonyOS應(yīng)用

2023-06-28 15:00:02

開(kāi)源鴻蒙輸入系統(tǒng)架構(gòu)

2021-09-17 14:38:58

鴻蒙HarmonyOS應(yīng)用

2022-01-20 14:33:29

openharmonwayland協(xié)議鴻蒙

2022-02-14 14:47:11

SystemUIOpenHarmon鴻蒙

2022-03-18 16:07:04

Graphic子系統(tǒng)鴻蒙

2022-05-17 10:42:36

reboot源碼解析

2021-09-16 15:08:08

鴻蒙HarmonyOS應(yīng)用

2022-06-13 14:18:39

電源管理子系統(tǒng)耗電量服務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久久久亚洲AV成人无码国产| 2019日韩中文字幕mv| 国产精品高潮呻吟久久久| 欧美黄色aaaa| 亚洲欧洲激情在线| 57pao国产成永久免费视频| 波多野结衣在线高清| 国产偷v国产偷v亚洲高清| 亚洲自拍偷拍色图| 中文字幕精品无码一区二区| 亚洲国产精品日韩专区av有中文| 精品无码久久久久久国产| 中文字幕 91| 国产在线美女| 亚洲女人****多毛耸耸8| 久久精品五月婷婷| 成人高潮片免费视频| 蜜臀久久99精品久久久画质超高清| 亚洲精品乱码久久久久久按摩观| 日韩在线视频在线| 日本视频在线免费观看| 久久免费电影网| 国产高清自拍一区| 国产欧美熟妇另类久久久| 日日夜夜精品免费视频| 久久久综合av| 99精品久久久久| 91日韩欧美| 国产一区二区激情| 欧美精品黑人猛交高潮| 99re热精品视频| 欧美一区二区不卡视频| 久久99999| 成人天堂yy6080亚洲高清 | 欧美性生交大片| 亚洲精品进入| 日韩国产在线播放| 88av在线播放| ccyy激情综合| 欧美一区二区三区精品| 一级黄色在线播放| 日韩av懂色| 欧美日韩一级二级三级| 在线免费视频a| 成人直播视频| 91福利视频网站| 无码日韩人妻精品久久蜜桃| 欧美办公室脚交xxxx| 午夜av一区二区三区| 91午夜在线观看| 国产精品69xx| 婷婷开心久久网| 黄色动漫网站入口| 亚洲美女久久精品| 91国偷自产一区二区三区成为亚洲经典 | 秋霞午夜一区二区| 久久精品国产成人av| 国产一区二区三区的电影| 97精品免费视频| 国产精品第5页| 免费一区视频| 国产精品免费网站| 97久久人国产精品婷婷 | 国产日韩视频一区| 欧美午夜寂寞| 亚洲石原莉奈一区二区在线观看| 成都免费高清电影| 久久在线视频免费观看| 久久亚洲精品毛片| 精品无码久久久久久久久| 日韩午夜激情| 国产精品91在线| 国产精品视频久久久久久| 韩国美女久久| 日本伊人色综合网| 91精品中文在线| 性欧美8khd高清极品| 成人18视频日本| 日本视频精品一区| 日本成a人片在线观看| 亚洲同性gay激情无套| 色欲色香天天天综合网www| 范冰冰一级做a爰片久久毛片| 在线观看一区日韩| 国产一级片中文字幕| 欧美精品中文字幕亚洲专区| 中文字幕欧美日韩va免费视频| 成人在线观看小视频| 99在线精品视频在线观看| 国产精品高清在线| 精品人妻少妇AV无码专区| 2021久久国产精品不只是精品| 亚洲欧美日韩在线综合| 国产色婷婷在线| 欧美性色黄大片手机版| 国产欧美视频一区| sdde在线播放一区二区| 久久99久久亚洲国产| 一级黄色在线视频| 国产福利精品一区二区| 欧美日产一区二区三区在线观看| 麻豆网站在线| 福利精品视频在线| 51自拍视频在线观看| 国产欧美日韩精品一区二区三区 | 中文字幕在线高清| 91精品国产麻豆国产自产在线 | 亚洲盗摄视频| 色综合91久久精品中文字幕| www.亚洲激情| 99在线精品视频| 91免费视频黄| 国产麻豆一区| 亚洲精品小视频| 精品99久久久久成人网站免费| 蜜臀精品一区二区三区在线观看| 国产精品一区二区三区在线| 免费av网站在线观看| 色素色在线综合| 国产精品无码永久免费不卡| 欧美.www| 91香蕉电影院| 免费a级毛片在线播放| 欧美影院一区二区| 黄瓜视频污在线观看| 亚洲一级特黄| 92看片淫黄大片欧美看国产片 | 亚洲精品一级二级三级| 欧美极品少妇全裸体| 国产一区二区在线视频观看| 中文字幕高清不卡| 91视频免费版污| 国产aⅴ精品一区二区三区久久| 亚州精品天堂中文字幕| 亚洲va欧美va| 亚洲一区二区三区四区的| 中文字幕第一页在线视频| 水蜜桃精品av一区二区| 国产精品久久久久久久一区探花| 日韩福利一区二区| 丰满岳妇乱一区二区三区| 亚洲激情 欧美| 亚洲激情女人| 久久99久久99精品蜜柚传媒| 成av人片在线观看www| 亚洲国产精品va在线| 精品无码久久久久久久久| 成人美女在线视频| 欧美啪啪免费视频| 首页亚洲中字| 日韩女优人人人人射在线视频| 天堂资源中文在线| 色播五月激情综合网| 国产免费一区二区三区网站免费| 久久欧美肥婆一二区| 清纯唯美一区二区三区| 99riav视频一区二区| 亚洲女人天堂色在线7777| 久久精品视频5| 日本一区二区三区在线观看| 国产喷水theporn| 亚洲视频电影在线| 国产精品国产精品国产专区蜜臀ah| 国产经典三级在线| 亚洲欧美日韩久久久久久| 这里只有精品999| 国产精品久久久久aaaa樱花| 在线免费黄色小视频| 精品91视频| 牛人盗摄一区二区三区视频| 日本肉肉一区| 久久91亚洲人成电影网站| 日韩中文字幕观看| 在线看日韩精品电影| 国产精品三区在线观看| 成人黄页毛片网站| 黄色一级二级三级| 亚洲色图国产| 欧美日韩精品综合| 国产精一区二区| 欧美有码在线视频| 免费av毛片在线看| 日韩av在线导航| 91欧美日韩麻豆精品| 午夜精品福利久久久| 欧美另类z0zx974| 国产成人啪午夜精品网站男同| 欧美日韩黄色一级片| 色乱码一区二区三区网站| 国产精品久久亚洲7777| 国产精品99| 久久免费精品日本久久中文字幕| 岛国在线视频免费看| 日韩精品在线一区| 国产裸体美女永久免费无遮挡| 亚洲综合自拍偷拍| 91精品国自产在线| 99久久久国产精品| 亚洲av无日韩毛片久久| 乱人伦精品视频在线观看| 粉嫩av一区二区三区天美传媒| 色88888久久久久久影院| 亚洲va欧美va国产综合久久| 欧美色999| 91极品女神在线| 中国av在线播放| 一区二区三区在线播放欧美| 色一情一乱一区二区三区| 91精品国产一区二区| 国产精品第6页| 偷窥国产亚洲免费视频| 九九视频免费观看| 国产精品久久久一本精品| 四虎永久免费影院| 成人性视频网站| 一级片免费在线观看视频| 蜜桃视频第一区免费观看| 国产xxxxx在线观看| 亚洲成人原创| 18禁裸男晨勃露j毛免费观看| 日韩欧美不卡| 少妇免费毛片久久久久久久久| 视频小说一区二区| 国内视频一区| 日本精品影院| 国产日韩亚洲精品| 亚洲超碰在线观看| 亚洲自拍欧美另类| 美女国产精品久久久| 国产在线播放91| 青青国产精品| 成人国产精品日本在线| 日本久久一区| 成人网在线免费观看| 亚洲一区有码| 91在线观看免费观看| 亚洲精品自拍| 91在线视频导航| 蜜桃精品视频| 成人av男人的天堂| 99精品在免费线中文字幕网站一区| 91久久国产精品| 免费观看性欧美大片无片| 91亚色免费| 99ri日韩精品视频| 国语精品中文字幕| 亚洲丁香日韩| 无遮挡亚洲一区| 色狮一区二区三区四区视频| 亚洲一卡二卡| 一二三区不卡| 日韩精品在线中文字幕| 一本综合精品| 激情五月亚洲色图| 美国十次了思思久久精品导航| 91欧美视频在线| 国产精品一二一区| 99精品一区二区三区无码吞精| 成人av资源站| 性欧美精品中出| 国产精品久久看| 久草视频手机在线观看| 精品久久久久久久久久ntr影视| 国产精品人人人人| 欧美日韩专区在线| www国产在线| 日韩av在线一区| 国产精品99999| 久久国产色av| 蜜桃视频在线网站| 国产精品久久久一区| 久久久精品区| 精品一区日韩成人| 99精品国产一区二区三区| 777久久精品一区二区三区无码| 禁久久精品乱码| 亚洲黄色av网址| 福利一区二区在线观看| 亚洲综合色一区| 亚洲欧美日韩国产另类专区| 日韩成人免费在线视频| 欧美日韩视频在线第一区| 亚洲AV无码精品自拍| 亚洲欧美中文在线视频| 成人影院www在线观看| 97超视频免费观看| 婷婷久久免费视频| 久久久久久高清| 亚洲h色精品| 免费国产成人av| 懂色av一区二区三区免费观看| 无码人妻精品一区二区中文| 一区二区免费在线| 中文字幕一区二区免费| 亚洲成人免费网站| 久久精品视频免费看| 欧美在线中文字幕| 日韩一区网站| 午夜一区二区三区| 亚洲一区国产| 乳色吐息在线观看| 国产精品久久毛片a| 日韩在线视频免费播放| 日韩小视频在线观看专区| 欧洲成人av| 97国产精品视频人人做人人爱| 欧美黄色a视频| 欧美成人一区二区在线| 亚洲私人影院| 亚洲成人av免费观看| 中文在线一区二区| 成人公开免费视频| 亚洲激情久久久| h片视频在线观看| 91精品啪aⅴ在线观看国产| 欧美日韩国产一区二区三区不卡| 黄色一级在线视频| 国产成人超碰人人澡人人澡| 久久噜噜色综合一区二区| 在线观看成人免费视频| 理论在线观看| 奇米四色中文综合久久| 国产精品1luya在线播放| 久久av高潮av| 国产91在线看| 五月天激情丁香| 91精品国产日韩91久久久久久| 亚洲s色大片| 国产精品欧美亚洲777777| 国产精品亚洲片在线播放| 欧美黄色免费影院| 91在线视频网址| 日韩视频在线观看一区| 日韩国产高清视频在线| 在线天堂新版最新版在线8| 精品人伦一区二区三区 | av视屏在线播放| 久久久91精品国产一区二区三区| 可以免费看的av毛片| 日韩激情第一页| 欧美电影免费观看高清完整| 久久久久资源| 久久亚洲一区| 午夜影院黄色片| 欧美精品日日鲁夜夜添| 麻豆av在线导航| 96sao精品视频在线观看| 欧美激情第二页| 亚洲成a人无码| 五月婷婷综合网| 欧美亚洲日本| 国产精品一香蕉国产线看观看 | 久久亚洲私人国产精品va| 欧美三级一区| 日本欧美黄色片| 国产亚洲欧美色| 亚洲一区二区色| 美乳少妇欧美精品| 精品综合久久88少妇激情| 精品国产免费av| 国产欧美日韩三级| 国产免费的av| 欧美精品久久久久久久| 欧美影院天天5g天天爽| 成人黄色一区二区| 中文字幕一区二区视频| www三级免费| 日本一本a高清免费不卡| 欧美日韩激情在线一区二区三区| 久久久久久久久久一区| 一级特黄大欧美久久久| wwwav网站| 国产精品成人播放| 欧美.日韩.国产.一区.二区| 一起草在线视频| 欧洲精品一区二区三区在线观看| 黄色在线免费网站| 精品免费日产一区一区三区免费| 日本亚洲最大的色成网站www| 免费看特级毛片| 亚洲精品xxxx| 成人在线观看免费播放| 国内少妇毛片视频| 国产欧美日韩综合精品一区二区| 精品久久国产视频| 欧洲日本亚洲国产区| 亚洲一区在线| 中国美女乱淫免费看视频| 欧美一级日韩一级| 久九九久频精品短视频| 国产午夜精品视频一区二区三区| 久久综合网色—综合色88| 99精品久久久久久中文字幕 | 一级欧美视频| 国产h视频在线播放| 椎名由奈av一区二区三区| 亚洲欧洲精品视频| 91在线高清视频| 日本最新不卡在线| 久热这里只有精品6|