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

Openharmony撥打電話全流程介紹

系統 OpenHarmony
今天從上到下分析下代碼調用流程,以撥打電話為例介紹鴻蒙電話子系統的各個部分。電話服務子系統的在/base/telephony目錄下,大概有700多個文件,11萬多行代碼。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

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

1、背景介紹

3.1版本標準系統增加了通話相關的聯系人應用,來電應用等,在系統服務層面電話相關功能也比較完善,相關modem模塊目前從代碼中看到有美格智能的slm790和紫光展銳的模塊,之前介紹過??鴻蒙電話服務子系統功能劃分介紹??,只是對官方文檔的介紹,可以通過這個文檔先去了解一下各個功能模塊。今天從上到下分析下代碼調用流程,以撥打電話為例介紹鴻蒙電話子系統的各個部分。電話服務子系統的在/base/telephony目錄下,大概有700多個文件,11萬多行代碼。

2、應用層js代碼介紹

應用層撥打電話的應用是聯系人,聯系人應用的通話記錄,聯系人查看,撥號盤和收藏都有對撥電話的調用。

最終調用的是app.js中的call函數,此函數調用的是@ohos.telephony.call中的dial方法。

應用層只是調用電話框架層的api,這個api就是@ohos.telephony.call提供的。

3、撥打電話NAPI實現介紹

應用層調用的是js函數,而電話服務層是c語言實現的,二者之間的橋梁就是通過NAPI實現的,有關NAPI介紹請參照這幾篇文章源碼解析之JavaScript API框架(NAPI)。簡單來說js的函數在c層都有對應的實現,它們之間是一一對應的關系,比如js的dial對應的是c++的DialCall,相關代碼如下,這部分代碼在通話管理模塊。

NapiCallManager::DialCall函數中調用的函數是。

HandleAsyncWork(env, asyncContext, “DialCall”, NativeDialCall, NativeDialCallBack)。

之后跳轉到了CallManagerClient中的DialCall,然后是CallManagerProxy::DialCall,如下:

4、如何從CallManagerServiceProxy到CallManagerServiceStub

到CallManagerProxy::DialCall中后代碼突然不清晰了,callManagerServicePtr_是什么,它的DialCall在哪里,順藤摸瓜,它的位置如下:

SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager()和managerPtr->GetSystemAbility(systemAbilityId_)是理解下一步調用位置的關鍵。

這里涉及到了另外一個知識點,就是進程通信,這里使用了ipc機制,可以查看官方文檔的介紹。

在目錄foundation/comminucotion下的ipc下有readme文檔,貼一張原圖:

大體意思是proxy通過samgr也就是SystemAbilityManager,去調用跨進程的Stub中的函數,代碼層面可以通過systemAbilityId_和接口類去定位函數調用的對應關系,這里的abilityid是TELEPHONY_CALL_MANAGER_SYS_ABILITY_ID,接口類是ICallManagerService,通過查找定位到了CallManagerServiceProxy和CallManagerServiceStub。

函數調用就是從CallManagerServiceProxy::DialCall過渡到了CallManagerServiceStub::OnDialCall。

5、從CallControlManager::DialCall到 蜂窩通話(cellular_call)模塊

CallManagerServiceStub::OnDialCall中調用到了CallControlManager::DialCall,然后又走到了。

CallRequestHandlerService::DialCall(),這里調用了一個發送事件函數,這是一種線程異步處理機智可以看這篇文章,只要有發就有收,我們找到收事件的地方。

對應關系在如下位置,由此找到了函數CallRequestHandler::DialCallEvent。

CallRequestHandler::DialCallEvent中有針對類型的判斷:

我們走CallRequestProcess::DialRequest分支,然后走到了CellularCallIpcInterfaceProxy::Dial。

在這里我們又遇到了ipc,同樣的方法此時id是TELEPHONY_CELLULAR_CALL_SYS_ABILITY_ID。

找到stub函數位置是CellularCallStub::Dial,此時已經到了蜂窩通話模塊目錄。

6、從蜂窩通話(cellular_call)到 核心服務(core_service)

CellularCallStub::Dial直接調用的是CSControl::Dial。

