// // Copyright 2005 The Android Open Source Project // #ifndef ANDROID_SERVICE_MANAGER_H #define ANDROID_SERVICE_MANAGER_H #include <binder/IServiceManager.h> #include <utils/KeyedVector.h> #include <utils/threads.h> namespace android { // ---------------------------------------------------------------------- class BServiceManager : public BnServiceManager { public: BServiceManager(); virtual sp<IBinder> getService( const String16& name) const; virtual sp<IBinder> checkService( const String16& name) const; virtual status_t addService( const String16& name, const sp<IBinder>& service); virtual Vector<String16> listServices(); private: mutable Mutex mLock; mutable Condition mChanged; sp<IPermissionController> mPermissionController; KeyedVector<String16, sp<IBinder> > mServices; }; // ---------------------------------------------------------------------- }; // namespace android #endif // ANDROID_SERVICE_MANAGER_H