




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
粗淺的 C++Binder 服務(wù)和客戶例子只支持注冊服務(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下的一個,其他類似修改LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_SRC_FILES:=\MyBinder.cpp\main.cppLOCAL_SHARED_LIBRARIES:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大一??谱o(hù)理學(xué)基礎(chǔ)題庫及答案解析
- 1.1正數(shù)和負(fù)數(shù) 教學(xué)設(shè)計(jì) 冀教版數(shù)學(xué)七年級上冊
- 高溫作業(yè)安全管理措施
- 兒歌鋼琴簡譜教學(xué)資源合集
- 慢性病患者護(hù)理技能訓(xùn)練教材
- 2025年信息技術(shù)咨詢合同書
- 生物帶刺植物說課稿范文及教學(xué)建議
- 文言文重點(diǎn)篇章字詞句講解與翻譯
- 基于微積分基礎(chǔ)的高二數(shù)學(xué)公式定理講解課教案
- 古詩中的自然景物鑒賞教學(xué)大綱
- 數(shù)據(jù)庫應(yīng)用技術(shù)-第三次形考作業(yè)(第10章~第11章)-國開-參考資料
- 《個案工作》(第2版)筆記和課后習(xí)題詳解
- 人教版四年級上冊數(shù)學(xué)第三單元《角的度量》測試卷附答案(能力提升)
- AIGC基礎(chǔ)與應(yīng)用第6章-AIGC造就繪畫大師
- 食品有限公司化學(xué)品管理程序
- 【拆書閱讀筆記】-《復(fù)盤》
- 媒介素養(yǎng)概論 課件 第0-2章 緒論、媒介素養(yǎng)、媒介素養(yǎng)教育
- 綜合實(shí)踐活動課程的設(shè)計(jì)與實(shí)施
- 《影視鑒賞》教學(xué)課件 《影視鑒賞》第三章
- 職工三級安全教育卡模版
- 新疆民族團(tuán)結(jié)模范人物
評論
0/150
提交評論