在這里又出現了類型判斷,判斷手機網絡制式是gsm還是cdma,了解通信行業的都知道gsm和cdma是2G時代的兩種制式標準,一個是歐洲主導的,一個是高通主導的,扯得有點遠,繼續看代碼。

二者最終調用的是CSControl::EncapsulateDialCommon,然后CellularCallConnectionCS::DialRequest。

然后進入到了核心服務模塊。

然后是TelRilManager::Dial和TelRilCall::Dial。

7、從核心服務(core_service)到 RIL適配層(RIL Adapter)

TelRilCall::Dial中調用了TelRilBase基類的SendBufferEvent(HREQ_CALL_DIAL, wData)函數代碼如下:

cellularRadio_這個成員的初始化實在TelRilManager中。

這又涉及到了另外一個知識點驅動相關看這篇OpenHarmony HDF HDI基礎能力分析與使用,對modem的操作在RIL適配層被當做了驅動服務來使用的,SendRequest就是對驅動的異步調用,在驅動中的函數RilAdapterDispatch負責對SendRequest的接收處理。

而這個處理函數是驅動加載時運行起來的。

RilAdapterDispatch中的函數DispatchRequest位于HRilManager中,然后調用DispatchModule。

繼續調用HRilManager::Dispatch,進入HRilCall中的ProcessCallRequest,然后根據HREQ_CALL_DIAL在函數指針數組reqMemberFuncMap_找到了處理函數HRilCall::Dial,然后處理邏輯變到了callFuncs_->Dial中。

8、RIL適配層(RIL Adapter)中的處理流程

要知道callFuncs_->Dial的最終位置,就要查找callFuncs_的賦值流程, HRilCall::RegisterCallFuncs上層調用是

HRilManager::RegisterCallFuncs再上層是HRilRegOps。

HRilRegOps在LoadVendor中調用,這又涉及到了modem的加載機制,具體廠商modem處理的部分是通過so加載的方式引入的。

通過打開so文件并建立函數的對應關系,最終調用的at命令的具體實現部分。

so的代碼目錄在vendor目錄下,通過成員為函數指針的結構體建立關聯性。

也就是callFuncs_->Dial在so中的處理函數是ReqDial,在這里邊組裝了具體的at命令 ,撥打電話的命令是ATD,GenerateCommand(cmd, MAX_CMD_LENGTH, “ATD%s%s;”, pDial->address, clir)。

最終通過WriteATCommand函數寫入到了at命令的通道,通道就是具體的modem模塊與主處理器的硬件連接了。

也就是當前代碼中的usb通道。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

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

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2014-08-27 15:58:40

iPhone安全漏洞iPhone安全

2023-04-26 15:29:35

NAPI模塊鴻蒙

2022-02-21 14:49:26

OpenHarmon操作系統鴻蒙

2014-07-10 15:51:53

2022-04-15 14:03:09

5G語音通話通信

2021-12-14 10:38:51

谷歌Pilex手機Reddit

2014-11-14 09:50:39

微信電話本VoLTE

2014-06-03 10:39:14

WWDC2014iOS 8Mac

2019-12-17 12:01:00

戴爾

2015-03-24 21:08:01

2021-12-26 00:20:13

網協議語音VoIP

2010-01-28 15:26:33

Android調用平臺

2010-01-27 09:43:32

Chrome瀏覽器

2020-09-24 14:16:39

密碼

2023-09-06 15:31:19

GPIO鴻蒙

2023-09-19 15:14:59

鴻蒙Watchdog

2023-09-19 15:21:33

RTC鴻蒙

2023-09-06 15:27:22

ADC鴻蒙

2013-09-22 11:22:09

2009-03-24 08:33:14

AndroidGoogle移動os
點贊
收藏

51CTO技術棧公眾號

