From 0f61d8f14aa368c9cd7076528e8096e10ed100a0 Mon Sep 17 00:00:00 2001 From: Ruben Brunk Date: Thu, 8 Aug 2013 13:07:18 -0700 Subject: Refactor CameraService to handle errors properly. Bug: 10361136 -Connect calls now return status_t error flags. Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95 --- services/camera/libcameraservice/CameraService.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'services/camera/libcameraservice/CameraService.h') diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h index 980eb97..3921cbd 100644 --- a/services/camera/libcameraservice/CameraService.h +++ b/services/camera/libcameraservice/CameraService.h @@ -72,15 +72,23 @@ public: virtual status_t getCameraInfo(int cameraId, struct CameraInfo* cameraInfo); - virtual sp connect(const sp& cameraClient, int cameraId, - const String16& clientPackageName, int clientUid); - virtual sp connect(const sp& cameraCb, - int cameraId, const String16& clientPackageName, int clientUid); - virtual sp connect( + virtual status_t connect(const sp& cameraClient, int cameraId, + const String16& clientPackageName, int clientUid, + /*out*/ + sp& device); + + virtual status_t connectPro(const sp& cameraCb, + int cameraId, const String16& clientPackageName, int clientUid, + /*out*/ + sp& device); + + virtual status_t connectDevice( const sp& cameraCb, int cameraId, const String16& clientPackageName, - int clientUid); + int clientUid, + /*out*/ + sp& device); virtual status_t addListener(const sp& listener); virtual status_t removeListener( @@ -308,7 +316,7 @@ private: virtual void onFirstRef(); // Step 1. Check if we can connect, before we acquire the service lock. - bool validateConnect(int cameraId, + status_t validateConnect(int cameraId, /*inout*/ int& clientUid) const; @@ -320,7 +328,7 @@ private: sp &client); // When connection is successful, initialize client and track its death - bool connectFinishUnsafe(const sp& client, + status_t connectFinishUnsafe(const sp& client, const sp& remoteCallback); virtual sp getClientByRemote(const wp& cameraClient); -- cgit v1.1