| // |
| // 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 |