91免费看网站| 欧美成年人视频网站| 97视频在线免费播放| 国产露出视频在线观看| 国产一区二区三区四区五区美女| 欧美黑人国产人伦爽爽爽| 亚洲国产果冻传媒av在线观看| www.久久| 午夜精品免费在线观看| 亚洲人成77777| 日本精品久久久久久| 免费观看日韩电影| 韩国福利视频一区| 久久久精品少妇| 日本韩国欧美超级黄在线观看| 欧美日韩视频在线一区二区| 欧美视频在线观看网站 | 中文字幕日韩精品在线观看| 激情小说欧美色图| 国产精品久久久久久吹潮| 亚洲成人在线观看视频| 在线视频欧美一区| 韩国三级av在线免费观看| 国产成人丝袜美腿| 成人免费直播live| 欧美另类高清videos的特点| 亚洲第一在线| 欧美风情在线观看| 糖心vlog免费在线观看| 国产成人影院| 日韩精品视频在线观看免费| 中文字幕在线观看视频www| 成人免费黄色| 欧美在线观看视频一区二区三区| 极品美女扒开粉嫩小泬| 黄色在线看片| 一区二区三区在线视频播放| 亚洲欧美国产一区二区| 国产高清自拍视频在线观看| 久久精品这里都是精品| 欧美成人蜜桃| 欧美成人片在线| 99精品久久久久久| 国产亚洲精品久久飘花| 性猛交富婆╳xxx乱大交天津 | 五月天久久比比资源色| a级片一区二区| 国产日产一区二区| 亚洲你懂的在线视频| 一区二区精品在线| 麻豆网站在线看| 国产精品免费久久久久| 宅男在线精品国产免费观看| 欧美成人精品一区二区男人看| 国产精品素人视频| 在线视频不卡一区二区三区| 黄色片网站在线观看| 综合自拍亚洲综合图不卡区| 中文字幕一区二区三区乱码| 麻豆电影在线播放| 亚洲精品免费一二三区| 日韩一级特黄毛片| 国产极品人妖在线观看| 午夜亚洲国产au精品一区二区| 欧美激情视频免费看| 欧美办公室脚交xxxx| 色综合天天在线| 超碰在线97免费| 国内精品伊人| 日韩免费高清av| 国产精品成人无码专区| 亚洲涩涩av| 尤物yw午夜国产精品视频| 亚洲女人毛茸茸高潮| 99久久久久国产精品| 日韩少妇与小伙激情| 无码人妻精品一区二区三区夜夜嗨| 日韩在线中文| 欧美www在线| 精品亚洲永久免费| 在线一区免费观看| 国产精品成人av在线| 中文字幕丰满人伦在线| 久久福利视频一区二区| 鬼打鬼之黄金道士1992林正英| 天堂中文资源在线观看| 国产精品视频看| 亚洲 自拍 另类小说综合图区| a国产在线视频| 日本高清免费不卡视频| 中文字幕亚洲欧洲| 99亚洲乱人伦aⅴ精品| 日韩精品视频在线免费观看| 嘿嘿视频在线观看| 黄色成人91| 国产精品v片在线观看不卡| 亚洲一区二区激情| 不卡一卡二卡三乱码免费网站| 欧美大香线蕉线伊人久久| 午夜在线播放| 欧美午夜精品在线| 在线免费看污网站| 青青视频一区二区| 日韩日本欧美亚洲| 西西44rtwww国产精品| 麻豆91在线播放免费| 国产欧美一区二区三区另类精品 | www.欧美三级电影.com| 日本污视频在线观看| 免费的国产精品| 国产伦精品一区二区三区高清| 成年人在线看| 精品久久久久久中文字幕一区奶水 | 亚洲欧美日韩精品一区二区| 91丨九色丨国产| av影片免费在线观看| 亚洲成a人片综合在线| 五月天激情播播| 欧美女优在线视频| 性色av一区二区三区在线观看| 国产男女裸体做爰爽爽| 国产三级精品视频| 国产极品尤物在线| 五月亚洲婷婷| 久久久国产在线视频| 自拍偷拍校园春色| 国产v日产∨综合v精品视频| 一区二区三区在线观看www| 先锋欧美三级| 亚洲精品美女在线| 豆国产97在线 | 亚洲| 精品亚洲成a人| 亚洲成色最大综合在线| 久久sese| 日韩av影视在线| 精品无码黑人又粗又大又长| 九一九一国产精品| 手机成人在线| 日韩精品99| 亚洲精品国产电影| 日本五十路女优| 成人黄色在线看| 日韩精品在线观看av| 日韩欧美高清一区二区三区| 理论片在线不卡免费观看| 亚洲熟妇av乱码在线观看| 国产色产综合色产在线视频| 虎白女粉嫩尤物福利视频| 国内精品麻豆美女在线播放视频| 色与欲影视天天看综合网| 国产人妖在线播放| 亚洲欧美日韩一区二区三区在线观看| 91极品视频在线观看| 成人免费在线播放| 国产精品中文字幕在线| 秋霞a级毛片在线看| 欧美精品自拍偷拍| 精品国产欧美日韩不卡在线观看| 久久99久久久欧美国产| 在线丝袜欧美日韩制服| 97精品资源在线观看| 久久精品国产综合| 国产极品久久久| 一区二区三区在线视频免费观看| 色婷婷狠狠18禁久久| 欧美黄色aaaa| 国产欧美综合精品一区二区| 欲香欲色天天天综合和网| 亚洲美女激情视频| 中国一级特黄视频| 亚洲精品第1页| 久久人人爽人人人人片| 亚洲欧洲日本一区二区三区| 日本不卡在线播放| 欧美成人福利| 国精产品一区一区三区有限在线| 日本成人一区二区三区| 欧美三级乱人伦电影| 成熟的女同志hd| 成人福利电影精品一区二区在线观看 | 国产一区二区三区四区五区六区| 蜜臀国产一区二区三区在线播放| 麻豆映画在线观看| 亚洲系列另类av| 国产日韩精品入口| mm视频在线视频| 中文字幕亚洲综合| 好吊色在线观看| 欧美日韩视频不卡| 国产无遮挡又黄又爽| 国产精品五月天| 亚洲美女在线播放| 蜜桃一区二区三区在线观看| 日韩成人手机在线| 欧州一区二区| 国产一区二区三区无遮挡| 亚洲精品555| 97国产suv精品一区二区62| www.久久热.com| 精品国产sm最大网站免费看 | 日韩午夜小视频| 国产精品免费无遮挡无码永久视频| 亚洲精品视频在线观看网站| 色欲av无码一区二区三区| 国产精品一区二区无线| 能看的毛片网站| 精品动漫av| 在线一区日本视频| 国产日韩视频在线| 激情视频一区二区| 国产美女亚洲精品7777| 国产精品美女午夜av| 亚洲少妇视频| 欧美极品少妇xxxxx| 高潮毛片在线观看| 国产午夜精品全部视频播放| 天天爽夜夜爽夜夜爽| 欧美一区二区三区视频在线观看 | 日韩精品一区在线观看| 一级片在线观看视频| 日韩欧美精品网站| a级片在线观看免费| 国产精品丝袜一区| 无码熟妇人妻av| 99热国产精品| 国产国语老龄妇女a片| 国产一区二区久久| 超碰人人草人人| 久久精品国产在热久久| 91制片厂毛片| 免费观看在线综合| 一区二区三区 日韩| 日韩电影在线免费观看| 一本大道熟女人妻中文字幕在线| 亚洲电影av| 精品视频免费在线播放| 激情综合在线| 男人插女人视频在线观看| 欧美日韩影院| 日本a级片在线观看| 影音先锋日韩在线| 中国女人做爰视频| 欧美激情视频一区二区三区在线播放 | 亚洲va欧美va国产va天堂影院| 免费在线观看日韩| 一区二区三区日韩欧美| 妺妺窝人体色www聚色窝仙踪| 亚洲精品ww久久久久久p站| 五月天丁香激情| 亚洲福利视频一区二区| 日韩av女优在线观看| 精品久久久久久久中文字幕 | 国产wwwwxxxx| 亚洲欧美综合色| 国产a免费视频| 午夜av一区二区三区| 99热只有这里有精品| 日韩欧美中文在线| 中文字幕男人天堂| 欧美一区二区视频在线观看2022 | 国产午夜精品全部视频播放| www.成人.com| 久久大大胆人体| 超碰在线网站| 日本一欧美一欧美一亚洲视频| 日韩国产网站| 成人啪啪免费看| 久久资源综合| 日韩欧美亚洲区| 自拍偷拍欧美| 黄色动漫在线免费看| 青青草国产精品97视觉盛宴| 中文字幕一区二区三区四| av在线一区二区| 中文字幕第20页| 亚洲欧美日韩成人高清在线一区| 日本少妇性高潮| 欧美日韩一区二区三区不卡| 亚洲伦理在线观看| 亚洲欧美综合区自拍另类| 最新国产在线观看| 高清视频欧美一级| 欧美色片在线观看| 国产成人精品自拍| 日韩理论电影大全| 成人在线国产视频| 青青草精品视频| 亚洲精品乱码久久久久久蜜桃图片| 久久青草欧美一区二区三区| 爱爱视频免费在线观看| 欧美日韩精品国产| 国产精品无码在线播放| 精品视频中文字幕| 伊人春色在线观看| 国产精品久久久久aaaa九色| 911亚洲精品| 在线观看一区欧美| 久久人人精品| 亚洲午夜久久久久久久久| 欧美国产国产综合| 日本三级小视频| 日韩亚洲欧美成人一区| 国产大片在线免费观看| 97在线视频一区| 欧美一区一区| 亚洲五月六月| 麻豆精品网站| 毛茸茸free性熟hd| 亚洲日本电影在线| 涩涩视频在线观看| 精品亚洲一区二区| 男男gaygays亚洲| 成人在线精品视频| 欧美色女视频| 国产日韩一区二区在线观看| 丁香婷婷综合激情五月色| 亚洲波多野结衣| 欧美日韩一区二区三区四区五区 | 亚洲美女屁股眼交3| 国产一区免费看| 日韩精品在线免费观看视频| 福利成人导航| 国产精品sss| 欧美~级网站不卡| 天天干天天色天天干| 欧美激情一区二区三区全黄| 中文字幕在线看人| 亚洲乱码国产乱码精品精天堂| 国产精品69xx| 国产伦精品一区二区三区照片| 综合激情婷婷| 久久aaaa片一区二区| 亚洲欧洲av另类| 97免费观看视频| www高清在线视频日韩欧美| 国产成人精品一区二区三区视频| 欧洲亚洲一区二区| 蜜桃av一区| 91视频在线网站| 色94色欧美sute亚洲线路一ni| 日本福利片在线| 国产成人精品一区二区在线| 免费成人结看片| 欧美日韩在线成人| 国产喷白浆一区二区三区| 蜜臀尤物一区二区三区直播| 国产小视频国产精品| av成人在线看| 在线观看视频黄色| 国产精品一二三四五| 99成人在线观看| 日韩视频一区二区三区在线播放 | 亚洲国产综合91精品麻豆| 亚洲av永久纯肉无码精品动漫| 欧美激情a∨在线视频播放| 综合成人在线| 又粗又黑又大的吊av| 久久久精品天堂| 中文字幕欧美人妻精品| 久久天天躁夜夜躁狠狠躁2022| 日韩欧美中文字幕在线视频| 国产一二三在线视频| 久久综合色之久久综合| 国产精品久久久久久久久夜色| 日韩三级影视基地| 北条麻妃一区二区三区在线观看| 免费在线观看亚洲视频| 久久精品在线观看| 国产乱人乱偷精品视频| 欧美激情在线狂野欧美精品| 亚洲精品一级二级三级| 亚洲精品自拍网| 一区二区三区视频在线看| 头脑特工队2在线播放| 国产精品草莓在线免费观看| 一区二区日韩欧美| 亚洲第一黄色网址| 欧美日韩国产在线播放网站| 羞羞的视频在线观看| 精品无码久久久久久久动漫| 免费成人美女在线观看.| 欧美人与禽zozzo禽性配| 亚洲女人天堂av| 深夜福利一区| 麻豆av免费在线| 亚洲精品国产视频| 国产小视频在线| 91青青草免费观看| 久久久久中文| 欧美色图一区二区| 亚洲四色影视在线观看| 色妞ww精品视频7777| 簧片在线免费看| 亚洲1区2区3区视频| 1769视频在线播放免费观看| 国产一区免费| 国产伦精品一区二区三区免费迷| 中文字幕亚洲乱码熟女1区2区| 久久久国产精品x99av| 精品日本12videosex|