ServiceManager.h revision 2e37a0ca87ed1ac6c74018850aa1c29b66f6771c
1// 2// Copyright 2005 The Android Open Source Project 3// 4#ifndef ANDROID_SERVICE_MANAGER_H 5#define ANDROID_SERVICE_MANAGER_H 6 7#include <binder/IServiceManager.h> 8#include <utils/KeyedVector.h> 9#include <utils/threads.h> 10 11namespace android { 12 13// ---------------------------------------------------------------------- 14 15class BServiceManager : public BnServiceManager 16{ 17public: 18 BServiceManager(); 19 20 virtual sp<IBinder> getService( const String16& name) const; 21 virtual sp<IBinder> checkService( const String16& name) const; 22 virtual status_t addService( const String16& name, 23 const sp<IBinder>& service); 24 virtual Vector<String16> listServices(); 25 26 27private: 28 mutable Mutex mLock; 29 mutable Condition mChanged; 30 sp<IPermissionController> mPermissionController; 31 KeyedVector<String16, sp<IBinder> > mServices; 32}; 33 34// ---------------------------------------------------------------------- 35 36}; // namespace android 37 38#endif // ANDROID_SERVICE_MANAGER_H 39