diff options
author | Igor Murashkin <iam@google.com> | 2013-02-27 12:55:20 -0800 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2013-02-28 15:55:15 -0800 |
commit | bfc9915f482520eb9676c6d2dbf7f1ac078d937d (patch) | |
tree | 1353c3f2f63777397770edfd1f146c691e5684e2 /include/camera/ICameraService.h | |
parent | 3fa4891f54bbfdbe8ee652930d22c96639964eff (diff) | |
download | frameworks_av-bfc9915f482520eb9676c6d2dbf7f1ac078d937d.zip frameworks_av-bfc9915f482520eb9676c6d2dbf7f1ac078d937d.tar.gz frameworks_av-bfc9915f482520eb9676c6d2dbf7f1ac078d937d.tar.bz2 |
Camera: Drop ProCamera connections when a Camera connection happens
* Also adds an ICameraServiceListener with available/not available statuses
Bug: 8291653
Change-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84
Diffstat (limited to 'include/camera/ICameraService.h')
-rw-r--r-- | include/camera/ICameraService.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/camera/ICameraService.h b/include/camera/ICameraService.h index ef2b685..aaf6eb3 100644 --- a/include/camera/ICameraService.h +++ b/include/camera/ICameraService.h @@ -27,6 +27,7 @@ class ICamera; class ICameraClient; class IProCameraUser; class IProCameraCallbacks; +class ICameraServiceListener; class ICameraService : public IInterface { @@ -35,7 +36,9 @@ public: GET_NUMBER_OF_CAMERAS = IBinder::FIRST_CALL_TRANSACTION, GET_CAMERA_INFO, CONNECT, - CONNECT_PRO + CONNECT_PRO, + ADD_LISTENER, + REMOVE_LISTENER, }; enum { @@ -45,9 +48,18 @@ public: public: DECLARE_META_INTERFACE(CameraService); - virtual int32_t getNumberOfCameras() = 0; - virtual status_t getCameraInfo(int cameraId, + virtual int32_t getNumberOfCameras() = 0; + virtual status_t getCameraInfo(int cameraId, struct CameraInfo* cameraInfo) = 0; + + // Returns 'OK' if operation succeeded + // - Errors: ALREADY_EXISTS if the listener was already added + virtual status_t addListener(const sp<ICameraServiceListener>& listener) + = 0; + // Returns 'OK' if operation succeeded + // - Errors: BAD_VALUE if specified listener was not in the listener list + virtual status_t removeListener(const sp<ICameraServiceListener>& listener) + = 0; /** * clientPackageName and clientUid are used for permissions checking. if * clientUid == USE_CALLING_UID, then the calling UID is used instead. Only |