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

OHOS標(biāo)準(zhǔn)系統(tǒng)的SAMGR代碼解讀(v3.1)--2--Samgr

系統(tǒng) OpenHarmony
OHOS標(biāo)準(zhǔn)系統(tǒng)的samgr組件位于3.1分支代碼的//foundation/distributedschedule/samgr/目錄下,在最新的master分支代碼則是//foundation/systemabilitymgr/samgr/目錄下。

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

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

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

OHOS標(biāo)準(zhǔn)系統(tǒng)的samgr組件位于3.1分支代碼的//foundation/distributedschedule/samgr/目錄下,在最新的master分支代碼則是//foundation/systemabilitymgr/samgr/目錄下。

1、samgr 組件的全景圖

先看samgr組件的全景圖(附件有大圖)。

OHOS標(biāo)準(zhǔn)系統(tǒng)的SAMGR代碼解讀(v3.1)--2--samgr-開源基礎(chǔ)軟件社區(qū)

從上圖中的代碼目錄結(jié)構(gòu)和編譯腳本部分,可以看到5個編譯目標(biāo)以及它們各自編譯的代碼:

  • samgr_common:公共部分,提供SA Profile的解析工具、動態(tài)鏈接庫的加載和卸載等功能,主要用在上一篇分析的safwk的工作流程中,本文不再贅述。
  • lsamgr:local samgr的客戶端代理,主要用于按需啟動指定的SA;該功能也同時編譯進(jìn)samgr_proxy模塊中(一并在samgr_proxy中分析)。
  • samgr_proxy:samgr的客戶端代理。SA通過該代理提供的接口與samgr服務(wù)進(jìn)行交互,同時也為samgr服務(wù)向SA客戶端反饋SA的加載結(jié)果、訂閱的SA的狀態(tài)變化等功能提供Stub接口。
  • samgr_init:samgr服務(wù)自啟動的配置文件,與samgr可執(zhí)行程序配套使用。
  • samgr:samgr服務(wù)的可執(zhí)行程序?qū)嶓w,結(jié)合samgr_init的配置,在系統(tǒng)啟動的早期自動運(yùn)行,拉起samgr服務(wù)。同時也通過Proxy向SA客戶端反饋SA的加載結(jié)果、訂閱的SA的狀態(tài)變化事件等消息。

全景圖中雖然畫出了IPC相關(guān)的結(jié)構(gòu),但本文暫不深入IPC/RPC的分析,因此,下文重點(diǎn)看samgr服務(wù)的實(shí)現(xiàn)和samgr_proxy客戶端的實(shí)現(xiàn)。

2、samgr 服務(wù)的啟動流程

samgr服務(wù)在OHOS系統(tǒng)中幾乎是最早啟動的系統(tǒng)服務(wù),它在OHOS中占據(jù)了通信中樞的重要位置(可以參考我分析的samgr_lite系列文章來進(jìn)行理解)。

samgr服務(wù)的啟動流程如全景圖左下角部分所示,看起來還是比較簡單的。

在完成 SystemAbilityManager 類對象manager的創(chuàng)建和Init()之后,就生成了全景圖右下角部分所示的結(jié)構(gòu);然后通過IPCSkeleton::SetContextObject()將 manager 作為遠(yuǎn)程對象注冊到IPC模塊,為以后的IPC/RPC提供IRemoteObject;最后samgr服務(wù)的主線程進(jìn)入loop,開始為整個系統(tǒng)中的SA提供服務(wù)。

接下來的內(nèi)容,請結(jié)合samgr組件的全景圖和下面的IPC交互示意圖進(jìn)行理解。

OHOS標(biāo)準(zhǔn)系統(tǒng)的SAMGR代碼解讀(v3.1)--2--samgr-開源基礎(chǔ)軟件社區(qū)

3、samgr 服務(wù)端的類結(jié)構(gòu)

samgr 服務(wù)端主要的類結(jié)構(gòu)和繼承關(guān)系,見全景圖的右下角以ohos_executable(“samgr”)為起點(diǎn)的部分。

(1)SA死亡回調(diào)相關(guān)的成員和RPC回調(diào)相關(guān)的成員

在 SystemAbilityManager::Init() 中創(chuàng)建并初始化的與SA死亡回調(diào)相關(guān)的成員、RPC回調(diào)相關(guān)的成員,這里先放下不說,請小伙伴先自行閱讀代碼理解。

