diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2014-07-23 17:17:59 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2014-07-28 20:20:36 +0000 |
commit | f67e23ef637d0b53a0d4bebb68c654234df3da94 (patch) | |
tree | 3b61f96b8fa4a85b3a1780e03985d15e8e2e3d5c /services/camera/libcameraservice/CameraService.h | |
parent | ef9c5ade2308f9eb6f222db3c4796e196f0ab76c (diff) | |
download | frameworks_av-f67e23ef637d0b53a0d4bebb68c654234df3da94.zip frameworks_av-f67e23ef637d0b53a0d4bebb68c654234df3da94.tar.gz frameworks_av-f67e23ef637d0b53a0d4bebb68c654234df3da94.tar.bz2 |
CameraService: Clean up availability listeners and HAL error codes
- Refactor where availability listeners are called to centralize behavior,
ensuring that all client creation/destruction invokes the listeners
- Clean up some of the client hierarchy
- Filter error codes from key HAL calls to ensure proper reporting
Bug: 16514157
Bug: 16483222
Change-Id: I59875a865b6a508b47423946c78862da8df34cd1
Diffstat (limited to 'services/camera/libcameraservice/CameraService.h')
-rw-r--r-- | services/camera/libcameraservice/CameraService.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h index 28590eb..cb98c96 100644 --- a/services/camera/libcameraservice/CameraService.h +++ b/services/camera/libcameraservice/CameraService.h @@ -138,6 +138,10 @@ public: // CameraDeviceFactory functionality int getDeviceVersion(int cameraId, int* facing = NULL); + ///////////////////////////////////////////////////////////////////// + // Shared utilities + static status_t filterOpenErrorCode(status_t err); + static status_t filterGetInfoErrorCode(status_t err); ///////////////////////////////////////////////////////////////////// // CameraClient functionality @@ -149,20 +153,19 @@ public: class BasicClient : public virtual RefBase { public: - virtual status_t initialize(camera_module_t *module) = 0; - - virtual void disconnect() = 0; + virtual status_t initialize(camera_module_t *module) = 0; + virtual void disconnect(); // because we can't virtually inherit IInterface, which breaks // virtual inheritance virtual sp<IBinder> asBinderWrapper() = 0; // Return the remote callback binder object (e.g. IProCameraCallbacks) - sp<IBinder> getRemote() { + sp<IBinder> getRemote() { return mRemoteBinder; } - virtual status_t dump(int fd, const Vector<String16>& args) = 0; + virtual status_t dump(int fd, const Vector<String16>& args) = 0; protected: BasicClient(const sp<CameraService>& cameraService, |