summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/CameraService.h
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2014-07-23 17:17:59 -0700
committerEino-Ville Talvala <etalvala@google.com>2014-07-28 20:20:36 +0000
commitf67e23ef637d0b53a0d4bebb68c654234df3da94 (patch)
tree3b61f96b8fa4a85b3a1780e03985d15e8e2e3d5c /services/camera/libcameraservice/CameraService.h
parentef9c5ade2308f9eb6f222db3c4796e196f0ab76c (diff)
downloadframeworks_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.h13
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,