(2)SystemAbilityLoadCallbackProxy 和 SystemAbilityStatusChangeProxy

在 SystemAbilityManager 類提供的服務(wù)中,samgr會根據(jù)需要調(diào)用相關(guān)的接口向samgr_proxy發(fā)送IPC消息,以此向Proxy反饋SA的加載狀態(tài)、上線離線狀態(tài)等信息,見4.2節(jié)的簡介。

(3)SystemAbilityManagerStub 和 SystemAbilityManager

samgr服務(wù)端的主要工作在這兩個類中。

在samgr進(jìn)程啟動過程中創(chuàng)建SystemAbilityManager對象時,在SystemAbilityManagerStub的構(gòu)造函數(shù)中就會初始化一個 memberFuncMap_,將Stub要處理的消息代碼與處理函數(shù)關(guān)聯(lián)起來。

SystemAbilityManagerStub在接收到SystemAbilityManagerProxy發(fā)過來的IPC消息后,直接在memberFuncMap_中匹配消息代碼,然后轉(zhuǎn)為調(diào)用子類SystemAbilityManager的函數(shù)來做具體的服務(wù)工作,如有需要也會把處理結(jié)果返回給SystemAbilityManagerProxy。

3.1和3.2中的工作,也是由SystemAbilityManager類發(fā)起調(diào)用或者直接進(jìn)行處理的。

4、samgr_proxy的類結(jié)構(gòu)

samgr_proxy相關(guān)的類結(jié)構(gòu)和繼承關(guān)系,見全景圖的中以ohos_shared_library(“samgr_proxy”)為起點(diǎn)的部分。

(1)LocalAbilityManagerProxy

LocalAbilityManagerProxy類提供了向指定進(jìn)程發(fā)送IPC消息拉起按需啟動的SA的Proxy接口,由指定進(jìn)程中的LocalAbilityManagerStub接收消息,并執(zhí)行動態(tài)拉起SA的具體動作(如上一篇分析4.3節(jié)分析所示)。

例如,不管是同設(shè)備內(nèi)的進(jìn)程還是跨設(shè)備的進(jìn)程,在調(diào)用:

sptr<IRemoteObject> SystemAbilityManager::CheckSystemAbility(int32_t systemAbilityId, bool& isExist)

向samgr查詢SA時,samgr會先在已啟動的 abilityMap_ 中查找目標(biāo)SA,能找到,則表明SA已經(jīng)啟動了;找不到,則繼續(xù)在正在啟動的 startingAbilityMap_ 中查找目標(biāo)SA,能找到,則表明SA正在啟動中;還找不到,則會嘗試調(diào)用StartOnDemandAbility(SAID)來啟動目標(biāo)SA(即按需啟動SA)。StartOnDemandAbility(SAID)會在登記到onDemandAbilityMap_中的按需啟動的SA列表中查找匹配SAID的記錄,并通過SystemAbilityManager::StartOnDemandAbilityInner()向SAID所在進(jìn)程發(fā)送IPC消息,要求該進(jìn)程拉起對應(yīng)的SA,如下代碼片段所示:

void SystemAbilityManager::StartOnDemandAbilityInner(const std::u16string& procName, int32_t systemAbilityId,
AbilityItem& abilityItem)
{
......
//從 systemProcessMap_ 中獲取 LocalAbilityManagerProxy procObject
sptr<ILocalAbilityManager> procObject =
iface_cast<ILocalAbilityManager>(GetSystemProcess(procName));
......
//調(diào)用 LocalAbilityManagerProxy::StartAbility
//向 LocalAbilityManagerStub 發(fā)送IPC消息拉起參數(shù)指定的SA
procObject->StartAbility(systemAbilityId);
......
}

(2)SystemAbilityLoadCallbackStub 和 SystemAbilityStatusChangeStub

當(dāng)進(jìn)程A向samgr注冊SA_a時,samgr會調(diào)用:

void SystemAbilityManager::SendSystemAbilityAddedMsg(int32_t systemAbilityId, const sptr<IRemoteObject>& remoteObject)
{
......
auto notifyAddedTask = [systemAbilityId, remoteObject, this]() {
FindSystemAbilityNotify(systemAbilityId, ADD_SYSTEM_ABILITY_TRANSACTION);
NotifySystemAbilityLoaded(systemAbilityId, remoteObject);
};
bool ret = workHandler_->PostTask(notifyAddedTask);
......
}

