版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
粗淺的 C++Binder 服務(wù)和客戶例子只支持注冊(cè)服務(wù)獲取服務(wù),很粗淺,留底備用目錄結(jié)構(gòu).├── Android.mk├── include│ └── IMyBinder.h├── lib│ ├── Android.mk│ └── IMyBinder.cpp├── server│ ├── Android.mk│ ├── main.cpp│ ├── MyBinder.cpp│ └── MyBinder.h└── test├── Android.mk└── test.cppIMyBinder.h#include<stdint.h>#include<sys/types.h>#include<utils/RefBase.h>#include<utils/Errors.h>#include<binder/IInterface.h>namespaceandroid{//----------------------------------------------------------------------------classIMyBinder:publicIInterface{public:DECLARE_META_INTERFACE(MyBinder);};//----------------------------------------------------------------------------classBnMyBinder:publicBnInterface<IMyBinder>{public:virtualstatus_t onTransact(uint32_tcode,constParcel&data,Parcel*reply,uint32_tflags=0);};//----------------------------------------------------------------------------};//namespaceandroidIMyBinder.cpp#defineLOG_TAG"MyBinder"#include<stdint.h>#include<sys/types.h>#include<binder/Parcel.h>#include"IMyBinder.h"namespaceandroid{classBpMyBinder:publicBpInterface<IMyBinder>{public:BpMyBinder(constsp<IBinder>&impl):BpInterface<IMyBinder>(impl){}};IMPLEMENT_META_INTERFACE(MyBinder,"demo.IMyBinder");status_tBnMyBinder::onTransact(uint32_tcode,constParcel&data,Parcel*reply,uint32_tflags){switch(code){default:returnBBinder::onTransact(code,data,reply,flags);}}};//namespaceandroidMyBinder.h#include<binder/BinderService.h>#include"IMyBinder.h"namespaceandroid{classMyBinder:publicBinderService<MyBinder>,publicBnMyBinder,protectedThread{public:staticcharconst*getServiceName(){return"demo.MyBinder";}MyBinder();virtual~MyBinder();virtualstatus_tonTransact(uint32_tcode,constParcel&data,Parcel*reply,uint32_tflags);virtualbool threadLoop();};};//namespaceandroidMyBinder.cpp#include"MyBinder.h"namespaceandroid{MyBinder::MyBinder()BnMyBinder(),Thread(false){}MyBinder::~MyBinder(){}status_tMyBinder::onTransact(uint32_tcode,constParcel&data,Parcel*reply,uint32_tflags){switch(code){default:returnBBinder::onTransact(code,data,reply,flags);}returnNO_ERROR;}boolMyBinder::threadLoop(){returntrue;}};//namespaceandroidmain.cpp#include<binder/BinderService.h>#include"MyBinder.h"usingnamespaceandroid;intmain(intargc,char**argv){MyBinder::publishAndJoinThreadPool();return0;}test.cpp#include<utils/RefBase.h>#include<utils/Log.h>#include<binder/IServiceManager.h>#include"IMyBinder.h"usingnamespaceandroid;sp<IMyBinder>gMyBinder;constsp<IMyBinder>&getMyBinderService(){sp<IServiceManager>sm=defaultServiceManager();sp<IBinder>binder;do{binder=sm->getService(String16("demo.MyBinder"));if(binder!=0)break;LOGW("Servicenotpublished,waiting...");usleep(500000);//0.5s}while(true);/*if(mDeathNotifier==NULL){mDeathNotifier=newDeathNotifier();}binder->linkToDeath(mDeathNotifier);*/gMyBinder=interface_cast<IMyBinder>(binder);LOGE_IF(gMyBinder==0,"noService!?");returngMyBinder;}intmain(){getMyBinderService();printf("getinstance%p\n",gMyBinder.get());return0;}Android.mk 貼server下的一個(gè),其他類似修改LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_SRC_FILES:=\MyBinder.cpp\main.cppLOCAL_SHARED_LIBRARIES:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年智能硬件設(shè)備及配套軟件研發(fā)與銷售合同
- 2024年版道路運(yùn)輸司機(jī)合同2篇
- 2021-2022學(xué)年甘肅省白銀市部分學(xué)校高一上學(xué)期第二次聯(lián)考語(yǔ)文試題(解析版)
- 2025造價(jià)工程師經(jīng)驗(yàn)對(duì)建設(shè)工程合同的審查意義備考資料
- 2025年陽(yáng)泉貨運(yùn)準(zhǔn)駕證模擬考試
- 2024年房地產(chǎn)項(xiàng)目施工監(jiān)理合同范本集錦3篇
- 2024年度高級(jí)實(shí)習(xí)生個(gè)人隱私及商業(yè)秘密保護(hù)協(xié)議3篇
- 洛陽(yáng)科技職業(yè)學(xué)院《經(jīng)濟(jì)數(shù)學(xué)(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 高端制造企業(yè)總經(jīng)理聘任合同
- 2024年度船舶買賣居間代理合同實(shí)施細(xì)則下載3篇
- 中軟統(tǒng)一終端安全管理平臺(tái)v90使用手冊(cè)
- 護(hù)理質(zhì)量管理PPT通用課件
- 氨水崗位應(yīng)知應(yīng)會(huì)手冊(cè).docx
- AQ-C1-19 安全教育記錄表(三級(jí))
- 廣東飼料項(xiàng)目建議書(參考范文)
- 鋁單板、玻璃幕墻建筑施工完整方案
- 六年級(jí)數(shù)學(xué)簡(jiǎn)便計(jì)算易錯(cuò)題
- 工程造價(jià)咨詢公司質(zhì)量控制制度
- 《常用醫(yī)學(xué)檢查》PPT課件.ppt
- 《發(fā)展經(jīng)濟(jì)學(xué)派》PPT課件.ppt
- 雙層罐技術(shù)要求內(nèi)容
評(píng)論
0/150
提交評(píng)論