其中的FindSystemAbilityNotify()會在 listenerMap_ 中查找監(jiān)聽SA_a狀態(tài)變化的監(jiān)聽者,并調(diào)用listener的回調(diào)函數(shù),通過SystemAbilityStatusChangeProxy向SystemAbilityStatusChangeStub發(fā)送SA_a上線或離線的消息。listener所在的進(jìn)程B、進(jìn)程C…的SystemAbilityStatusChangeStub就可以收到該消息并做針對性地處理。

其中的NotifySystemAbilityLoaded()也會通過SystemAbilityLoadCallbackProxy向SystemAbilityLoadCallbackStub 發(fā)送SA_a加載成功的IPC消息到查詢SA_a的進(jìn)程B中,這樣進(jìn)程B中的SystemAbilityLoadCallbackStub 就可以收到該消息并做針對性地處理。

(3)SystemAbilityManagerProxy和 SystemAbilityManagerClient

進(jìn)程A必須要通過代理才能與samgr進(jìn)行交互(如注冊SA、查詢SA等)。

如進(jìn)程A在啟動SA_a時,必須要先通過CheckSystemAbilityManagerReady() 確認(rèn)samgr可以訪問:

bool LocalAbilityManager::CheckSystemAbilityManagerReady()
{
......
//獲取samgr的代理:SystemAbilityManagerProxy
sptr<ISystemAbilityManager> samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
while (samgrProxy == nullptr) {
HILOGI(TAG, "waiting for SAMGR...get 'samgrProxy'...");
if (timeout > 0) {
usleep(duration);
samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
} else {
HILOGE(TAG, "waiting for SAMGR...timeout[10s]...NGNGNG");
return false;
}
timeout--;
}
......
return true;
}

即能夠成功獲取samgr的代理SystemAbilityManagerProxy,這樣SA_a才能注冊到samgr中,否則表示samgr還沒有能夠正常工作,所有的SA_x都無法注冊,所以可以說samgr進(jìn)程是最早啟動的系統(tǒng)服務(wù)進(jìn)程了。

類似的,在系統(tǒng)中各個進(jìn)程需要與samgr進(jìn)行交互的時候,都是按下面這個流程進(jìn)行的:

//先獲取samgr的代理:SystemAbilityManagerProxy
sptr<ISystemAbilityManager> samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();

//再通過該代理向samgr發(fā)送IPC消息,使用samgr提供的服務(wù)
samgrProxy->XxxYyy()

5、Proxy與Stub的IPC交互

一圖勝千言,兩圖勝兩千言。

請結(jié)合前面兩張圖自行閱讀代碼進(jìn)行理解。

文章相關(guān)附件可以點(diǎn)擊下面的原文鏈接前往下載:

https://ost.51cto.com/resource/2287。

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

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

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

責(zé)任編輯:jianghua 來源: 51CTO開源基礎(chǔ)軟件社區(qū)?
相關(guān)推薦

2022-09-08 15:27:11

OHOSSafwk組件

2022-09-27 15:57:20

OHOS代碼倉庫

2022-06-10 14:37:24

鴻蒙操作系統(tǒng)

2021-06-10 09:25:39

鴻蒙HarmonyOS應(yīng)用

2022-04-02 20:45:04

Hi3516開發(fā)板操作系統(tǒng)鴻蒙

2021-07-08 16:16:59

鴻蒙HarmonyOS應(yīng)用

2025-08-23 08:20:29

2025-08-19 21:23:45

DeepSeekAPP接口

2021-06-03 14:21:44

鴻蒙HarmonyOS應(yīng)用

2021-11-23 15:35:05

鴻蒙HarmonyOS應(yīng)用

2025-02-20 08:26:28

2021-07-05 09:35:36

鴻蒙HarmonyOS應(yīng)用

2014-06-13 19:13:50

Cocos2d-JS

2021-09-26 10:22:41

鴻蒙HarmonyOS應(yīng)用

2021-06-18 10:02:10

鴻蒙HarmonyOS應(yīng)用

2009-05-08 09:22:00

Python面向?qū)ο?/a>編譯

2021-07-07 09:45:20

鴻蒙HarmonyOS應(yīng)用

2015-04-22 09:41:45

WeX5

2022-10-12 15:14:08

開機(jī)動畫鴻蒙

2012-05-28 15:25:40

微瘋客棧
點(diǎn)贊
收藏

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

男女性高潮免费网站| 第四色婷婷基地| 日本福利片高清在线观看| 日韩精品久久久久久| 久久精品国产亚洲精品| 精品国产一二区| 欧美大片免费高清观看| 亚洲视频一区二区在线观看| 精品卡一卡二| 国产免费一区二区三区免费视频| 日韩亚洲国产欧美| 久久精品99国产精品酒店日本| 亚洲日本久久久| 国产成人精品一区二区三区免费 | 国产精品美女久久久久久不卡| 欧美午夜久久久| 在线播放 亚洲| 男同在线观看| 国产v综合v亚洲欧| 国产精品一二区| 国产 日韩 欧美 在线| 99久久99久久精品国产片果冰| 亚洲国产天堂网精品网站| 亚洲第一区第二区第三区| videos性欧美另类高清| 亚洲一区二区三区自拍| 性欧美videosex高清少妇| 日本久久一级片| 国产精品一区二区在线观看网站| 国产精品第三页| 日本视频免费在线| 亚洲自拍偷拍网| 日韩中文在线视频| 国产综合精品久久久久成人av| 欧美久久香蕉| 精品国内二区三区| 手机看片国产精品| 91成人短视频在线观看| 欧美午夜一区二区| 成人免费视频久久| 欧美国产日韩在线观看成人 | 91丨九色丨尤物| 99久re热视频这里只有精品6| 一区二区视频网站| 日韩精品免费专区| 日本久久久久久| www.国产高清| 亚洲一区欧美二区| 456亚洲影院| 久久国产黄色片| 亚洲综合精品四区| 秋霞av国产精品一区| 欧美啪啪小视频| 国产精品亚洲产品| 国产91精品久久久久久久| 日韩精品人妻中文字幕| 精品福利电影| 91精品国产91久久久久久久久| 国产第一页第二页| 99国产精品视频免费观看一公开 | 天天爽夜夜爽人人爽| 九九九精品视频| 国产一区二区区别| 精品国产乱码久久久久久老虎| 欧美性猛交乱大交| aaa国产精品| 亚洲国产另类久久精品| 少妇饥渴放荡91麻豆| 九九久久电影| 神马久久久久久| 成人免费视频网站入口::| 欧美日韩精品| 欧美壮男野外gaytube| 免费看污视频的网站| 美国av一区二区| 亚洲一区二区三区xxx视频| 乱色精品无码一区二区国产盗| 不卡欧美aaaaa| 日本黑人久久| av大大超碰在线| 亚洲国产一区二区a毛片| 免费黄色日本网站| 久久久加勒比| 欧美tickling挠脚心丨vk| 在线免费观看污视频| 精品久久久亚洲| 不卡av在线网站| 国产女同在线观看| 秋霞电影网一区二区| 成人av片网址| 男人天堂网在线| 亚洲三级在线免费| 国产超级av在线| 香蕉成人在线| 亚洲护士老师的毛茸茸最新章节| 极品人妻videosss人妻| 欧美黄色一区| 国产精品高潮视频| 性生交生活影碟片| 人妻少妇精品无码专区| 九九久久精品视频| 久久99久久99精品蜜柚传媒| av在线电影观看| 亚洲影院久久精品| 五月天婷婷激情视频| 亚洲电影一区| 在线国产精品视频| 日韩 欧美 精品| 另类小说欧美激情| 精品一区二区视频| 在线观看a级片| 欧亚洲嫩模精品一区三区| 久久久久亚洲AV成人网人人小说| 欧美熟乱15p| 91大神在线播放精品| 国产特黄一级片| 国产婷婷精品av在线| 欧美视频在线观看视频| 国产日韩在线观看视频| 国产亚洲欧美视频| 在线观看亚洲欧美| 国产成人av资源| 99热一区二区三区| 香蕉成人av| 亚洲国产欧美一区二区丝袜黑人| 国产男女猛烈无遮挡在线喷水| 久久精品综合| 国产一区二区中文字幕免费看| 国产激情在线| 欧美日本免费一区二区三区| 黑人巨大精品欧美| 在线欧美日韩| 99热在线国产| 成人影欧美片| 欧美高清一级片在线| 色婷婷国产精品免| 肉色丝袜一区二区| 欧美一区国产一区| 美女100%一区| 亚洲精品资源美女情侣酒店| 日韩精品一区二区在线播放| 国产成人免费视频一区| 亚洲国产精品女人| 精品国产三级| 欧美理论电影在线播放| aaaa一级片| 亚洲欧洲制服丝袜| 中文字幕55页| 亚洲一二三四| 午夜精品偷拍| 欧美在线中文字幕| 色网站在线免费观看| 欧美日韩亚洲成人| 9.1成人看片免费版| 西西裸体人体做爰大胆久久久| 久久精品美女| 成人免费无遮挡| 一区二区三区动漫| 伊人久久国产精品| 亚洲免费高清视频在线| 蜜桃视频无码区在线观看| 亚洲调教视频在线观看| 国产中文一区二区| 在线日韩影院| 中文字幕综合在线| 99产精品成人啪免费网站| 樱桃视频在线观看一区| 欧美熟妇精品一区二区 | 五月丁香综合缴情六月小说| 日本一区福利在线| 国产精品69精品一区二区三区| 亚洲aaa在线观看| 在线免费观看日韩欧美| 亚洲女同二女同志奶水| 国产精品系列在线观看| 女人喷潮完整视频| 大色综合视频网站在线播放| 91久久久精品| 国产精品xx| 亚洲图片欧美午夜| 中文字幕一区二区三区人妻在线视频| 91一区二区三区在线| 精品欧美一区二区三区精品久久| 日韩欧美国产亚洲| 国产午夜精品在线观看| 不卡中文字幕在线观看| 在线日本高清免费不卡| 亚洲第一在线综合在线| 亚洲午夜精品| 国产精品igao视频| 丝袜国产在线| 国产香蕉97碰碰久久人人| 国产精品久久久久久久免费| 亚洲成人av在线电影| 久久日免费视频| 菠萝蜜视频在线观看一区| 五月婷婷丁香综合网| 国产精品a级| 视频一区在线免费观看| xvideos.蜜桃一区二区| 国产日本欧美一区二区三区在线| h片在线观看| yellow中文字幕久久| 亚洲三区在线播放| 91精品国产一区二区人妖| 黑人一级大毛片| 亚洲另类中文字| 国产熟女一区二区| 成人h动漫精品一区二| 国产一伦一伦一伦| 国产精品久久久久久久免费软件 | 人禽交欧美网站| 日日摸日日碰夜夜爽无码| 99精品在线| 色婷婷精品国产一区二区三区| 女同另类激情重口| www日韩av| 激情综合婷婷| 国产乱肥老妇国产一区二| 成人福利av| 97久久精品人搡人人玩| 欧美xxxx少妇| 久久精品小视频| 国产一区精品| 亚洲男人的天堂在线| 空姐吹箫视频大全| 日韩女优毛片在线| 国产精品久久久久久69| 欧美色视频一区| 91精品国产高清一区二区三密臀| 亚洲国产精品久久久久秋霞影院| 午夜国产福利一区二区| 国产99久久久国产精品免费看| 天堂av在线8| 久久精品免费观看| 在线免费视频a| 老色鬼久久亚洲一区二区| 国产91在线免费| 亚洲国产精品一区制服丝袜| 欧美高清中文字幕| 韩国欧美一区| 日韩精品视频在线观看视频| 欧美三级午夜理伦三级中文幕| 五月天色婷婷综合| 欧美国产小视频| 中文字幕一区二区三区最新 | 亚洲一区二区三区日本久久九| 91亚洲精华国产精华| 91麻豆精品国产91久久久更新资源速度超快| 国产99久久精品一区二区| 日韩高清中文字幕一区二区| 日产精品久久久一区二区福利 | 成人av在线网址| 国产精品无码久久久久| 国产精品一区二区三区毛片淫片| 日韩亚洲国产免费| 51精品国产人成在线观看| 欧美日本三级| 国产精品v欧美精品v日韩| 99re热精品视频| 精品日韩电影| 蜜臀av免费一区二区三区| 日韩中文不卡| 亚洲成人精品| 青青草国产免费| 亚洲欧美日韩国产一区二区| 国产精品免费成人| 美女国产一区二区三区| 亚洲色图偷拍视频| 丁香亚洲综合激情啪啪综合| 亚洲中文字幕一区| ww久久中文字幕| 色欲AV无码精品一区二区久久 | 999一区二区三区| 国产精品久久国产愉拍| 国产成人精品视频ⅴa片软件竹菊| 男人的天堂久久精品| 色婷婷综合在线观看| 成人动漫视频在线| 国产jk精品白丝av在线观看| 最好看的中文字幕久久| 中日韩精品视频在线观看| 欧美在线高清视频| 草逼视频免费看| 亚洲图片欧美日产| av网站在线看| 日韩免费中文字幕| 日韩三级av高清片| 欧美精品一区二区三区久久| 外国成人免费视频| 久久综合九色综合88i| 麻豆精品蜜桃视频网站| 挪威xxxx性hd极品| 国产精品乱码一区二三区小蝌蚪| 久久久久亚洲av无码专区 | 久久av网址| 99中文字幕在线观看| 天堂午夜影视日韩欧美一区二区| 亚洲午夜精品一区| 久久久精品免费观看| 久久久久成人网站| 欧美日韩一区二区在线观看| 色窝窝无码一区二区三区成人网站| 在线a欧美视频| heyzo一区| 91超碰在线免费观看| 国产在视频线精品视频www666| 日韩一区二区久久久| 精品久久久久久久久久久久久久久久久久| 欧美视频一区二区三区| 秋霞网一区二区| 久久精品91久久香蕉加勒比| 中文字幕乱码在线播放| 91在线免费看片| 国产精品不卡| 亚洲少妇第一页| 久久影院视频免费| 日本少妇毛茸茸高潮| 日韩三级精品电影久久久| av中文字幕一区二区三区| 2021久久精品国产99国产精品| 亚洲日本va| 在线观看免费91| 免费成人在线观看| 国产精品无码一区二区三区| 午夜精品视频在线观看| 精品国产亚洲av麻豆| 久久久精品久久| 欧美成人福利| 日日噜噜噜噜夜夜爽亚洲精品| 国产一区二区三区久久久久久久久 | 日韩经典一区二区| 男人天堂av电影| 欧美视频免费在线| 色视频在线观看免费| 97免费视频在线播放| 国产精品chinese在线观看| 久久天天东北熟女毛茸茸| 国产在线播放一区三区四| 99自拍偷拍视频| 欧美群妇大交群中文字幕| 91成人高清| 成人久久18免费网站图片| 日韩在线中文| 视频免费1区二区三区| 国产精品欧美久久久久一区二区| 69xxxx国产| 亚洲最大中文字幕| 成人免费一区| 亚洲国产激情一区二区三区| 免费成人你懂的| 国产稀缺精品盗摄盗拍| 宅男在线国产精品| 1stkiss在线漫画| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 成人看av片| 成人欧美一区二区三区在线观看 | 久久久视频精品| 精品国产18久久久久久洗澡| 欧美 日韩 亚洲 一区| av电影在线观看不卡| 日韩污视频在线观看| 日韩电影在线观看中文字幕| 成人短视频app| 亚洲春色综合另类校园电影| 国产一区二区视频在线| 久久精品第一页| 日韩理论片久久| 粉嫩av一区二区三区四区五区| 日韩精品不卡| 精品一区二区三区在线观看国产| 欧美人禽zoz0强交| 亚洲第一av网| 国产精品扒开腿做爽爽爽视频软件| 偷拍视频一区二区| 国产精品一区免费视频| 日本免费观看视| 亚洲午夜av电影| 国产精品视频一区二区三区| 亚洲人成无码网站久久99热国产 | 日韩av一区二区在线播放| 精品亚洲夜色av98在线观看 | www.成人av.com| 午夜一区不卡| 国产精品精品软件男同| 亚洲成在人线av| 国产第一亚洲| 国产精品自拍合集| 久久久久久99精品| 国产成a人亚洲精v品无码| 91av在线免费观看| 首页国产精品| 青青草视频播放| 欧美顶级少妇做爰| 黑人巨大精品| 国产精品视频一二三四区| 国产欧美日韩中文久久| 超碰在线播放97| 国产精品久久久久久久久久东京 | 免费看黄色一级大片|